# Resy Availability Checker | Real-Time Slots (`clearpath/resy-availability-api`) Actor

Check real-time reservation availability for Resy restaurants. Returns available time slots with booking tokens for any date and party size. Schedule runs to monitor hard-to-book restaurants.

- **URL**: https://apify.com/clearpath/resy-availability-api.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** Lead generation, Travel, Automation
- **Features:** Limited permissions
- **Stats:** 27 total users, 12 monthly users, 43.1% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 1,000 availability checks

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Resy Availability Checker | Real-Time Reservation Slots (2026)

[![Find available tables at hard-to-book restaurants. Reservation times. Seating types. Your party size.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/resy-availability-api-readme-hero-v1.png)](https://console.apify.com/actors/CVwATRirwWw9odbrp/input)

From <strong>Clearpath</strong>, creators of <a href="https://apify.com/clearpath/resy-api">Resy Restaurant Scraper</a>, <a href="https://apify.com/clearpath/opentable-availability-api">OpenTable Availability</a> and <a href="https://apify.com/clearpath/thefork-scraper">TheFork Restaurant Scraper</a>. Restaurant discovery and reservation tools from the same team.

### Why choose this actor?

<strong>Watch the restaurants you actually want.</strong> Check up to 10 Resy restaurant pages for your chosen date and party size. Get current reservation options without searching each restaurant by hand.

<strong>Get the time and the seating type.</strong> Each returned slot includes its start time, end time and seating type, such as Dining Room. Results also include the party size, slot count and check timestamp for your monitoring workflow.

<strong>Keep checking as availability changes.</strong> Schedule repeat runs in Apify and connect the results to your own alerts. Filter for returned slots before sending a notification to Slack, Telegram or another destination.

<a href="https://console.apify.com/actors/CVwATRirwWw9odbrp/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/resy-availability-api-readme-cta-v1.svg" width="258" height="48" alt="Check available tables"/></a>

### Quick start

Check available tables for two at Brooklyn Chop House today:

```json
{
  "startUrls": [
    {
      "url": "https://resy.com/cities/new-york-ny/brooklyn-chop-house-downtown-fidi"
    }
  ],
  "partySize": 2
}
```

Omitting <code>date</code> uses today. <a href="https://console.apify.com/actors/CVwATRirwWw9odbrp/input">Open actor input</a> to choose another date, change the party size or add up to 10 restaurant URLs. Export JSON to preserve the reservation slots. Scheduled monitoring and notifications need to be configured separately; this actor checks availability and does not book tables.

<table><tr><td colspan="5" style="background:#FF462D;color:#17100E;padding:10px 14px;font-size:13px;font-weight:700">Clearpath · Restaurant & Reservation Tools</td></tr><tr><td style="background:#FFDED8;padding:8px 10px;border:1px solid #EDCBC5;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-CVwATRirwWw9odbrp-PfBOKVcVoA-resy-restaurant-scraper-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://console.apify.com/actors/CVwATRirwWw9odbrp/input" style="color:#241613;text-decoration:none;font-weight:700;font-size:13px">Resy Slots</a></span><br><span style="color:#66433B;font-size:12px;white-space:nowrap">You are here</span></td><td style="background:#FFF0EE;padding:8px 10px;border:1px solid #EDCBC5;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-y0MtoPJsc8Ye7Xynn-fdn7CGp8ji-resy-restaurant-scraper-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://apify.com/clearpath/resy-api" style="color:#241613;text-decoration:none;font-weight:700;font-size:13px">Resy Places</a></span><br><span style="color:#66433B;font-size:12px;white-space:nowrap">Restaurant leads</span></td><td style="background:#FFF0EE;padding:8px 10px;border:1px solid #EDCBC5;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-seL7kyUfmf6qnj5ZO-7Tc46618O2-opentable-mcp-server-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://apify.com/clearpath/opentable-availability-api" style="color:#241613;text-decoration:none;font-weight:700;font-size:13px">OpenTable Slots</a></span><br><span style="color:#66433B;font-size:12px;white-space:nowrap">Available tables</span></td><td style="background:#FFF0EE;padding:8px 10px;border:1px solid #EDCBC5;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-Jtb2nC8e8u4B0aXUv-9vhv0q4m14-thefork-scraper-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://apify.com/clearpath/thefork-scraper" style="color:#241613;text-decoration:none;font-weight:700;font-size:13px">TheFork Places</a></span><br><span style="color:#66433B;font-size:12px;white-space:nowrap">Contacts & menus</span></td><td style="background:#FFF0EE;padding:8px 10px;border:1px solid #EDCBC5;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-GzM1sRA0QwmfnUjEb-QxgCbbKvfB-thefork-scraper-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://apify.com/clearpath/thefork-restaurant-reviews" style="color:#241613;text-decoration:none;font-weight:700;font-size:13px">TheFork Reviews</a></span><br><span style="color:#66433B;font-size:12px;white-space:nowrap">Every language</span></td></tr></table>

#### Copy to your AI assistant

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

```
clearpath/resy-availability-api on Apify. Call: ApifyClient("TOKEN").actor("clearpath/resy-availability-api").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: startUrls (array, required: Resy 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~resy-availability-api/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Pricing: $0.99 per 1,000 completed availability checks; each check covers one restaurant, date, and party size, including sold-out results. Failed checks have no availability-check charge. Platform usage included. Get token: https://console.apify.com/account/integrations
```

### Quick Start

#### Check availability for tonight

```json
{
    "startUrls": [
        { "url": "https://resy.com/cities/new-york-ny/carbone" }
    ],
    "partySize": 2
}
```

#### Monitor multiple restaurants for a specific date

```json
{
    "startUrls": [
        { "url": "https://resy.com/cities/new-york-ny/carbone" },
        { "url": "https://resy.com/cities/new-york-ny/don-angie" },
        { "url": "https://resy.com/cities/new-york-ny/4-charles-prime-rib" }
    ],
    "date": "2026-03-15",
    "partySize": 4
}
```

### Input Parameters

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `startUrls` | array | Resy restaurant URLs to check (1-10). Must be venue pages, not city pages. | required |
| `date` | string | Date to check availability for (YYYY-MM-DD). | today |
| `partySize` | integer | Number of guests (1-20). Availability varies by party size. | `2` |

**URL format:** Use restaurant pages like `https://resy.com/cities/new-york-ny/carbone`. City-level pages are not supported. Use the [Resy Scraper](https://apify.com/clearpath/resy-api) for city-wide searches.

### Output

Each successfully checked venue returns one result with nested time slots. Confirmed sold-out venues appear with `slotCount: 0`. Failed or unresolved checks are omitted and reported in the run log; they are never presented as sold out. Duplicate restaurant URLs in one run are checked once.

#### Output Example

[![resy-availability-monitor-screensot.png](https://i.postimg.cc/CK0JTSq7/resy-availability-monitor-screensot.png)](https://postimg.cc/RWPwwrGJ)

```json
{
    "venueId": 87134,
    "name": "Brooklyn Chop House - Downtown FIDI",
    "urlSlug": "brooklyn-chop-house-downtown-fidi",
    "url": "https://resy.com/cities/new-york-ny/brooklyn-chop-house-downtown-fidi",
    "date": "2026-03-06",
    "partySize": 2,
    "slotCount": 16,
    "slots": [
        {
            "startTime": "2026-03-06 12:00:00",
            "endTime": "2026-03-06 13:30:00",
            "type": "Dining Room",
            "token": "rgs://resy/87134/3533613/3/2026-03-06/2026-03-06/12:00:00/2/Dining Room",
            "configId": 1829819
        },
        {
            "startTime": "2026-03-06 17:00:00",
            "endTime": "2026-03-06 18:30:00",
            "type": "Dining Room",
            "token": "rgs://resy/87134/3533613/2/2026-03-06/2026-03-06/17:00:00/2/Dining Room",
            "configId": 1829819
        }
    ],
    "checkedAt": "2026-03-06T15:04:38.817580+00:00"
}
```

#### No Availability Example

```json
{
    "venueId": 6194,
    "name": "Carbone",
    "urlSlug": "carbone",
    "url": "https://resy.com/cities/new-york-ny/carbone",
    "date": "2026-03-06",
    "partySize": 2,
    "slotCount": 0,
    "slots": [],
    "checkedAt": "2026-03-06T15:07:53.149031+00:00"
}
```

### Pricing

**$0.99 per 1,000 completed availability checks**, on every Apify plan. Platform usage is included.

One check covers **one restaurant, one date, and one party size**, regardless of the number of available slots. A confirmed sold-out result counts as a completed check. Failed or unresolved checks have no availability-check charge.

| Monitoring one restaurant for 30 days | Availability-check charges |
|---|---:|
| Every 5 minutes (8,640 checks) | $8.55 |
| Every minute (43,200 checks) | $42.77 |

Set a maximum run charge in Apify to control spending. The actor stops before checking another restaurant when the remaining budget cannot cover its result.

### How to Monitor Resy 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

```python
from apify_client import ApifyClient

client = ApifyClient("your_token")

run = client.actor("clearpath/resy-availability-api").call(run_input={
    "startUrls": [
        {"url": "https://resy.com/cities/new-york-ny/carbone"},
        {"url": "https://resy.com/cities/new-york-ny/don-angie"}
    ],
    "date": "2026-03-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

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'your_token' });

const run = await client.actor('clearpath/resy-availability-api').call({
    startUrls: [
        { url: 'https://resy.com/cities/new-york-ny/carbone' },
        { url: 'https://resy.com/cities/new-york-ny/don-angie' }
    ],
    date: '2026-03-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: How many restaurants can I check per run?**
A: Up to 10 restaurants per run. For bulk restaurant discovery, use the [Resy Scraper](https://apify.com/clearpath/resy-api).

**Q: Do I need a Resy 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 venue.

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

**Q: What are booking tokens?**
A: The `token` field in each slot is the Resy config token used to initiate a booking on the platform.

**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-restaurant URLs are skipped with a warning. Valid URLs in the same batch still process normally.

### Getting Started

1. [Sign up for Apify](https://console.apify.com/sign-up) — no credit card required
2. Open Resy 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](https://mcp.apify.com/). Ask your assistant to check availability in natural language.

#### Setup

1. Go to [mcp.apify.com](https://mcp.apify.com/) and add `clearpath/resy-availability-api` to your MCP server
2. Connect the MCP server to your AI assistant ([OpenClaw](https://docs.openclaw.ai/), Claude Desktop, Cursor, etc.)

#### OpenClaw example

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

```json5
{
  "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.

### Legal Compliance

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

### Support

- **Email**: max@mapa.slmail.me
- **Bugs**: Issues tab on the Actor page
- **Features**: Email or issues

***

*Real-time reservation monitoring for Resy restaurants.*

# Actor input Schema

## `startUrls` (type: `array`):

Resy restaurant URLs to check availability for (1-10).<br><br>Example: <code>https://resy.com/cities/new-york-ny/carbone</code>

## `date` (type: `string`):

Date to check availability for. Defaults to today if left empty.

## `partySize` (type: `integer`):

Number of guests (1-20).

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://resy.com/cities/new-york-ny/brooklyn-chop-house-downtown-fidi"
    }
  ],
  "partySize": 2
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://resy.com/cities/new-york-ny/brooklyn-chop-house-downtown-fidi"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/resy-availability-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://resy.com/cities/new-york-ny/brooklyn-chop-house-downtown-fidi" }] }

# Run the Actor and wait for it to finish
run = client.actor("clearpath/resy-availability-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://resy.com/cities/new-york-ny/brooklyn-chop-house-downtown-fidi"
    }
  ]
}' |
apify call clearpath/resy-availability-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/resy-availability-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/CVwATRirwWw9odbrp/builds/tMOKfspNXjqKWeZHP/openapi.json
