Discover/SevenRooms API
live

SevenRooms APIsevenrooms.com

Search real-time table availability, fetch venue details, and complete restaurant reservations across any SevenRooms venue with 5 structured endpoints.

This API takes change requests — .
Endpoint health
verified 6d ago
get_venue_info
get_available_dates
search_availability
3/3 passing latest checkself-healing
Endpoints
5
Updated
1mo ago

What is the SevenRooms API?

The SevenRooms API covers 5 endpoints for discovering and booking restaurant tables on the SevenRooms platform. Use get_venue_info to retrieve venue name, address, timezone, currency, and linked venues, then progress through availability checks and a two-step hold-and-confirm flow to complete a reservation. Response fields include IANA timezones, shift identifiers, and a reservation_hold_id that gates the final booking step.

This call costs1 credit / call— charged only on success
Try it
The venue's URL key/slug (e.g., 'wildtavernchelsea'). Found in the SevenRooms reservation URL.
api.parse.bot/scraper/ad4bb394-079b-49ce-9c1b-bcc748b5ac37/<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/ad4bb394-079b-49ce-9c1b-bcc748b5ac37/get_venue_info?venue_slug=wildtavernchelsea' \
  -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 sevenrooms-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: SevenRooms SDK — search availability and hold a table."""
from parse_apis.SevenRooms_Restaurant_Reservation_API import SevenRooms, NotFoundError

client = SevenRooms()

# Construct a venue from its slug and check available dates
venue = client.venue("wildtavernchelsea")
dates = venue.available_dates(num_days=30)
print(dates.total_dates, "dates available; first 5:", dates.valid_dates[:5])

# Search for dinner availability for 2 guests
for shift in venue.search_availability(party_size=2, time_slot="19:00", limit=3):
    print(shift.date, shift.shift_name, shift.shift_category)
    for slot in shift.time_slots[:3]:
        print(f"  {slot.time} type={slot.type} duration={slot.duration}")

# Drill into the first bookable shift and hold a slot
shift = venue.search_availability(party_size=2, time_slot="19:00", limit=1).first()
if shift:
    bookable = [s for s in shift.time_slots if s.access_persistent_id]
    if bookable:
        slot = bookable[0]
        try:
            hold = venue.hold(
                date=shift.date,
                time=slot.time,
                party_size=2,
                shift_persistent_id=slot.shift_persistent_id,
                access_persistent_id=slot.access_persistent_id,
            )
            print(f"Held: {hold.reservation_hold_id}, expires in {hold.hold_duration_sec}s")
        except NotFoundError as exc:
            print(f"Hold failed: {exc}")

print("exercised: available_dates / search_availability / hold")
All endpoints · 5 totalmissing one? ·

Get venue details including name, address, timezone, currency, and linked venues for any SevenRooms restaurant. The venue_slug is the URL key found in the SevenRooms reservation URL path.

Input
ParamTypeDescription
venue_slugrequiredstringThe venue's URL key/slug (e.g., 'wildtavernchelsea'). Found in the SevenRooms reservation URL.
Response
{
  "type": "object",
  "fields": {
    "city": "string, city where venue is located",
    "name": "string, venue display name",
    "address": "string, full street address",
    "url_key": "string, venue URL slug",
    "currency": "string, three-letter currency code (e.g. 'GBP')",
    "timezone": "string, IANA timezone (e.g. 'Europe/London')",
    "venue_id": "string, unique venue identifier",
    "country_code": "string, two-letter country code (e.g. 'gb')",
    "phone_number": "string or null, venue phone number",
    "linked_venues": "array of URL slugs for linked venues"
  },
  "sample": {
    "data": {
      "city": "London",
      "name": "Wild Tavern Chelsea",
      "address": "2 Elystan St, Chelsea, London SW3 3NS, United Kingdom",
      "url_key": "wildtavernchelsea",
      "currency": "GBP",
      "timezone": "Europe/London",
      "venue_id": "ahNzfnNldmVucm9vbXMtc2VjdXJlchwLEg9uaWdodGxvb3BfVmVudWUYgICE94rM0AkM",
      "country_code": "gb",
      "phone_number": "+1 (555) 012-3456",
      "linked_venues": []
    },
    "status": "success"
  }
}

About the SevenRooms API

Venue and Date Discovery

