---
title: "Search Resy restaurants near a location"
method: GET
path: "/resy/search"
tags: ["Resy"]
---

# Search Resy restaurants near a location

`GET /resy/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/resy/search`
- Auth: API key in header `x-api-key`

Searches restaurants by free-text term (name, cuisine, or neighborhood) near a latitude/longitude, optionally including live bookable-timeslot availability for a given date and party size.

## Query parameters

- `term` string
- `latitude` number, required
- `longitude` number, required
- `date` string
- `party_size` integer
- `size` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- ResySearchResponseDoc
  - `code` integer
  - `data` ResySearchResponse
    - `available_cuisines` string[]: AvailableCuisines lists the cuisines present among restaurants near this search location (Resy's own search facet) -- use it to discover cuisine values worth passing back in Term, since the upstream search index has no separate structured cuisine filter (confirmed live: a top-level "cuisine" search field is rejected as an unknown field).
    - `results` ResySearchResult[]
      - `city` string
      - `cuisines` string[]
      - `id` string
      - `latitude` number
      - `location_code` string: LocationCode is Resy's short city code (e.g. "ny") -- pass it as resy-cuisines' or resy-events' location param to discover more about this same city.
      - `location_url_slug` string
      - `longitude` number
      - `name` string
      - `neighborhood` string
      - `phone_number` string
      - `price_range` integer
      - `rating` number
      - `region` string
      - `review_count` integer
      - `timeslots` ResyTimeslot[]
        - `end` string
        - `max_party_size` integer
        - `min_party_size` integer
        - `seating_type` string
        - `start` string: Start/End are Resy's own local "YYYY-MM-DD HH:MM:SS" strings (not RFC3339 -- kept as upstream returns them since seating-area shifts don't carry a UTC offset in the response).
        - `token` string: Token is Resy's opaque reservation-config identifier for this slot (an "rgs://..." string). It is only meaningful back to Resy's own booking flow -- this service does not implement booking, only discovery.
      - `url_slug` string
    - `term` string
    - `total` integer
  - `msg` string

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
