Greystar API endpoint
Lists every location accepted by /greystar/units: the nationwide us listing, states, metros, cities, and neighborhoods (nested ones carry their parent), taken from the site's own search pages. Locations Greystar has no unit listing for are dropped once detected.
/greystar/unit-locationsMCP tool: greystar_unit_locations
query (optional): text matched against the location slug, for example austin; at most 80 characters.Lists every location /greystar/units accepts, taken from greystar.com's own search pages: the nationwide us listing first, then states, metros, cities, and neighborhoods in slug order (1,797 on 2026-10-04). Nested locations such as greater-austin/round-rock carry their parent. A handful of the site's search pages have no unit listing; each is dropped from this list once a unit search has detected it. The list is cached for an hour. These slugs are a different taxonomy from /greystar/markets (community data) and /greystar/locations (rental guide pages).
| Field | Filled in, of 29 checked | Values in the sample |
|---|---|---|
| location | 29 | “austin-tx” and 28 other values |
| url | 29 | greystar.com |
| parent | 27 | greater-austin in all 27 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| query | string | No | Text matched against the location slug, e.g. austin | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/greystar/unit-locations?query=coffee" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total_count": 2,
"locations": [
{
"location": "austin-tx",
"url": "https://www.greystar.com/s/austin-tx"
},
{
"location": "greater-austin/round-rock",
"parent": "greater-austin",
"url": "https://www.greystar.com/s/greater-austin/round-rock"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/greystar.UnitLocationList
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| locations | array | No | ||||
| locations[].location | string | No | ||||
| locations[].parent | string | No | ||||
| locations[].url | string | No | ||||
| total_count | integer | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/greystar/unit-locations?query=coffee" \
-H "x-api-key: $CRAWLORA_API_KEY"