Skip to main content
2.5.0
Market Narratives endpoint
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
2.4.0
Add market and submarket names to property responses
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
2.3.0
Forecast time-series endpoints for geo boundaries and properties
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
2.2.0
Add loan maturity date and sales transaction filters
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
2.1.0
Add geo boundary IDs to property responses
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
2.0.0
Replace construction_state with unified_status filter
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
1.2.0
Bulk Data Export and Property Search endpoints
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
1.1.0
Compare Markets endpoint
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
1.0.0
Initial public documentation
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 limit: 100 requests per 5 minutes (returns 429 when exceeded)