Greystar API endpoint
Lists Greystar's state, city, and neighborhood rental hub pages (the site's own location tree) with slugs and URLs. Use the slugs with /greystar/location for a hub's editorial content, child locations, listed communities, and FAQs.
/greystar/locationsMCP tool: greystar_locations
level (optional): state, city, or neighborhood. Omit for every level.state (optional): a state slug from this list, for example tx.city (optional): a city slug from this list; requires state.page (optional): 1-based page, default 1.per_page (optional): 1 to 200, default 100.Lists the state, city, and neighborhood rental hub pages that make up greystar.com's own location tree (803 pages on 2026-10-04). Each entry has level, state, city, neighborhood, path, url, and last_modified. Entries sort by state, then city, then neighborhood. Unknown state or city values return 400. Use the slugs with /greystar/location. This tree is the site's navigation and differs from the market areas in /greystar/markets, which come from the community data.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| level | 20 | state in all 20 |
| state | 20 | “al” and 19 other values |
| path | 20 | “/homes-to-rent/us/al” and 19 other values |
| url | 20 | greystar.com |
| last_modified | 20 | 2025-08-06 to 2026-03-04 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| level | string | No | Hub level Allowed values: state, city, neighborhood. | ||
| state | string | No | State slug from this list, e.g. tx | ||
| city | string | No | City slug from this list; requires state | ||
| page | integer | No | 1-based page | ||
| per_page | integer | No | Entries per page, 1-200 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/greystar/locations?level=state&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total_count": 803,
"page": 1,
"per_page": 100,
"total_pages": 9,
"locations": [
{
"level": "state",
"state": "al",
"path": "/homes-to-rent/us/al",
"url": "https://www.greystar.com/homes-to-rent/us/al",
"last_modified": "2026-08-05"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/greystar.LocationList
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| locations | array | No | ||||
| locations[].city | string | No | ||||
| locations[].last_modified | string | No | ||||
| locations[].level | string | No | state, city, neighborhood | |||
| locations[].neighborhood | string | No | ||||
| locations[].path | string | No | ||||
| locations[].state | string | No | ||||
| locations[].url | string | No | ||||
| page | integer | No | ||||
| per_page | integer | No | ||||
| total_count | integer | No | ||||
| total_pages | 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/locations?level=state&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"