Discover/Resy API
live

Resy APIresy.com, opentable.com

Search Resy restaurants by cuisine, location, and price range. Get ratings, availability, addresses, contact info, and editorial details via 2 clean endpoints.

Endpoint health
verified 2d ago
search_restaurants
get_restaurant_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
26d ago

What is the Resy API?

This API exposes 2 endpoints covering Resy venue data across major US cities. Use search_restaurants to find dining options by cuisine, neighborhood, price range, and party-size availability for a given date, returning up to 50 results per call. Use get_restaurant_details to pull a full venue record including address, phone, website, social handles, editorial description, and a detailed rating breakdown.

Try it
Date for availability in YYYY-MM-DD format. Omitting defaults to tomorrow's date (UTC).
Maximum number of results (max 50).
Search query (e.g., 'burger', 'sushi', 'italian', 'restaurant').
Sort order for results.
City/area to search. Supported values include: 'new-york', 'los-angeles', 'chicago', 'san-francisco', 'washington-dc'.
Number of guests for availability check.
api.parse.bot/scraper/b3082859-cf6f-4594-835f-67c4ab52d109/<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/b3082859-cf6f-4594-835f-67c4ab52d109/search_restaurants?day=2026-07-14&limit=5&query=burger&sort_by=price&location=new-york&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-opentable-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.

"""Walkthrough: Resy restaurant search — find, compare, and inspect venues."""
from parse_apis.resy_restaurant_search_api import Resy, Sort, Location, RestaurantNotFound

client = Resy()

# Search for affordable sushi restaurants in New York, sorted by price.
for restaurant in client.restaurants.search(query="sushi", location=Location.NEW_YORK, sort_by=Sort.PRICE, limit=5):
    print(restaurant.name, restaurant.price_range, restaurant.neighborhood)

# Drill into the first result for full details.
top = client.restaurants.search(query="italian", location=Location.SAN_FRANCISCO, sort_by=Sort.RATING, limit=1).first()
if top:
    detail = top.details()
    print(detail.name, detail.price_range, detail.description[:120])
    print(detail.address.street, detail.address.locality, detail.address.region)
    if detail.rating:
        print(detail.rating.score, detail.rating.total_reviews)

# Fetch a known restaurant directly by slug.
try:
    venue = client.restaurants.get(url_slug="le-bernardin")
    print(venue.name, venue.type, venue.price_range)
    print(venue.contact.website)
except RestaurantNotFound as exc:
    print(f"Restaurant not found: {exc.url_slug}")

print("exercised: restaurants.search / summary.details / restaurants.get")
All endpoints · 2 totalmissing one? ·

Full-text search over Resy venues in a geographic area. Returns restaurants with cuisine type, price range ($-$$$$), ratings, neighborhood, and available reservation time slots for the given day and party size. Results can be sorted client-side by price (cheapest first), rating (highest first), or left in default availability order. Paginates via limit (max 50 per call). Each result carries a url_slug usable with get_restaurant_details for full venue info.

Input
ParamTypeDescription
daystringDate for availability in YYYY-MM-DD format. Omitting defaults to tomorrow's date (UTC).
limitintegerMaximum number of results (max 50).
querystringSearch query (e.g., 'burger', 'sushi', 'italian', 'restaurant').
sort_bystringSort order for results.
locationstringCity/area to search. Supported values include: 'new-york', 'los-angeles', 'chicago', 'san-francisco', 'washington-dc'.
party_sizeintegerNumber of guests for availability check.
Response
{
  "type": "object",
  "fields": {
    "day": "string — the date used for availability (YYYY-MM-DD)",
    "query": "string — the search query used",
    "location": "string — the location searched",
    "party_size": "integer — party size used",
    "restaurants": "array of restaurant summary objects with venue_id, name, cuisine, price_range_id, price_range, neighborhood, locality, region, rating, review_count, url_slug, image, available_times, currency",
    "total_results": "integer — total number of matching restaurants"
  }
}

About the Resy API

Search Restaurants

The search_restaurants endpoint accepts a free-text query (e.g., 'sushi', 'italian', 'burger'), a location slug such as 'new-york' or 'chicago', a day in YYYY-MM-DD format, and a party_size. When day is omitted, it defaults to tomorrow's date in UTC. Each result in the restaurants array includes venue_id, name, cuisine, price_range ($ through $$$$), neighborhood, locality, region, and available reservation time slots for the requested date and party size. Results can be sorted client-side by price or rating. The limit parameter caps results at a maximum of 50.

Restaurant Details

get_restaurant_details takes a url_slug obtained from search results — for example, 'le-bernardin' or 'nobu' — along with an optional location_slug in city-state format like 'new-york-ny'. The response includes a full address object with street, latitude, longitude, postal_code, and neighborhood; a contact object with phone, website, and menu_url; a social object mapping platform names to handles; a rating object with score, total_reviews, and scale; and a currency field. The image field returns a primary venue image URL.

Coverage and Scope

Location support includes major US markets: New York, Los Angeles, Chicago, San Francisco, Washington DC, and others accessible via the location slug parameter. Reservation availability data is tied to a specific day and party_size, so the same venue may return different time slots depending on those inputs. The venue_id and url_slug fields act as stable identifiers to link search results to detail records.

Reliability & maintenanceVerified

The Resy API is a managed, monitored endpoint for resy.com, opentable.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when resy.com, opentable.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, opentable.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
2/2 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 restaurant finder filtered by cuisine and price range for a specific city using search_restaurants
  • Display real-time reservation availability for a given party size and date alongside restaurant ratings
  • Compare restaurant price tiers across neighborhoods in a city using price_range and neighborhood fields
  • Populate a dining guide with editorial descriptions, images, and social media handles from get_restaurant_details
  • Surface the highest-rated restaurants in a cuisine category by sorting on the rating response field
  • Show a venue's full contact details — phone, website, menu URL — in a local dining app
  • Map restaurants geographically using latitude and longitude from the address object in detail results
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 documentation for third-party integrations. Official reservation widgets are available only to partner restaurants, not to general developers.
What availability data does search_restaurants return?+
Each restaurant object in the results array includes available reservation time slots for the day and party_size you specify. If you omit day, it defaults to tomorrow in UTC. Slots reflect availability at query time and will vary by date and party size. The endpoint does not book or hold reservations.
Does the API cover menu items or dish-level data?+
Not currently. The API returns a menu_url in the contact object of get_restaurant_details, linking to the venue's menu page, but it does not return parsed menu items, dishes, or prices. You can fork this API on Parse and revise it to add a menu-parsing endpoint.
Is coverage limited to US cities?+
The location parameter currently supports a defined set of US metro slugs including 'new-york', 'los-angeles', 'chicago', 'san-francisco', and a few others. International Resy markets are not currently covered by this API. You can fork it on Parse and revise to extend the location list if Resy data is available in your target city.
How does the url_slug relate to venue_id in the response?+
search_restaurants returns both url_slug and venue_id for each result. The url_slug is required as the primary input to get_restaurant_details, while venue_id is an integer identifier also present in the detail response. Use url_slug to chain calls between the two endpoints.
Page content last updated . Spec covers 2 endpoints from resy.com, opentable.com.
Related APIs in Food DiningSee all →
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.
resy.com API
Search for restaurants across cities and check real-time availability to find open reservation slots on Resy. Discover trending and top-rated venues with detailed information about dining options, menus, and available time slots across selected dates.
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.
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.
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.
openrice.com API
Search for restaurants across Hong Kong and discover detailed information including reviews, cuisines, districts, and award-winning establishments. Browse new restaurant openings and filter by location or cuisine type to find exactly what you're looking for.
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.
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.