Skip to main content
v1.16.0
Property bulk exports no longer require a geographic filter.
  • Search Properties (POST /geo_boundaries/properties) can retrieve properties across all available areas
  • geo_boundary_ids and geometry remain available as optional filters
  • Bulk export quota limits continue to apply to returned unique properties
v1.15.0
Added four all-in pricing metrics — All In Rent, All In Rent/ft, All In NER, and All In NER/ft (base rent or NER plus recurring monthly fees; per-square-foot variants divide by square footage) — across the market survey and bulk data export endpoints.
  • Market Survey table (GET /comp_sets/{comp_set_id}/market_survey): total_monthly_leasing_price_breakdown, total_monthly_leasing_price_psf, all_in_net_effective_rent_breakdown, all_in_net_effective_rent_psf (also available as by_unit_type_* and by_bed_bath_* variants)
  • Units (GET /comp_sets/{comp_set_id}/units): all_in_rent, all_in_rent_per_sq_ft, all_in_ner, all_in_ner_per_sq_ft
  • Floor Plans (GET /comp_sets/{comp_set_id}/floor_plans): all_in_rent, all_in_rent_per_sqft, all_in_ner, all_in_ner_per_sqft
  • Bulk Data Export (report_type property, units, floorplans): all_in_rent, all_in_rent_psf, all_in_ner, all_in_ner_psf
v1.14.0
Updated the API documentation to match current rate limit, error, and bulk property details behavior.
  • Documented rate limit response headers and retry guidance without publishing fixed limits
  • Added the Property Lookup access requirement note
  • Updated Bulk Property Details and Search Properties access and quota notes
  • Clarified JSON, plain text, and empty-body error responses
v1.13.0
The Property Lookup (GET /properties/lookup) endpoint now supports filtering by property URL.
  • Added property_url query parameter (partial match supported)
v1.12.0
The Compare Markets (POST /explore_markets) response no longer includes absorption_rate_avg_t30.
v1.9.0, v1.11.0
Updated authentication docs and OpenAPI schema to accurately reflect the OAuth token flow.
  • Removed incorrect JWT references from the auth page and OpenAPI security scheme
  • Fixed token response example to match the actual API response (opaque token, correct casing, added scope and created_at fields)
  • Documented application/json as an alternative content type for the token endpoint
  • Simplified the OpenAPI security configuration to a single oauth2 scheme
  • Updated Try It panel description to match the bearer token input UX
New endpoint for listing the ApartmentIQ accounts accessible to the authenticated user. Use the returned account IDs as the account_id parameter when calling other endpoints.
  • Accounts
    • List Accounts: GET /accounts - Retrieve a paginated list of accounts with their ID and name
    • Supports pagination via page and per_page query parameters (default 50 per page, max 100)
v1.10.0
The Geo Boundary Forecasts (POST /geo_boundary/{geo_boundary_id}/forecasts) and Property Forecasts (POST /properties/{property_id}/forecasts) endpoints now support use_rent_value.
  • Set use_rent_value: true to return rent-growth aggregations as seasonally adjusted forecasted rent values in dollars
  • Aggregation keys stay the same as the name values you provide in the request
  • Non-rent-growth aggregations, such as occupancy, absorption, and deliveries, are unchanged
v1.8.0
New endpoint for retrieving market narratives for geographic boundaries. Narratives provide structured analysis across six key areas: market overview, rent performance, occupancy and demand, construction pipeline, sales transactions, and demographics.
  • Markets
    • Market Narratives: GET /markets/narratives - Retrieve the most recent narrative for a geo boundary
  • Narratives are only available for MSA and Submarket geo boundary types
  • The sales section is truncated for accounts without Explore Pro+ access
  • Requires Explore access
v1.7.0
The Search Properties (POST /geo_boundaries/properties) and Bulk Property Details (GET /properties/bulk_details) endpoints now include market_name and submarket_name in each property’s attributes, so you no longer need a separate call to the Search Geo Boundaries endpoint to resolve boundary names.
  • Added: market_name - Display name of the market-level geographic boundary (MSA) the property belongs to
  • Added: submarket_name - Display name of the submarket-level geographic boundary the property belongs to
