OpenTable Booker: AI Restaurant Reservations (MCP Server)
Pricing
from $3.99 / booking
OpenTable Booker: AI Restaurant Reservations (MCP Server)
MCP server for AI agents to search, book, and manage OpenTable restaurant reservations. 7 tools: search restaurants with availability, check time slots, book tables, view and cancel reservations. Works with Claude, ChatGPT, OpenClaw. Pay-per-action billing. No login needed for search.
Pricing
from $3.99 / booking
Rating
0.0
(0)
Developer
ClearPath
Maintained by CommunityActor stats
0
Bookmarked
99
Total users
16
Monthly active users
6 days ago
Last modified
Categories
Share
From Clearpath, creators of Resy Booker, OpenTable Availability Checker and Resy Availability Checker. Restaurant discovery, availability and booking from the same team.
Why choose this actor?
Turn a dinner request into a reservation. Your connected AI assistant can search by restaurant name, cuisine or city, check available times, and book a table for your date and party size. Successful bookings return a confirmation number.
Book tables that require a saved card. Enable card-required reservations to use a card already saved on your OpenTable account for supported no-show holds. Returned details include the cancellation policy and fee where available. Upfront deposits are not supported.
Keep your reservations in the conversation. View upcoming bookings and cancel a reservation through the same assistant. Search and availability work before OpenTable login; booking and reservation management use a one-time code sent by email or SMS.
Connect your AI assistant
Open actor input to configure OpenTable Booker. Connect an MCP-compatible AI assistant to this endpoint with your Apify token in the Authorization: Bearer YOUR_APIFY_TOKEN header:
https://clearpath--opentable-booker.apify.actor/mcp
Then ask:
Find Italian restaurants in New York for two tonight. Show me the available times, then let me choose a table to book.
For booking, provide your OpenTable email or phone in the actor input and complete the one-time-code login through your assistant. Search, availability checks and successful bookings are charged separately; see Pricing below. Booking creates a real reservation on your account.
| Clearpath · Restaurant & Reservation Tools | ||||
You are here | Available tables | AI reservations | Reservation times | Restaurant leads |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
clearpath/opentable-booker on Apify (Standby actor). Base URL: https://clearpath--opentable-booker.apify.actor. Auth: Authorization: Bearer TOKEN. Endpoints: /mcp (MCP server with 8 tools: search_restaurants, check_availability, book_reservation, my_reservations, cancel_reservation, wallet_cards, login, verify_otp). Full API spec: GET https://api.apify.com/v2/acts/clearpath~opentable-booker/builds/default (Bearer TOKEN) → readme, actorDefinition. Pricing: pay-per-event, search $0.03/call, check availability $0.05/call, book $3.99/booking, login/verify/view/cancel free. Get token: https://console.apify.com/account/integrations To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
Tools
8 tools available to connected AI agents:
-
search_restaurants- Find restaurants with available time slots
- Inputs:
query(string): Restaurant name, cuisine, or keywordcity(string, optional): City name (e.g. "New York", "London")date(string, optional): YYYY-MM-DD format (defaults to today)time(string, optional): HH:MM format (defaults to 19:00)party_size(number, optional): Number of guests (default 2)sort(string, optional): "best", "rating", "distance", or "popularity"limit(number, optional): Max restaurants (default 10)
- Returns restaurants with available slots
- ~$0.03 per call
-
check_availability- Check available time slots for a specific restaurant
- Inputs:
restaurant(string): Restaurant ID, OpenTable URL, or restaurant namedate(string): YYYY-MM-DD formattime(string, optional): HH:MM format (defaults to 19:00)party_size(number, optional): Number of guests (default 2)
- ~$0.05 per call
-
book_reservation- Book a table at an OpenTable restaurant (requires login)
- Inputs:
restaurant(string): Restaurant ID or URLdate(string): YYYY-MM-DD formattime(string): HH:MM format (must match an available slot)party_size(number): Number of guestsphone(string): Your phone number (any format)occasion(string, optional): "NONE", "birthday", "anniversary", "date", "special_occasion", "business_meal"notes(string, optional): Special requestscard_last4(string, optional): Last 4 digits of a saved card to secure a card-required reservation (defaults to your default card)
- Card-required venues return the no-show policy with the result; see Card-required reservations
- $3.99 per booking
-
my_reservations- List your current OpenTable reservations (requires login)
- No inputs required
- Free
-
cancel_reservation- Cancel a reservation by its confirmation number (requires login)
- Inputs:
confirmation_number(string): Frommy_reservationsorbook_reservationresults
- Free
-
wallet_cards- List the saved payment cards on your account (requires login)
- No inputs required
- Returns each card's last 4 digits, type, expiry, and default flag
- Free
-
login- Start login to your OpenTable account via one-time code (no password needed)
- Inputs:
method(string, optional): "email" or "sms" (defaults to email)
- Free
-
verify_otp- Verify the one-time code received after calling
login - Inputs:
code(string): The 6-digit code from your email or SMS
- Free
- Verify the one-time code received after calling
Quick Start
Search for restaurants
{"query": "Italian","city": "New York","date": "2026-03-20","party_size": 4}
Check a specific restaurant
{"restaurant": "151951","date": "2026-03-20","party_size": 2}
Each returned slot includes requiresCreditCard (and cardPolicy, e.g. HOLD, when applicable), so your assistant can tell up front whether a table needs a card on file.
Book a slot
{"restaurant": "151951","date": "2026-03-20","time": "19:30","party_size": 2,"phone": "+15551234567"}
Book at a card-required venue
Turn on Allow card-required reservations in the actor input, then book as usual — the saved card is used automatically. To pick a specific saved card, add card_last4:
{"restaurant": "1200952","date": "2026-06-20","time": "19:30","party_size": 2,"phone": "+15551234567","card_last4": "1585"}
What a booking returns
A successful card-required booking includes the hold policy:
{"success": true,"confirmationNumber": "82861","restaurant": "9 Mile Station","dateTime": "2026-06-20T19:30","partySize": 2,"hold": {"policyType": "HOLD","currency": "USD","cancellable": true,"cancellationCutoff": "2026-06-19T17:00","noShowFee": { "amount": 25, "unit": "perPerson" },"message": "This restaurant requires a credit card to secure this reservation...","cardLast4": "1585"}}
If a booking can't complete, you get a clear reason instead of a generic failure:
{"success": false,"errorCode": "CARD_HOLD_NOT_ENABLED","error": "This restaurant needs a card on file to hold the table. Card-required bookings are turned off.","hold": { "policyType": "HOLD", "currency": "USD", "noShowFee": { "amount": 25, "unit": "perPerson" } }}
Possible errorCode values: NOT_LOGGED_IN, RESTAURANT_NOT_FOUND, CARD_HOLD_NOT_ENABLED, NO_SAVED_CARD, CARD_NOT_FOUND, CARD_DECLINED, SCA_REQUIRED, DEPOSIT_NOT_SUPPORTED, WALLET_UNAVAILABLE, SLOT_TAKEN, OVERLAPPING_RESERVATION, NO_SLOT_AT_TIME, BOOKING_FAILED.
How It Works
- Agent connects to the MCP server endpoint
- Search for restaurants (no login needed):
search_restaurants(query="Italian", city="New York") - Check availability for a specific restaurant:
check_availability(restaurant="151951", date="2026-03-20") - Login when ready to book:
login()thenverify_otp(code="123456") - Book with
book_reservation(restaurant="151951", date="2026-03-20", time="19:30", ...) - Verify with
my_reservations()
Search and availability work without login. Login is only needed for booking, viewing, and cancelling.
One-time login. Your session is encrypted and stored securely. After the first login, calling login(email="...") in future sessions automatically restores your session with no OTP needed. Re-authentication only happens after 14 days of inactivity.
Card-required reservations
Some restaurants require a card on file to hold the table against no-shows. To let the booker complete these:
- Save a card on your OpenTable account (in the OpenTable app or website).
- Turn on Allow card-required reservations in the actor input.
When a reservation requires a card, the booker uses your saved card and returns the no-show policy with the result — the fee, the currency, the cancellation cutoff, and which card (last 4 digits) was used. The fee applies only if you no-show or cancel after the cutoff.
Use the wallet_cards tool to see your saved cards, and pass card_last4 to book_reservation to choose a specific one (otherwise the default card is used).
If a reservation needs extra card verification that can't be completed automatically, the booker returns a clear reason instead of a partial booking.
Pricing — Pay Per Event (PPE)
| Action | Cost |
|---|---|
| Search restaurants | $0.03 |
| Check availability | $0.05 |
| Book a reservation | $3.99 |
| Login, verify, view, cancel | Free |
Configuration
Input Parameters
Credentials are configured in the Apify actor input. Your email/phone is used to send a one-time login code. No password needed.
| Parameter | Type | Description |
|---|---|---|
loginEmail | string | Your OpenTable account email |
loginPhone | string | Your OpenTable phone (any format) |
allowCardRequired | boolean | Allow booking restaurants that require a card to hold the table against no-shows (off by default) |
The server auto-refreshes your session across restarts. Re-login is only needed after 14 days of inactivity.
Replace YOUR_APIFY_TOKEN in all examples below with your Apify API token.
Usage with ChatGPT
ChatGPT supports MCP servers natively (Plus, Pro, Team, Enterprise plans).
- Open Settings > Connectors > Add connector
- Set Name to
OpenTable - Set MCP Server URL to:
https://clearpath--opentable-booker.apify.actor/mcp
- Set Authentication to API Key and set the header:
- Header name:
Authorization - Value:
Bearer YOUR_APIFY_TOKEN
- Header name:
- Click Save
- Start a new chat, click + near the composer, select More, choose OpenTable
Usage with Claude Desktop
Add to your claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{"mcpServers": {"opentable-booker": {"type": "http","url": "https://clearpath--opentable-booker.apify.actor/mcp","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}}}}
Restart Claude Desktop after saving.
Usage with Claude Code
claude mcp add --transport http --scope user opentable-booker \--header "Authorization: Bearer YOUR_APIFY_TOKEN" \https://clearpath--opentable-booker.apify.actor/mcp
Or add to your project's .mcp.json:
{"mcpServers": {"opentable-booker": {"type": "http","url": "https://clearpath--opentable-booker.apify.actor/mcp","headers": {"Authorization": "Bearer ${APIFY_TOKEN}"}}}}
Usage with OpenClaw
Add to ~/.openclaw/openclaw.json:
{"provider": {"mcpServers": {"opentable-booker": {"url": "https://clearpath--opentable-booker.apify.actor/mcp","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}}}}}
Then message your OpenClaw bot on Telegram, WhatsApp, or Discord:
"Find me a table for 2 in London this Saturday"
"What Italian restaurants are available in NYC next Friday?"
"Book the 7:30 PM slot at that restaurant"
The assistant calls the OpenTable Booker, searches availability, and books the reservation for you.
Other MCP Clients
Any client supporting the Streamable HTTP transport works. Use the MCP endpoint URL with your Apify API token as a Bearer auth header.
FAQ
Do I need an OpenTable account? Only for booking. Search and availability checks work without an account.
Can I use this without an AI assistant? Yes. Any MCP client works. You can also call tools programmatically via any MCP SDK.
What restaurants are supported? All restaurants on OpenTable across the US, UK, Germany, France, Italy, Spain, Netherlands, Ireland, UAE, Canada, Mexico, Japan, Australia, and more.
Will it actually book a real reservation?
Yes. book_reservation creates a real reservation on your OpenTable account. Cancel with cancel_reservation.
What happens if a slot is no longer available? The tool returns an error. Search again or try a different time.
Support
- Email: max@mapa.slmail.me
- Bugs: Issues tab
Legal
This actor interacts with OpenTable on behalf of authenticated users. It performs the same actions a user would in the OpenTable app. Users are responsible for complying with OpenTable's terms of service.
Search, book, and manage OpenTable reservations through AI agents.
