- Screen markets for acquisition or expansion opportunities
- Compare rent growth, occupancy, and supply trends across metros
- Analyze demographic drivers like population growth and income levels
- Benchmark sales activity and cap rates across markets
- Build market rankings based on custom criteria
Prerequisites
- Your API key (Bearer token)
- Account ID
- Geo boundary IDs for the markets you want to compare (find these using Search Geo Boundaries)
1) Find markets to compare
First, search for the markets you want to analyze. Use the geo boundaries search to find MSAs or submarkets by name.id values from the results—these are the geo boundary IDs you’ll use in the next step.
2) Compare market metrics
Pass the geo boundary IDs to retrieve aggregated metrics for each market.- Performance: Average rent, NER, rent PSF, concessions, occupancy, exposure, days on market
- Rent by bedroom: Rent and NER broken down by studio, 1-bed, 2-bed, and 3-bed
- Growth: Year-over-year and 90-day rent/NER growth rates, plus forecasted growth
- Inventory: Total units, property count, new supply, under construction, delivered units
- Demographics: Population by age group, growth rates, median income, employment
- Sales: Transaction count, volume, price per unit, cap rates
3) Filter by property characteristics
Useproperty_filters to control which properties contribute to the market aggregations. This lets you compare markets for a specific property profile.
Property filters narrow the properties included in each market’s calculations. For example, filtering to Class A properties built since 2015 shows metrics based only on that subset.
4) Screen markets by performance
Use market-level filters to find markets that meet specific criteria.Filter options
Market-level filters (filters):
- Geography:
geo_boundary_id[],geo_type,geo_states[] - Performance:
rent_avg_t30_gte|lte,ner_avg_t30_gte|lte,advertised_occupancy_percent_avg_t30_gte|lte - Growth:
rent_growth_rate_yoy_avg_gte|lte - Scale:
population_total_gte|lte,property_count_total_gte|lte
property_filters):
- Physical:
year_built_gte|lte,total_units_gte|lte,number_of_stories_gte|lte - Classification:
property_class[],property_type[],construction_state[] - Data recency:
collected_at_gte|lte
Example analyses to try
- Market screening: “Find Sun Belt MSAs with 2%+ rent growth, 1M+ population, and 93%+ occupancy.”
- New supply impact: “Compare markets by
new_supply_unit_count_totalrelative toexisting_unit_count_totalto assess supply pressure.” - Demographic targeting: “Rank markets by
population_growth_last_5_years_20_29to find metros attracting young renters.” - Investment benchmarking: “Sort by
sale_cap_rate_avg_t365to compare transaction yields across markets.” - Submarket deep-dive: “Switch
geo_typetoBespokeSubmarketand filter to a single MSA to compare submarkets within a metro.”
Errors and rate limits
- 400 for invalid or missing parameters
- 401 if authorization is missing or invalid
- 403 if you lack permissions
- 429 if you exceed the rate limit
- See Errors and Rate limits