Skip to main content
POST
/
explore_markets
curl --request POST \
  --url https://data.apartmentiq.io/apartmentiq/api/v1/explore_markets \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "account_id": 9919347,
  "filters": {
    "geo_boundary_id": [
      "94121",
      "94012"
    ],
    "geo_type": "MSA"
  },
  "property_filters": {
    "year_built_gte": 2015,
    "total_units_gte": 200
  },
  "sort_by": "population_total",
  "sort_order": "desc",
  "limit": 50
}
'
{
  "data": [
    {
      "id": "94012",
      "type": "compare_market",
      "attributes": {
        "id": 94012,
        "name": "Los Angeles-Long Beach-Anaheim, CA Metro Area",
        "short_name": "Los Angeles-Long Beach-Anaheim, CA Metro Area",
        "description": "Los Angeles-Long Beach-Anaheim, CA",
        "geo_type": "MSA",
        "geo_states": [
          "CA"
        ],
        "place_type": "<string>",
        "centroid": [
          34.1087033,
          -118.1827533
        ],
        "property_count_total": 392,
        "rent_avg_t30": 3261.04,
        "rent_0_bed_avg_t30": 2514.37,
        "rent_1_bed_avg_t30": 2937.87,
        "rent_2_bed_avg_t30": 3891.46,
        "rent_3_bed_avg_t30": 5318.09,
        "ner_avg_t30": 3038.13,
        "ner_0_bed_avg_t30": 2330.1,
        "ner_1_bed_avg_t30": 2738.23,
        "ner_2_bed_avg_t30": 3623.31,
        "ner_3_bed_avg_t30": 4891.74,
        "rent_psf_avg_t30": 3.85,
        "rent_0_bed_psf_avg_t30": 4.48,
        "rent_1_bed_psf_avg_t30": 3.95,
        "rent_2_bed_psf_avg_t30": 3.51,
        "rent_3_bed_psf_avg_t30": 3.54,
        "ner_psf_avg_t30": 3.59,
        "ner_0_bed_psf_avg_t30": 4.14,
        "ner_1_bed_psf_avg_t30": 3.68,
        "ner_2_bed_psf_avg_t30": 3.28,
        "ner_3_bed_psf_avg_t30": 3.26,
        "ner_psf_p88_t30": 4.31,
        "ner_psf_p68_t30": 3.76,
        "ner_psf_p18_t30": 3.02,
        "rent_growth_rate_yoy_avg": -0.0073,
        "ner_growth_rate_yoy_avg": -0.0101,
        "forecasted_rent_growth_rate_yoy": 0.0257,
        "rent_growth_rate_yoy_by_quarter_avg": -0.0064,
        "ner_growth_rate_yoy_by_quarter_avg": -0.0061,
        "rent_growth_rate_t90_avg": -0.0185,
        "ner_growth_rate_t90_avg": -0.0277,
        "concession_value_avg_t30": 4175.48,
        "concession_percent_avg_t30": 0.1036,
        "exposure_percent_avg_t30": 0.0749,
        "leased_percent_avg_t30": 0.9325,
        "advertised_occupancy_percent_avg_t30": 0.9274,
        "days_on_market_avg_t30": 50.64,
        "total_unit_count": 142374,
        "existing_unit_count_total": 125696,
        "new_supply_unit_count_total": 16678,
        "under_construction_unit_count_total": 7308,
        "planned_unit_count_total": 2403,
        "delivered_unit_count_total_mtd": 0,
        "delivered_unit_count_total_t365": 8777,
        "available_unit_count_new_to_market_total_mtd": 3066,
        "leased_unit_count_total_mtd": 2707,
        "available_unit_count_total_t30": 14176,
        "leased_unit_count_total_t30": 3308,
        "absorption_rate_avg_t30": 123,
        "unit_sq_ft_avg": 879,
        "amenity_count_p50": 30,
        "year_built_p50": 2021,
        "year_renovated_p50": 2020,
        "building_square_feet_avg": 123,
        "rentable_building_area_sq_ft_avg": 333893,
        "rentable_building_area_sq_ft_per_floor_avg": 55864,
        "land_area_sq_ft_avg": 213385,
        "land_area_acres_avg": 4.9,
        "units_per_acre_avg": 157.78,
        "units_per_building_avg": 291.74,
        "units_per_floor_avg": 66.5,
        "number_of_stories_avg": 8.71,
        "building_count_avg": 1.77,
        "walk_score_avg": 74,
        "transit_score_avg": 61,
        "bike_score_avg": 64,
        "population_growth_last_5_years_total": -0.0353,
        "population_growth_last_5_years_20_29": -0.1159,
        "population_growth_last_5_years_30_39": -0.0074,
        "population_growth_last_5_years_40_54": -0.0319,
        "population_growth_last_5_years_55_up": 0.039,
        "population_total": 12866598,
        "population_20_29": 1741263,
        "population_30_39": 1950682,
        "population_40_54": 2553323,
        "population_55_up": 3689869,
        "median_income": 94295,
        "median_income_growth_yoy": -0.0125,
        "employed_labor_force_percent": 0.9392,
        "employed_labor_force_growth_rate_yoy": 0.006,
        "sold_property_count_total_t365": 12,
        "sold_unit_count_total_t365": 4101,
        "sold_unit_count_avg_t365": 341,
        "sale_price_avg_t365": 135230561.33,
        "sale_price_total_t365": 1622766736,
        "sale_price_avg_t365_per_unit": 396925.04,
        "sale_cap_rate_avg_t365": 0.0476,
        "sale_price_per_unit_growth_yoy": -0.0141,
        "cap_rate_avg": 123,
        "asset_value_total": 45284183238,
        "asset_value_per_unit_avg": 123
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
account_id
integer
required

The ID of the account you're requesting data for.

Example:

9919347

filters
object

Market-level filters to narrow results by geography or market performance metrics.

property_filters
object

Filters applied to properties before aggregating market metrics. Only properties matching these filters will contribute to the market-level calculations.

sort_by
string

Field to sort results by. Can be any numeric response attribute.

Example:

"population_total"

sort_order
enum<string>
default:desc

Sort direction.

Available options:
asc,
desc
Example:

"desc"

limit
integer
default:50

Maximum number of markets to return.

Required range: 1 <= x <= 100
Example:

50

Response

Successfully retrieved market data. Returns markets in JSON:API format with comprehensive market-level metrics.

data
object[]
required

Array of market data in JSON:API format.