Skip to content

rank_estaite_submarkets

Description

Ranks submarkets within a CBSA (or globally) by one of median_rent, rent_growth, vacancy, affordability, or dom (days on market). Defaults to rent_growth, descending, top 10. Useful for “neighborhoods with highest rent growth in Dallas” or “cheapest submarkets in Boston”.

Inputs

NameTypeRequiredDescription
cbsastringnoCBSA code (e.g. "19100") or partial name (e.g. "Dallas"). Strongly recommended — without it, ranking runs across every active submarket in the index.
statestring (2-letter)noUS state code, e.g. "TX". Combines with cbsa (both filters apply if both are provided).
metricenum (median_rent, rent_growth, vacancy, affordability, dom)noDefault rent_growth.
orderenum (asc, desc)noDefault desc (highest-first).
limitinteger 1–50noDefault 10, hard cap 50.

Response

{
"attribution": "Data via Estaite Submarket Index",
"powered_by": "Estaite.com",
"source_domains": [],
"cbsa": "Dallas-Fort Worth-Arlington, TX",
"metric": "rent_growth",
"property_type": "apt",
"bedrooms": 2,
"order": "DESC",
"as_of": 202603,
"data": [
{
"rank": 1,
"id": 4201,
"name": "Lakewood",
"median_rent": 1985.0,
"rent_yoy_change": 7.4,
"vacancy_rate": 6.2,
"rent_to_income": 28.1,
"avg_dom": 22
},
{
"rank": 2,
"id": 4187,
"name": "Bishop Arts / Oak Cliff",
"median_rent": 1720.0,
"rent_yoy_change": 6.8,
"vacancy_rate": 5.4,
"rent_to_income": 24.5,
"avg_dom": 19
}
]
}

Fields

Top level

FieldTypeDescription
attributionstringRequired attribution. Echo verbatim.
powered_bystringAlways "Estaite.com".
source_domainsstring[]Companies / domains attached to records in the result set. Empty when no licensed data is involved.
cbsastringResolved CBSA name. Echoes input if it didn’t match anything.
metricstringThe metric that was ranked on.
property_typestringAlways "apt" in the current release (see Inputs note).
bedroomsnumberAlways 2 in the current release.
orderstringUppercase: "ASC" or "DESC".
as_ofnumberYearmonth of the underlying data, format YYYYMM.
data[]arrayOrdered by rank ascending (rank 1 first).

data[]

FieldTypeDescription
ranknumber1-based rank within the result set. Ties share a rank.
idnumberSubmarket id.
namestringSubmarket name.
median_rentnumberMedian apt 2 BR rent, USD.
rent_yoy_changenumberYoY rent change in whole-percent (e.g. 7.4 = +7.4%).
vacancy_ratenumberVacancy in whole-percent.
rent_to_incomenumberRent-to-income ratio in whole-percent.
avg_domnumberAverage days on market.

All five core metrics come back regardless of which one was used to sort — useful for building rich result UIs.

Errors

CodeHTTPMeaning
INVALID_METRIC400metric is not one of the allowed values. The error message lists the valid set.

Invalid property_type or bedrooms silently fall back to the defaults rather than erroring. Submarkets missing data for the chosen metric are excluded from the result set (the SQL filters on IS NOT NULL before ranking).

Notes

  • Ranking is global if no cbsa is set. Without filters you’ll get the top 10 across the entire 1,500-submarket index, which is rarely what you want. Always scope with cbsa (or at least state) unless you’re explicitly building a national leaderboard.
  • All percent values are whole-percent. A rent_yoy_change of 7.4 means +7.4%, not 740%.
  • For affordability ranking, lower is better. rent_to_income is the underlying column, so metric: "affordability" with order: "asc" finds the most affordable submarkets (lowest rent burden).