OpenTable Availability Checker | Real-Time Slots avatar

OpenTable Availability Checker | Real-Time Slots

Pricing

from $29.00 / 30-day access pass

Go to Apify Store
OpenTable Availability Checker | Real-Time Slots

OpenTable Availability Checker | Real-Time Slots

Check real-time reservation availability for OpenTable restaurants. Returns available time slots for any date and party size. Schedule runs to monitor hard-to-book restaurants. 24-hour free trial, then $29 for 30 days of access — no automatic renewal.

Pricing

from $29.00 / 30-day access pass

Rating

0.0

(0)

Developer

ClearPath

ClearPath

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

OpenTable Availability Checker | Real-Time Reservation Slots (2026)

Reservation Actor Suite   •  Real-time slots and AI booking for OpenTable & Resy
 OpenTable Availability
➤ You are here
 OpenTable Booker
AI booking via MCP
 Resy Booker
AI booking via MCP
 Resy Availability
Real-time slot tracking

Check real-time reservation slots for specific OpenTable restaurants. Paste restaurant URLs, pick a date and party size, get back every available time slot. Designed for scheduled monitoring: run it every minute and get notified via webhook when slots open at hard-to-book restaurants.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

clearpath/opentable-availability-api on Apify. Call: ApifyClient("TOKEN").actor("clearpath/opentable-availability-api").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: startUrls (array, required: OpenTable restaurant URLs), date (string, YYYY-MM-DD), partySize (integer). Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/clearpath~opentable-availability-api/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Pricing: 24h free trial, then $29 for 30 days (no auto-renewal). Get token: https://console.apify.com/account/integrations

Quick Start

Check availability for tonight

{
"startUrls": [
{ "url": "https://www.opentable.com/r/providence-los-angeles" }
],
"partySize": 2
}

Monitor multiple restaurants for a specific date

{
"startUrls": [
{ "url": "https://www.opentable.com/r/carbone-new-york" },
{ "url": "https://www.opentable.com/r/don-angie-new-york" },
{ "url": "https://www.opentable.com/r/4-charles-prime-rib-new-york" }
],
"date": "2026-06-15",
"partySize": 4
}

Input Parameters

ParameterTypeDescriptionDefault
startUrlsarrayOpenTable restaurant URLs to check (1-10). Must be restaurant pages, not search or city pages.required
datestringDate to check availability for (YYYY-MM-DD).today
partySizeintegerNumber of guests (1-20). Availability varies by party size.2

URL formats accepted:

  • https://www.opentable.com/r/<slug> (e.g. providence-los-angeles)
  • https://www.opentable.com/<slug> (short form)
  • https://www.opentable.com/restref/client/?rid=<id>
  • .../profile/<id>
  • Raw numeric restaurant ID

For AI-driven restaurant search and booking, use the OpenTable Booker.

Output

Each restaurant returns one result with nested time slots. Restaurants with no availability still appear with slotCount: 0, confirming the check ran.

Output Example

{
"restaurantId": "215029",
"name": "Providence",
"url": "https://www.opentable.com/r/providence-los-angeles",
"date": "2026-06-15",
"partySize": 2,
"slotCount": 12,
"slots": [
{
"startTime": "2026-06-15T17:30",
"time": "2026-06-15T17:30",
"type": "Dining Room",
"hash": "a3f2e1...",
"token": "..."
},
{
"startTime": "2026-06-15T19:00",
"time": "2026-06-15T19:00",
"type": "Dining Room",
"hash": "b7c4d8...",
"token": "..."
}
],
"checkedAt": "2026-06-15T15:04:38.817580+00:00"
}

No Availability Example

{
"restaurantId": "1234",
"name": "Carbone",
"url": "https://www.opentable.com/r/carbone-new-york",
"date": "2026-06-15",
"partySize": 2,
"slotCount": 0,
"slots": [],
"checkedAt": "2026-06-15T15:07:53.149031+00:00"
}

Each slot contains both startTime and time carrying the same ISO timestamp. startTime is the cross-platform alias for integrations that already consume Resy availability data; time is the canonical OpenTable field.

Pricing

24-hour free trial, then $29 for a 30-day pass — no automatic renewal.

Free trial (24 hours)

  • Trigger: automatic on your first run, no setup required.
  • Duration: 24 hours from your first run, unlimited checks within that window.
  • Limit: once per Apify user, lifetime.
  • Cost: zero. No card, no run budget required during the trial.