v1.6.0
New endpoints for retrieving modeled future time-series forecast data, powered by ApartmentIQ’s proprietary forecasting models. Requires Explore Pro access.
  • Forecasts
    • Geo Boundary Forecasts: POST /geo_boundary/{geo_boundary_id}/forecasts - Retrieve forecast time-series data for a geographic boundary (MSA, submarket, etc.)
    • Property Forecasts: POST /properties/{property_id}/forecasts - Retrieve forecast time-series data for a specific property
  • Configurable aggregations: avg, median, sum, max, min
  • Time intervals: month, quarter, or year
  • Forecast window: current month through 5 years out
  • Includes confidence bounds (downside/upside variants) for all forecast metrics
v1.5.0
New filter parameters to search and filter properties by loan maturity date and sales transaction data. Available on the Search Properties and Property Lookup endpoints.
  • Added loan_maturity_date_gte and loan_maturity_date_lte filter parameters
  • Added transaction_cap_rate_gte and transaction_cap_rate_lte filter parameters
  • Added transaction_date_closed_gte and transaction_date_closed_lte filter parameters
  • Added transaction_price_per_unit_gte and transaction_price_per_unit_lte filter parameters
v1.4.0
The Search Properties (POST /geo_boundaries/properties) and Bulk Property Details (GET /properties/bulk_details) endpoints now include market_geo_boundary_id and submarket_geo_boundary_id in each property’s attributes. Use these IDs with the Search Geo Boundaries endpoint to look up boundary details.
  • Added: market_geo_boundary_id - ID of the market-level geographic boundary (MSA) the property belongs to
  • Added: submarket_geo_boundary_id - ID of the submarket-level geographic boundary the property belongs to
v1.3.0
The construction_state filter parameter has been removed from the Bulk Properties and Compare Markets endpoints. Use the new unified_status filter instead, which consolidates construction stage, implementation status, and lease-up into a single property lifecycle indicator.
  • Removed: construction_state[] filter parameter
  • Added: unified_status[] filter parameter with values: stabilized, planning, scheduled_construction, under_construction, lease_up
v1.2.0
New asynchronous batch job system for retrieving historical property data at scale, plus new property search capabilities.
  • Bulk Data Export
    • Create Batch Job: POST /bulk_api/jobs - Submit a request for property, units, or floorplans data
    • List Batch Jobs: GET /bulk_api/jobs - Retrieve a paginated list of all batch jobs
    • Get Batch Job Status: GET /bulk_api/jobs/{job_id} - Monitor job progress and check completion status
    • Cancel Batch Job: DELETE /bulk_api/jobs/{job_id} - Cancel a running or submitted job
    • Download Batch Job Results: GET /bulk_api/jobs/{job_id}/results - Download completed results in CSV, JSONL, or Parquet format
  • Markets
    • Property Lookup: GET /properties/lookup - Search for properties by location, coordinates, or attributes and return paginated property IDs
    • Bulk Property Details: GET /properties/bulk_details - Retrieve full property details for multiple properties by ID
v1.1.0
New endpoint for comparing aggregated market-level metrics across MSAs and submarkets.
  • Markets
    • Compare Markets: POST /explore_markets - Retrieve aggregated metrics for geographic areas including rent performance, inventory, demographics, and sales transaction data
  • Documentation
v1.0.0
Initial public documentation of the ApartmentIQ API.
  • Authentication: Bearer tokens via Authorization header
  • Base URL: https://data.apartmentiq.io/apartmentiq/api/v1
  • Market Surveys
    • List Competitive Sets: GET /accounts/{account_id}/comp_sets
    • Market Survey: GET /comp_sets/{comp_set_id}/market_survey
    • Units: GET /comp_sets/{comp_set_id}/units
    • Floorplans: GET /comp_sets/{comp_set_id}/floor_plans
  • Markets
    • Search Geo Boundaries: POST /geo_boundaries/search
    • Bulk Properties: POST /geo_boundaries/properties
  • Global
    • Security scheme: HTTP Bearer (JWT)
    • Rate limits return 429 when exceeded