Start with get_venue_info, passing a venue_slug pulled from any SevenRooms reservation URL. The response includes venue_id, city, address, currency, timezone, country_code, phone_number, and a linked_venues array of related venue slugs — useful for restaurant groups that share a booking surface. Once you have a venue, get_available_dates accepts a start_date and num_days (up to 225) and returns a filtered valid_dates array containing only dates with at least one bookable slot, saving unnecessary searches on closed or fully-booked days.

Searching Time Slots

search_availability is the core query endpoint. Supply venue_slug, date, party_size (1–9), and optionally a time_slot in HH:MM format to center results around a preferred hour. The response groups slots into shifts, each carrying a shift_name, shift_persistent_id, and a time_slots array. Every slot has a type of either book (instantly confirmable) or request (requires venue approval), plus duration and policy details. The access_persistent_id and shift_persistent_id from this response are required inputs for the next step.

Holding and Completing a Reservation

hold_reservation claims a slot for 300 seconds (hold_duration_sec). It requires the exact date, time, party_size, venue_slug, shift_persistent_id, and access_persistent_id from search_availability. On success it returns a reservation_hold_id. create_reservation must be called within that 5-minute window with guest details — first_name, last_name, email, optional notes, dial_code, and venue_id — and returns a reservation_id plus a confirmation_number when the venue provides one. Email addresses must be deliverable; example.com domains are rejected.

Reliability & maintenanceVerified

The SevenRooms API is a managed, monitored endpoint for sevenrooms.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sevenrooms.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 sevenrooms.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
6d ago
Latest check
3/3 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 discovery app that surfaces open tables across multiple linked SevenRooms venues using linked_venues from get_venue_info.
  • Automate table booking in a travel itinerary tool by chaining get_available_dates and search_availability for multiple venues and dates.
  • Filter instantly bookable slots from requestable ones using the type field in search_availability results to present only confirmed availability.
  • Display venue details — address, phone number, and currency — on a local dining guide without requiring users to visit each SevenRooms page.
  • Create a shift-aware availability calendar by mapping shift_name fields from search_availability to lunch and dinner periods.
  • Send reservation confirmation data including reservation_id and confirmation_number to a CRM or email system after completing a booking.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does SevenRooms have an official developer API?+
SevenRooms offers an official API for venue operators and enterprise partners, documented at https://developers.sevenrooms.com. It is not publicly self-serve and requires a partnership agreement. This Parse API provides developer-accessible endpoints covering the guest-facing availability and booking flow without requiring a SevenRooms operator account.
What does `search_availability` return, and how do `book` and `request` slot types differ?+
search_availability returns a shifts array. Each shift contains a shift_name, shift_persistent_id, and time_slots array. Each time slot carries a type of either book (the guest can confirm instantly) or request (the venue must approve the booking before it is confirmed). The access_persistent_id and shift_persistent_id from a chosen slot are required inputs for hold_reservation.
How long does a reservation hold last, and what happens if I miss the window?+
hold_reservation returns a hold_duration_sec of 300 (5 minutes). If create_reservation is not called within that window, the hold expires and the slot is released back to availability. You would need to call search_availability and hold_reservation again to rebook the same or an alternative slot.
Does the API return menu information or pricing for a venue?+
Not currently. The API covers venue metadata (address, timezone, currency, linked venues), availability dates, time slots, and the reservation booking flow. Menu items, pricing, and dining packages are not included. You can fork the API on Parse and revise it to add an endpoint targeting that data.
Can I cancel or modify an existing reservation through the API?+
Not currently. The five endpoints cover venue lookup, availability search, holding a slot, and creating a new reservation. Cancellation and modification flows are not included. You can fork the API on Parse and revise it to add those endpoints.
Page content last updated . Spec covers 5 endpoints from sevenrooms.com.
Related APIs in Food DiningSee all →
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.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.
thefork.com API
Search for restaurants and check real-time table availability to find and book your next dining reservation. Get detailed information about restaurants including menus, pricing, and reservation slots all in one place.
exploretock.com API
Search for restaurants and dining experiences on Tock, then view detailed venue information, menus, and real-time availability including specific dates, time slots, and prix-fixe pricing to book your reservation. Get comprehensive restaurant details with all offerings to help you find and reserve your perfect dining experience.
tabelog.com API
Search for restaurants and view detailed information like menus, ratings, and reviews on Tabelog, then instantly check real-time table availability to book your ideal dining experience. Get comprehensive restaurant profiles including cuisine type, price range, and customer feedback to make informed dining decisions.
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.
app.catchtable.co.kr API
Access data from app.catchtable.co.kr.
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.