Resy API endpoint
Returns Resy's full list of operating locations (cities), optionally filtered by a free-text substring and/or country. This is the discovery source for the location value used throughout the rest of this family (resy-search's/resy-restaurant's location_code, resy-cuisines'/resy-events'/resy-event-detail's location).
/resy/locationsQuery parameters:
q (optional) — case-insensitive substring match against a location's name, code, or url_slug, e.g. new york, ny, san.country (optional) — case-insensitive exact match against a location's country name, e.g. United States.Both filters apply server-side after fetching Resy's own full list (~2,100 locations across 30 countries) — the upstream source endpoint itself does not support filtering. Omit both to list every location. This is reference data with essentially no request-to-request variation; the response is cached for 24 hours.
Response includes total (the matched count) and locations[], each with id, code, name, url_slug, country, country_code, latitude, longitude, and time_zone.
| Field | Filled in, of 1 checked | Values in the sample |
|---|---|---|
| id | 1 | |
| code | 1 | |
| name | 1 | “New York” |
| url_slug | 1 | |
| country | 1 | “United States” |
| country_code | 1 | |
| latitude | 1 | |
| longitude | 1 | |
| time_zone | 1 | “EST5EDT” |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Case-insensitive substring match against a location's name, code, or url_slug | new york | |
| country | string | No | Case-insensitive exact match against a location's country name | United States | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/resy/locations?q=coffee&country=us" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total": 1,
"locations": [
{
"id": "1",
"code": "ny",
"name": "New York",
"url_slug": "new-york-ny",
"country": "United States",
"country_code": "US",
"latitude": 40.7128,
"longitude": -74.006,
"time_zone": "EST5EDT"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/resy.locationsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | resy.LocationsResponse | No | ||||
| data.locations | array | No | ||||
| data.locations[].code | string | No | ny | |||
| data.locations[].country | string | No | United States | |||
| data.locations[].country_code | string | No | US | |||
| data.locations[].id | string | No | 1 | |||
| data.locations[].latitude | number | No | ||||
| data.locations[].longitude | number | No | ||||
| data.locations[].name | string | No | New York | |||
| data.locations[].time_zone | string | No | America/New_York | |||
| data.locations[].url_slug | string | No | new-york-ny | |||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 500 | Internal Server Error | #/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/resy/locations?q=coffee&country=us" \
-H "x-api-key: $CRAWLORA_API_KEY"