Discover/Resy API
live

Resy APIresy.com

Search Resy restaurants, check real-time reservation availability, browse curated city lists, and retrieve full venue profiles via a clean REST API.

Endpoint health
verified 2d ago
get_venue_info
get_restaurant_availability
get_restaurant_details
get_top_restaurants
search_restaurants
5/5 passing latest checkself-healing
Endpoints
5
Updated
14d ago

What is the Resy API?

This API exposes 5 endpoints covering Resy's restaurant data: search by keyword and coordinates, fetch detailed venue profiles, check slot-level reservation availability, inspect calendar ranges, and pull curated city lists. The search_restaurants endpoint returns paginated results with venue IDs, cuisine types, price ranges, ratings, and neighborhood data that feed directly into downstream detail and availability lookups.

Try it
Date for availability check in YYYY-MM-DD format. Omitting defaults to today's date.
Page number for pagination
Search keyword (e.g., 'italian', 'sushi', 'steakhouse')
Latitude of search center (e.g., 40.7128 for NYC)
Results per page (max 50)
Longitude of search center (e.g., -74.006 for NYC)
Number of guests
api.parse.bot/scraper/d97a8bf9-e9ca-473c-b1e6-e66ada7210a0/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d97a8bf9-e9ca-473c-b1e6-e66ada7210a0/search_restaurants?date=2026-07-11&page=1&query=italian&latitude=40.7128&per_page=5&longitude=-74.006&party_size=2' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace resy-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""
Resy Restaurant Search API – SDK usage example
"""

from parse_apis.Resy_Restaurant_Search_API import Resy, Restaurant, Slot, CalendarDay, TopRestaurant, Venue, City, ListType, VenueNotFound

resy = Resy()

# Search for Italian restaurants in NYC with available time slots
for restaurant in resy.restaurants.search(query="italian", latitude=40.7128, longitude=-74.006, party_size=2, limit=3):
    print(restaurant.name, restaurant.neighborhood, restaurant.price_range)
    # Each result includes available reservation times for the searched date
    for slot in restaurant.available_slots:
        print(f"  {slot.start} - {slot.end} ({slot.type})")

# Drill into a single restaurant's detailed time slots (with payment info)
restaurant = resy.restaurants.search(query="sushi", party_size=2, limit=1).first()
if restaurant:
    for slot in restaurant.slots.list(party_size=2, limit=5):
        print(slot.start, slot.end, slot.type, slot.payment.is_paid)

    # Check calendar availability over the next month
    for day in restaurant.calendar.list(num_seats=2, limit=7):
        print(day.date, day.inventory.reservation, day.inventory.walk_in)

# Get full venue details by slug
try:
    venue = resy.venues.get(url_slug="i-sodi", location="new-york-ny")
    print(venue.name, venue.type, venue.price_range_id)
    for block in venue.content:
        print(block.name, block.body)
except VenueNotFound as exc:
    print(f"Venue not found: {exc}")

# Browse top-rated restaurants in NYC
nyc = resy.city(city_slug="new-york-ny")
for top in nyc.top_restaurants.list(list_type=ListType.TOP_RATED, limit=3):
    print(top.name, top.neighborhood, top.address, top.why_we_like_it)

print("exercised: restaurants.search / slots.list / calendar.list / venues.get / top_restaurants.list")
All endpoints · 5 totalmissing one? ·

Full-text search over restaurants by keyword, location coordinates, date, and party size. Returns paginated results with restaurant names, cuisine types, ratings, price ranges, neighborhoods, and available reservation time slots for the queried date. Each result carries a venue ID usable for detail/availability lookups. Paginates via integer page counter.

Input
ParamTypeDescription
datestringDate for availability check in YYYY-MM-DD format. Omitting defaults to today's date.
pageintegerPage number for pagination
querystringSearch keyword (e.g., 'italian', 'sushi', 'steakhouse')
latitudenumberLatitude of search center (e.g., 40.7128 for NYC)
per_pageintegerResults per page (max 50)
longitudenumberLongitude of search center (e.g., -74.006 for NYC)
party_sizeintegerNumber of guests
Response
{
  "type": "object",
  "fields": {
    "date": "string, the date used for the search",
    "query": "string, the search keyword used",
    "pagination": "object with page, per_page, total, total_pages",
    "party_size": "integer, the party size used",
    "restaurants": "array of restaurant objects with id, name, cuisine, price_range, rating, neighborhood, region, url_slug, location, images, available_slots, need_to_know, tagline"
  },
  "sample": {
    "data": {
      "date": "2026-06-25",
      "query": "italian",
      "pagination": {
        "page": 1,
        "total": 2509,
        "per_page": 2,
        "total_pages": 1255
      },
      "party_size": 2,
      "restaurants": [
        {
          "id": 92126,
          "name": "Eccolo Italian Restaurant",
          "images": [
            "https://image.resy.com/3/003/2/92126/c4b61fbf0de87f66478b403dcc48c6ce6950c776/jpg/640x360"
          ],
          "rating": {
            "count": 95,
            "average": 4.30526
          },
          "region": "NY",
          "cuisine": [
            "Italian"
          ],
          "tagline": null,
          "location": {
            "latitude": null,
            "longitude": null
          },
          "url_slug": "eccolo-italian-restaurant",
          "price_range": 1,
          "need_to_know": null,
          "neighborhood": "Hell's Kitchen",
          "available_slots": [
            {
              "end": "2026-06-25 17:30:00",
              "type": "Dining Room",
              "start": "2026-06-25 16:00:00",
              "token": "REDACTED_TOKEN"
            },
            {
              "end": "2026-06-25 17:30:00",
              "type": "Patio",
              "start": "2026-06-25 16:00:00",
              "token": "REDACTED_TOKEN"
            }
          ]
        }
      ]
    },
    "status": "success"
  }
}

About the Resy API

Search and Discovery

The search_restaurants endpoint accepts a free-text query (e.g., 'sushi', 'steakhouse'), optional lat/lng coordinates, a target date in YYYY-MM-DD format, and a party_size. It returns paginated restaurant objects — up to 50 per page — each carrying a numeric id, url_slug, cuisine, price_range, rating, neighborhood, and images. The id and url_slug from these results feed the other four endpoints.

Venue Details and Time Slots

get_restaurant_details takes a venue_id, date, and party_size and returns both a full venue profile and a slots array. Each slot object includes start and end times, type (table type), a bookable token, size, and whether a payment is required to hold the reservation. get_restaurant_availability shifts focus to the calendar: given a venue_id, num_seats, and a date range, it returns a calendar array where each date entry shows the inventory status for reservations, events, and walk-ins. The last_calendar_day field reflects the furthest date the venue currently accepts bookings, which may fall before the requested end_date.

Venue Profiles and Curated Lists

get_venue_info requires a url_slug and a location slug (e.g., 'new-york-ny'). It returns content blocks covering the venue's about text, need-to-know notes, tagline, and why-we-like-it blurb, alongside contact info, coordinates, cross-platform IDs (Resy, Google, Foursquare), and the collections the venue belongs to. get_top_restaurants retrieves curated city lists — top-rated, new on Resy, or trending — for a given city_slug. Results include per-venue rating, address, collections, about, and need_to_know fields. The ordering follows Resy's own curation logic and is not user-configurable.

Coverage and Identifiers

All venue lookups hinge on identifiers surfaced by search_restaurants or get_venue_info: the integer venue_id for availability and detail endpoints, and the (url_slug, location) pair for the venue info endpoint. Resy's coverage is US-focused with select international markets; availability data reflects only what Resy manages directly for a given venue.

Reliability & maintenanceVerified

The Resy API is a managed, monitored endpoint for resy.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when resy.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official resy.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a reservation-finder that surfaces open Resy slots for a party size and date across a city neighborhood.
  • Track calendar availability for high-demand restaurants over a rolling 30-day window using get_restaurant_availability.
  • Aggregate curated 'top-rated' and 'trending' restaurant lists by city for a dining guide app via get_top_restaurants.
  • Display full venue profiles — including about text, need-to-know notes, and images — on a restaurant discovery platform using get_venue_info.
  • Power a concierge tool that checks same-day slot availability across multiple venues given a party size and cuisine preference.
  • Enrich a dining database with cross-platform IDs (Resy, Google, Foursquare) returned by the id object in get_venue_info.
  • Alert users when a previously unavailable date opens on the restaurant's booking calendar by polling get_restaurant_availability.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Resy have an official public developer API?+
Resy does not publish a public developer API or offer developer documentation for third-party access to its reservation or venue data.
What does the `slots` array in `get_restaurant_details` actually contain?+
Each slot object includes start and end timestamps, a type field describing the table or seating configuration, a token used to reference the bookable slot, the size (covers), and a payment flag indicating whether a credit card hold or prepayment is required. Slots reflect availability for the specific date and party_size you pass in.
How far out does `get_restaurant_availability` return calendar data?+
The response covers from start_date up to the venue's last_calendar_day, which is the furthest date that venue currently accepts reservations on Resy. If you request an end_date beyond that, the calendar will stop at last_calendar_day. This varies per venue and changes as the booking window advances.
Does the API return menu data or pricing for specific dishes?+
Not currently. The API covers venue-level price range indicators, profile content blocks (about, need-to-know), and slot-level payment requirements, but does not expose menu items or dish-level pricing. You can fork this API on Parse and revise it to add an endpoint targeting menu data if that content is available on the venue's Resy page.
Can I look up user reviews or review text through this API?+
Not currently. The API returns ratings as numeric scores alongside venue profiles, but individual user reviews and review text are not exposed. You can fork this API on Parse and revise it to add a reviews endpoint if that data is accessible on the Resy venue page.
Page content last updated . Spec covers 5 endpoints from resy.com.
Related APIs in Food DiningSee all →
resy.com, opentable.com API
Search and compare restaurants across Resy and OpenTable by cuisine, location, and price range, then sort results by price or ratings to find the best dining option. Retrieve comprehensive restaurant details including addresses, contact information, descriptions, and customer ratings all in one place.
sevenrooms.com API
Search for available restaurant tables across any SevenRooms venue, view venue details and open dates, and complete reservations all in one place. Whether you're planning ahead or booking last-minute, you can check real-time availability and secure your table at thousands of restaurants on the SevenRooms platform.
opentable.com API
Search for restaurants across the US with ratings, reviews, photos, and pricing information, plus get real-time availability and autocomplete suggestions as you type. Check reservation openings and explore detailed restaurant features to find and book your perfect dining experience.
opentable.ca API
Search and discover restaurants on OpenTable, view detailed information like menus and reviews, and check real-time dining availability across metro areas. Find top-rated restaurants in your location and instantly see which tables are open for your preferred date and time.
theinfatuation.com API
Access restaurant reviews, ratings, and guides from The Infatuation. Search by keyword and location, browse cities and neighborhoods, and retrieve detailed review data including cuisine type, address, pricing, and editorial ratings.
thefork.it API
Search and discover Italian restaurants by cuisine, location, or ratings, then access detailed information like menus, reviews, and availability across major cities in Italy. Find top-rated dining options and compare restaurant details to plan your perfect meal.
ubereats.com API
Search for restaurants by cuisine or location and browse their menus, prices, ratings, and delivery times. Get detailed information about specific restaurants and menu items to find exactly what you want to order.
tock.com API
Search for restaurants on Tock and discover detailed information including their accolades, FAQs, menus, and contact details all in one place. Find the perfect dining experience with comprehensive restaurant profiles and booking options.