Resolves a submarket name (partial match supported) to one or more numeric ids. Use this whenever the user references a submarket by name — id from this response is required for tools that take a submarket id. Returns up to 20 matches.
Inputs
Name
Type
Required
Description
query
string
yes
Submarket name, e.g. "carmel". Case-insensitive partial match against submarket_name.
msa
string
no
Reserved for future CBSA-scoped search; currently accepted but ignored by the server. To narrow results today, just use a more specific query value.
Response
{
"attribution": "Data via Estaite Submarket Index",
When the attribution comes from licensed customer data, the attribution string changes to e.g. "Data provided by Estaite Solutions (estaite.com)".
Fields
Field
Type
Description
attribution
string
Required attribution text. Echo this verbatim in user-facing responses.
powered_by
string
Always "Estaite.com".
count
number
Number of matches returned (max 20).
results[].id
number
Canonical submarket id. Use this in id-taking tools.
results[].name
string
Canonical submarket name (may be more specific than the query, e.g. "Sandy Springs" → "Roswell / Sandy Springs").
results[].zipcodes
string
Comma-separated ZIPs aggregated into the submarket.
Errors
Code
HTTP
Meaning
MISSING_QUERY
400
query was empty, missing, or not a string.
Notes
Results are ordered alphabetically by submarket_name, not by relevance.
Multiple matches happen often for common names (“Downtown”, “Midtown”). When you get more than one result, either show the user the list or filter by the name you actually want before passing the id downstream.
A search returning no results (count: 0, empty results) is a successful response — not an error.