Monthly pass (after the trial)

  • Price: $29 for 30 days of access.
  • Activation: triggered automatically on your first run after the trial (or after a previous pass) has expired.
  • Run budget: to activate a new pass, the run's max charge limit must allow at least $29. Set this in the run settings.
  • No automatic renewal: no background jobs, no hidden subscriptions.
  • Pass active: runs during the 30 days do not trigger a new charge.
  • Pass expired: a new pass is activated only when you relaunch the actor.
  • Stop using the actor: if the pass expires and you do not relaunch, nothing is charged.

The run logs always state which state you are in: trial started, trial active, pass active, or pass just activated.

How to Monitor OpenTable Availability

The main use case: schedule this actor to run periodically and get notified when slots open.

  1. Configure — Add your target restaurant URLs, set date and party size
  2. Schedule — Create a schedule in the Apify console (every minute for hot restaurants, hourly for general monitoring)
  3. Connect — Attach a webhook to get notified when runs complete. Connect to Slack, Discord, Telegram, Zapier, or your own endpoint

API Integration

Python

from apify_client import ApifyClient
client = ApifyClient("your_token")
run = client.actor("clearpath/opentable-availability-api").call(run_input={
"startUrls": [
{"url": "https://www.opentable.com/r/carbone-new-york"},
{"url": "https://www.opentable.com/r/don-angie-new-york"}
],
"date": "2026-06-15",
"partySize": 2
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["slotCount"] > 0:
print(f"{item['name']}: {item['slotCount']} slots available")
for slot in item["slots"]:
print(f" {slot['startTime']} - {slot['type']}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your_token' });
const run = await client.actor('clearpath/opentable-availability-api').call({
startUrls: [
{ url: 'https://www.opentable.com/r/carbone-new-york' },
{ url: 'https://www.opentable.com/r/don-angie-new-york' }
],
date: '2026-06-15',
partySize: 2
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.filter(i => i.slotCount > 0).forEach(item => {
console.log(`${item.name}: ${item.slotCount} slots`);
});

Data Export

  • JSON — Nested slot arrays fully preserved
  • CSV — Flat fields, arrays serialized
  • Excel — Spreadsheet-ready

FAQ

Q: Is there a free trial? A: Yes — 24 hours of unlimited checks from your first run, once per Apify user, lifetime. No card or run budget required during the trial.

Q: What happens after the trial ends? A: The next run activates a 30-day pass for $29. The pass charge fires automatically only if your run's max charge limit allows at least $29. If you do not relaunch the actor, nothing is charged.

Q: Does the pass renew automatically? A: No. There is no background renewal. Each new 30-day pass is activated only when you launch a new run after the previous pass has expired.

Q: How many restaurants can I check per run? A: Up to 10 restaurants per run. For AI-driven search across many restaurants, use the OpenTable Booker.

Q: Do I need an OpenTable account? A: No. Availability data is fetched without authentication.

Q: What if a restaurant has no availability? A: It still appears in results with slotCount: 0 and slots: []. This confirms the check ran rather than silently skipping the restaurant.

Q: How current is the data? A: Real-time. Each run fetches live availability at the moment of execution.

Q: Why do slots have both startTime and time? A: Both carry the same ISO timestamp. startTime is provided as a cross-platform alias so code written for Resy availability works unchanged; time is the canonical OpenTable field for new integrations.

Q: Does party size affect results? A: Yes. Larger parties have fewer available slots since restaurants need to accommodate more seats.

Q: What happens with invalid URLs? A: Invalid or non-OpenTable URLs still produce a row with an error field. Valid URLs in the same batch process normally.

Getting Started

  1. Sign up for Apify — no credit card required
  2. Open OpenTable Availability Checker
  3. Paste a restaurant URL and click Start
  4. Schedule recurring runs and attach webhooks for monitoring

Use with AI Assistants (OpenClaw, Claude, etc.)

Connect this actor to AI assistants via Apify's MCP server. Ask your assistant to check availability in natural language.

Setup

  1. Go to mcp.apify.com and add clearpath/opentable-availability-api to your MCP server
  2. Connect the MCP server to your AI assistant (OpenClaw, Claude Desktop, Cursor, etc.)

OpenClaw example

Add Apify's MCP server to ~/.openclaw/openclaw.json:

{
"provider": {
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
}

Then message your OpenClaw bot on Telegram, WhatsApp, or Discord:

"Are there any openings at Carbone this Saturday for 2?"

"Check if Don Angie or 4 Charles has availability next Friday evening"

"Monitor Carbone for the next week, let me know if anything opens up"

The assistant calls the Availability Checker, interprets the results, and tells you exactly which time slots are open.

Extracts publicly available reservation data. Users must comply with OpenTable's terms of service and applicable data protection regulations (GDPR, CCPA).

Support


Real-time reservation monitoring for OpenTable restaurants.