[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# OpenTable API and MCP server: Let your AI agent get you the table.

> OpenTable has no public API and no MCP server (checked 27 Oct 2026). Its Booking, Sync and CRM APIs go to approved integration partners and work per restaurant, not on your diner account. Cotlet runs 13 OpenTable tools hosted, over MCP for agents and REST for scripts.

Read OpenTable saved restaurants and reservations through MCP or REST. Connect your diner account to an agent or a personal planning workflow.

[MCP setup](https://cotlet.dev/integrations/opentable-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/opentable-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with OpenTable
- Page: https://cotlet.dev/integrations/opentable-api-mcp-server

## What can you automate in OpenTable?

- Find open tables for a group
- Watch a full restaurant for a table
- Move or cancel before the fee
- Keep your saved restaurants
- Brief the floor on tonight's guests
- Text the next party on the waitlist

## Does OpenTable have an MCP server or an API?

- ChatGPT can search OpenTable and reserve a table in the chat since 10 Aug 2026. Changes and cancellations go back to OpenTable, and it works only inside ChatGPT.
- No partner endpoint lists the reservations or saved restaurants on your own account. The Online Booking API handles the bookings a partner made.
- Zapier and n8n have no OpenTable app. Make has one built by a third party, not by OpenTable.

| What you need | Partner API | ChatGPT booking | Cotlet |
|---|---|---|---|
| Find open tables and book | After approval | Yes | Yes, after your OK |
| List, move or cancel your reservations | Partner bookings only | Sent to OpenTable | Yes |
| Watch a full restaurant on a schedule | After approval | No | Yes |
| Read the reservation book and guest notes | Sync and CRM tiers | No | Yes |
| Use from Claude, n8n or a script | Your own code | ChatGPT only | Yes |
| Allowed by OpenTable's terms | Yes, official | Yes, official partner | Uses the website |

Checked 27 Oct 2026. Sources: [OpenTable API documentation](https://docs.opentable.com/), [OpenTable's API and Partner FAQs](https://www.opentable.com/restaurant-solutions/api-partners/faqs/), [OpenAI: ChatGPT release notes, 10 Aug 2026](https://help.openai.com/en/articles/6825453-chatgpt-release-notes), [Make: OpenTable community app](https://www.make.com/en/integrations/opentable-community)

## How does Cotlet connect to OpenTable?

1. **Sign in to OpenTable.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your OpenTable password, and no booking reaches a restaurant until you approve it.

## Connect OpenTable to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Turn on OpenTable for agents.** Create a Cotlet account, sign in to OpenTable in its Cloud Browser, then press Enable for agents.
2. **Add the MCP address.** Paste https://cotlet.dev/mcp/v1 into your agent as an MCP server or connector.
3. **Allow the connection.** Chat apps open a Cotlet sign-in. Code editors, n8n and scripts take an API key from the console.

The shared address `https://cotlet.dev/mcp/v1` carries OpenTable next to the other apps you enable. Turned OpenTable on after you connected? Refresh the connector and its tools appear.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-opentable \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-opentable": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-opentable]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: opentable_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: opentable_write
```

## How to use the OpenTable REST API

### Create your Cotlet API key

Sign in to OpenTable in its Cotlet Cloud Browser and enable the app for agents. Use your diner login for saved restaurants; restaurant-book and Guestbook reads require a separate OpenTable for Restaurants login with access.

Create a Cotlet API key with access to OpenTable and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

### Make your first OpenTable API request

cURL: list_saved_restaurants:

```
curl https://cotlet.dev/api/v1/opentable/saved-restaurants \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read saved restaurant IDs before availability

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "opentable",
  "tool": "list_saved_restaurants",
  "result": {
    "saved": [
      {
        "restaurant_id": "rid_120771",
        "name": "Harbor Room",
        "cuisine": "Seafood",
        "neighborhood": "Embarcadero"
      }
    ]
  }
}
```

Read `result.saved`; saved restaurants have no pagination inputs. Use a returned restaurant ID for availability on your selected date and party size.

Diner reservation lists accept status and a limit without a cursor or a documented numeric maximum. A limited list is not an unlimited historical export.

Restaurant reservation-book reads are a separate account role. Availability checks reserve nothing, and table inventory can change between calls.

### OpenTable workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read saved restaurants and dated availability into a dining shortlist without making reservations. |
| Make | HTTP > Make a request | Read diner reservations into a personal itinerary and compare timing on refresh. |
| Python or Node.js | REST API | With restaurant access, read the reservation book and guest records into a shift brief with visit-specific tags. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads OpenTable; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/opentable-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## OpenTable API endpoints and MCP tools

### Find a table

Times are what OpenTable shows at that moment; nothing is held until you book. Saving a restaurant touches only your own list.

- **Search restaurants** (`search_restaurants`, read): Find restaurants with open tables for a place, date, time and party size.
- **Get availability** (`get_availability`, read): List the open times at one restaurant for a date and party size, with its booking policy.
- **List saved restaurants** (`list_saved_restaurants`, read): List the restaurants saved on your OpenTable account.
- **Save restaurant** (`save_restaurant`, write): Add a restaurant to your saved restaurants, or remove it.

### Your reservations

Booking, moving and cancelling reach the restaurant, so each waits for your OK. Bookings that need a card end with a link to finish in OpenTable.

- **List reservations** (`list_reservations`, read): List the upcoming or past reservations on your OpenTable account.
- **Book reservation** (`book_reservation`, write, asks first): Book a table at an open time on your OpenTable account.
- **Modify reservation** (`modify_reservation`, write, asks first): Change the time, date, party size or special request of one of your reservations.
- **Cancel reservation** (`cancel_reservation`, write, asks first): Cancel one of your reservations.

### Restaurant side

Needs an OpenTable for Restaurants login with the reservation book, Guestbook and waitlist. Notes and tags stay inside your team; the waitlist text goes to the guest.

- **List restaurant reservations** (`list_restaurant_reservations`, read): Read your restaurant's reservation book for a date, with party size, status, tags and notes.
- **Get guest** (`get_guest`, read): Read one guest profile from your Guestbook: tags, notes and visit history.
- **Add guest note** (`add_guest_note`, write): Add a note or guest tags to a guest profile in your restaurant's Guestbook.
- **List waitlist** (`list_waitlist`, read): Read the parties on your restaurant's waitlist right now.
- **Notify waitlist party** (`notify_waitlist_party`, write, asks first): Text a party on the waitlist that their table is ready.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/opentable-api-mcp-server#tools

## Who can see my OpenTable session, and how do I revoke it?

- **What we store.** Your signed-in OpenTable profile, AES-256-GCM encrypted, in Finland. No password.
- **What your agent gets.** The 13 OpenTable tools. Never the cookie itself.
- **What the session sees.** Your reservations, saved restaurants and profile; for a restaurant login, its book and Guestbook.
- **What no tool touches.** Card details, card holds, gift cards, your password and deleting the account.
- **If OpenTable sends a code.** Signing in can ask for a code by text or email. You type it, we never do.
- **How to cut access.** Disable for agents, reset the browser, or sign out in OpenTable.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). There is no SOC 2 report or third-party pentest yet.

## Is it against OpenTable's terms? Account safety

> You agree not to (and not to allow any third party to): (1) use any deep-link, robot, spider, scraper, generative AI or other AI technology including, but not limited to, those that operate by interacting with or otherwise making use of your browser, such as automated assistants or other automatic or manual device, process, or means to access, copy, search, or monitor any portion of the Services or OpenTable Content, except as expressly authorized by OpenTable.
>
> [OpenTable Terms of Use, section 13, revised 22 Jul 2026](https://www.opentable.com/c/legal/terms-and-conditions/)

This is the plainest ban on our way of working we have read in any app's terms. OpenTable lets AI book through partners it chose (ChatGPT, Gemini, Copilot, Perplexity, Alexa+), not through your own agent. The same section lets OpenTable cancel reservations and close accounts at its discretion. In public it enforces resale of reservations and no-shows: four no-shows in 12 months suspend an account. We found no case of a diner account closed for using an AI agent (checked 27 Oct 2026). Use these tools knowing the risk is yours.

How we keep your account looking like you:

- Your own OpenTable account, signed in by you
- One Cloud Browser with its own IP and cookies, not a new device on every call
- Bookings, changes and cancellations wait for your OK
- No tool books to resell or holds tables you will not use
- If OpenTable objects, we pause the OpenTable tools for everyone within 24 h

> Keep it to what you would do by hand: a check once a day on a restaurant, not a loop every minute, and cancel what you will not use.

## What happens when OpenTable changes?

- **12 h** between tests of the OpenTable searches and reads
- **$0** for a call to an OpenTable tool paused for repair

When OpenTable renames a field or changes its booking steps, we change the tool and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) checks the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Finds the times.** Searches, reads open times and the cancellation policy.
2. **Shows you the pick.** Restaurant, time, party size and any card rule.
3. **Waits for your OK.** The booking sits in your Cotlet console first.
4. **Reports the booking.** Confirmation number, time and party size.

| Action | Undo |
|---|---|
| Save a restaurant | save_restaurant with saved false, one call |
| Add a guest note or tag | Remove it in the Guestbook |
| Book or move a reservation | modify_reservation or cancel_reservation, after your OK |
| Cancel a reservation | None; book again if the time is still open |
| Text a waitlist party | None; a text cannot be taken back |

4 of 13 tools ask first: book_reservation, modify_reservation, cancel_reservation and notify_waitlist_party. Each one reaches a restaurant or a guest. Searches, saved restaurants and internal guest notes run at once. Switching the wait off is your choice, per tool.

> Where a restaurant needs a card to hold the table, the booking stops with a link to finish in OpenTable. Cotlet never types card numbers.

MCP call:

```
{
  "name": "book_reservation",
  "arguments": {
    "restaurant_id": "rid_104822",
    "slot_id": "sl_7f21",
    "party_size": 6,
    "special_request": "Birthday dinner"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/opentable/restaurants/rid_104822/reservations \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slot_id":"sl_7f21","party_size":6,"special_request":"Birthday dinner"}'
```

Tool output:

```
{
  "reservation_id": "res_55120",
  "restaurant": "Trattoria Verde",
  "date": "2026-10-30",
  "time": "19:00",
  "party_size": 6,
  "status": "confirmed",
  "confirmation": "2048"
}
```

Scripts and cron jobs call the same tools over REST at `/api/v1/opentable`, with the same key and price. A failed call costs nothing. Each tool in the list above shows its REST path.

## How much does the OpenTable MCP server cost?

**About $12 a month** for one diner with a daily watch on one restaurant, 1,990 credits. An OpenTable diner account is free.

| Job | Calls | Credits |
|---|---|---|
| Find and book a table | 4 × 3 | 120 |
| Watch a full restaurant, daily | 1 × 30 | 300 |
| Move a reservation | 3 × 1 | 30 |
| Check what is booked | 1 × 4 | 40 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 1,990 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- Same price for a diner or a restaurant login

The month is our example: 3 bookings, 1 change, a daily check on one fully booked restaurant and 4 looks at what is booked. OpenTable publishes no reservations-per-diner figure, so the volume is our assumption. A restaurant that runs a daily floor briefing makes more calls. Dollars at the $29 pack rate.

## OpenTable MCP server on GitHub, Apify or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [chrischall/opentable-mcp](https://github.com/chrischall/opentable-mcp) | MCP server that sends each request through your signed-in Chrome tab with a browser extension. Search, slots, book, modify, cancel, favorites. MIT, last commit 25 Oct 2026. | Alpha (v0.3.0), no stars yet. Works only while your own Chrome is open on your computer. |
| [markswendsen-code/mcp-opentable](https://github.com/markswendsen-code/mcp-opentable) | Community MCP server that drives the OpenTable website with Playwright: search and book. | Last commit 21 Apr 2026. OpenTable's bot protection answers scripted browsers with a challenge. |
| [jtur671/opentable-watcher-mcp](https://github.com/jtur671/opentable-watcher-mcp) | Watches a restaurant for open times and alerts you. MIT, last commit 25 Jul 2026. | Watch and alert only; it does not book. |
| [Apify OpenTable Booker](https://apify.com/clearpath/opentable-booker) | Hosted actor with MCP: search, availability, book, view and cancel. Paid per event, $3.99 per booking. | Diner side only. No restaurant book, Guestbook or waitlist. |
| [Bright Data OpenTable MCP](https://brightdata.com/ai/mcp-server/opentable) | Paid scraping of public OpenTable pages. | Public data only. It does not sign in or book. |
| ChatGPT restaurant booking | Search and reserve inside ChatGPT, through OpenTable as a partner. | Inside ChatGPT only; changes and cancellations go back to OpenTable. |

If you only book now and then from ChatGPT, its built-in booking is the official route and the safest one. Cotlet is for the rest: moving and cancelling, watching a full restaurant on a schedule, the restaurant side, and any agent besides ChatGPT, hosted.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet, a software company registered in Poland, EU (VAT PL6342984273), working since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the OpenTable tools go to contact@cotlet.dev.

## OpenTable API and MCP: questions

### Can I use the OpenTable API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

### How do I get access?

Create a free account at https://cotlet.dev, open OpenTable under Integrations in the console and sign in to OpenTable in its Cloud Browser. The trial starts with your first app, no card asked.

### Does ChatGPT already book OpenTable?

Yes, for search and booking. Since 10 Aug 2026 ChatGPT can show OpenTable times and reserve a table in the chat, and sends you to OpenTable when a credit card is required (OpenAI Help Center release notes). It does not list, change or cancel the reservations on your account, and it does not work in Claude Code, n8n or a script. Cotlet does all of these on your own account.

### What happens if I do not show up?

OpenTable asks diners to cancel reservations they cannot honor at least 30 minutes ahead, and a restaurant can set its own cancellation policy with a fee (OpenTable Terms of Use). get_availability returns that policy before you book, and cancel_reservation cancels in one call after your OK.

### Which login does the restaurant side need?

An OpenTable for Restaurants login with access to the reservation book, the Guestbook and the waitlist. Guest tags stay on a guest profile for future visits, and visit tags stay on one reservation (OpenTable Support: Understand guest needs with custom tags).

### Can it get a table at a fully booked restaurant?

It can check one restaurant on a schedule and book after your OK when a time opens. It cannot create tables that are not offered. OpenTable's terms ban reselling reservations, and a resold or unused booking puts the account at risk.

### Does it work outside the US?

It works in your own OpenTable account on the OpenTable site of your country. Restaurants, times and card rules are what that site shows.

### Is the MCP server different from the REST API?

Only the way in differs. Both carry the same 13 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with OpenTable?

No. Cotlet is independent and not affiliated with OpenTable or Booking Holdings.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
