Greystar API endpoint
Searches apartment units currently available to rent on greystar.com within one location (nationwide by default), filtered by bedrooms, bathrooms, building type, community highlights, and monthly price, sorted by relevance or price. Results are grouped by community: each carries its address, coordinates, the number of matching units, and up to about 100 units with unit number, floor plan, bedrooms, bathrooms, price range, and lease term. The response also returns filter counts for the location. Several values of one filter match any of them. Get location values from /greystar/unit-locations.
/greystar/unitsMCP tool: greystar_units
location (optional): search location slug from /greystar/unit-locations, for example austin-tx, texas, or greater-austin/round-rock. Default us (nationwide). An unknown slug returns 400.bedrooms (optional, repeatable): 0, 1, 2, 3, 4, 5, or 6 (0 is a studio).bathrooms (optional, repeatable): 0, 1, 2, 3, or 4.building_type (optional, repeatable): Active Adult, Garden, High-Rise, Mid-Rise, Single Family Home, Student, or Townhome.highlights (optional, repeatable): airCon, dishwasher, eco, fitness, garages, limitedAccess, patioBalcony, pets, playground, pools, smokeFree, walkInClosets, or washerDryer.min_price, max_price (optional): monthly unit price bounds.sort (optional): relevance (default, the site's own order) or price_asc.page (optional): 1-based page, default 1.per_page (optional): communities per page, 1 to 100, default 20.Values may also be comma-separated (bedrooms=1,2). Several values of one filter match any of them (highlights=pools&highlights=pets returns units at communities with a pool or that allow pets); different filters combine with AND.
Lists units currently available to rent, grouped by community. total_count counts community groups (a very large community can appear as more than one group). Each entry in properties carries property_id (usable with /greystar/properties/{id}), name, address, coordinates, matching_units, and units: each with unit_id, unit_number, floorplan, bedrooms, bathrooms, price, min_price/max_price, min_base_rent_lease_term, and required monthly fees. At most about 100 units are listed per community; units_truncated is true when matching_units is larger. facets gives the counts for bedrooms, bathrooms, building_types, and highlights in the location. A listed location that Greystar has no unit listing for returns 404.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| property_id | 20 | |
| name | 20 | “Tree Apartments” and 19 other values |
| address | 20 | |
| city | 20 | Austin in all 20 |
| state | 20 | TX in all 20 |
| state_name | 20 | Texas in all 20 |
| postal_code | 20 | |
| latitude | 20 | |
| longitude | 20 | |
| thumbnail_url | 20 | s7d9.scene7.com |
| matching_units | 20 | 6 to 85, median 22 |
| units_truncated | 20 | true in 0 of 20 |
| units | 20 | median 22 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| location | string | No | Search location slug from /greystar/unit-locations, e.g. austin-tx, texas or greater-austin/round-rock | ||
| bedrooms | array<string> | No | Bedroom count; repeat for several (0 is studio) Allowed values: 0, 1, 2, 3, 4, 5, 6. Repeat this query parameter for multiple values. | ||
| bathrooms | array<string> | No | Bathroom count; repeat for several Allowed values: 0, 1, 2, 3, 4. Repeat this query parameter for multiple values. | ||
| building_type | array<string> | No | Building type; repeat for several Allowed values: Active Adult, Garden, High-Rise, Mid-Rise, Single Family Home, Student, Townhome. Repeat this query parameter for multiple values. | ||
| highlights | array<string> | No | Community highlight; repeat for several (matches any) Allowed values: airCon, dishwasher, eco, fitness, garages, limitedAccess, patioBalcony, pets, playground, pools, smokeFree, walkInClosets, washerDryer. Repeat this query parameter for multiple values. | ||
| min_price | number | No | Minimum monthly unit price | ||
| max_price | number | No | Maximum monthly unit price | ||
| sort | string | No | Result order Allowed values: relevance, price_asc. | ||
| page | integer | No | 1-based page | ||
| per_page | integer | No | Communities per page, 1-100 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/greystar/units?bedrooms=0&bathrooms=0&building_type=Active+Adult&highlights=airCon&sort=relevance&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"location": "austin-tx",
"total_count": 82,
"page": 1,
"per_page": 1,
"total_pages": 82,
"facets": {
"bedrooms": [
{
"value": "2",
"count": 60
}
],
"bathrooms": [
{
"value": "2",
"count": 44
}
],
"building_types": [
{
"value": "Garden",
"count": 431
}
],
"highlights": [
{
"value": "pools",
"count": 474
}
]
},
"properties": [
{
"property_id": "12913",
"name": "Residences at The Triangle",
"address": "4600 W. Guadalupe St.",
"city": "Austin",
"state": "TX",
"postal_code": "78751",
"latitude": 30.31,
"longitude": -97.73,
"matching_units": 42,
"units_truncated": false,
"units": [
{
"unit_id": "3638674",
"unit_number": "B325",
"floorplan": "B-C1",
"bedrooms": 2,
"bathrooms": 2,
"price": 2125,
"min_price": 2012,
"max_price": 2180,
"min_base_rent_lease_term": 12,
"required_monthly_fees_min": 113,
"required_monthly_fees_max": 113
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/greystar.UnitSearchResult
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| facets | greystar.UnitFacets | No | ||||
| facets.bathrooms | array | No | ||||
| facets.bathrooms[].count | integer | No | ||||
| facets.bathrooms[].value | string | No | ||||
| facets.bedrooms | array | No | ||||
| facets.bedrooms[].count | integer | No | ||||
| facets.bedrooms[].value | string | No | ||||
| facets.building_types | array | No | ||||
| facets.building_types[].count | integer | No | ||||
| facets.building_types[].value | string | No | ||||
| facets.highlights | array | No | ||||
| facets.highlights[].count | integer | No | ||||
| facets.highlights[].value | string | No | ||||
| location | string | No | ||||
| page | integer | No | ||||
| per_page | integer | No | ||||
| properties | array | No | ||||
| properties[].address | string | No | ||||
| properties[].city | string | No | ||||
| properties[].latitude | number | No | ||||
| properties[].longitude | number | No | ||||
| properties[].matching_units | integer | No | ||||
| properties[].name | string | No | ||||
| properties[].postal_code | string | No | ||||
| properties[].property_id | string | No | ||||
| properties[].state | string | No | ||||
| properties[].state_name | string | No | ||||
| properties[].thumbnail_url | string | No | ||||
| properties[].units | array | No | ||||
| properties[].units[].banner | string | No | ||||
| properties[].units[].bathrooms | number | No | ||||
| properties[].units[].bedrooms | number | No | ||||
| properties[].units[].floorplan | string | No | ||||
| properties[].units[].max_price | number | No | ||||
| properties[].units[].min_base_rent_lease_term | integer | No | ||||
| properties[].units[].min_price | number | No | ||||
| properties[].units[].price | number | No | ||||
| properties[].units[].required_monthly_fees_max | number | No | ||||
| properties[].units[].required_monthly_fees_min | number | No | ||||
| properties[].units[].unit_id | string | No | ||||
| properties[].units[].unit_number | string | No | ||||
| properties[].units_truncated | boolean | No | ||||
| total_count | integer | No | ||||
| total_pages | integer | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/units?bedrooms=0&bathrooms=0&building_type=Active+Adult&highlights=airCon&sort=relevance&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"