Resy Restaurant Scraper
Pricing
from $10.00 / 1,000 results
Resy Restaurant Scraper
Extracts restaurant information from Resy: venue search by query and geolocation, full venue details, 30-day availability calendars, and optional daily bookable time slots. Read-only feature — does not make reservations.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Jamshaid Arif
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Scrapes restaurant data from Resy: venue search by query + geo, full venue details, 30-day availability calendars, and optional per-day bookable time slots. Read-only — does not place reservations.
What you get
Each item in the dataset is one venue record:
Identity & location
| Field | Description |
|---|---|
venue_id | Resy's numeric venue id |
name | Restaurant name |
url_slug | Slug used in resy.com URLs (e.g. carbone-new-york) |
resy_url | Direct link to the Resy listing |
neighborhood, locality, region, country | Location breakdown |
city_code, city_name, city_url_slug | Resy's city identifiers |
address_1, postal_code | Street address (from detail) |
latitude, longitude | Coordinates |
Core attributes
| Field | Description |
|---|---|
cuisine | Cuisine label set by the restaurant |
price_range_id | Resy's 1–4 price tier |
currency_code, currency_symbol | Currency for prices |
max_party_size | Largest party that can book |
phone, website | Contact info |
rating_average, rating_count | Aggregate ratings |
description | Long-form "About" text (extracted from typed content blocks) |
content_blocks | Full dict of all named content blocks (about, policies, etc.) |
images | Up to 8 image URLs |
collections | Curated lists this venue appears on ("Date Night", "Outdoor", etc.) |
Platform & tier flags
| Field | Description |
|---|---|
booking_platform | Which platform owns the reservation (Resy / Tock / …) |
is_global_dining_access | True if a GDA-tier venue |
is_gdc, is_gns, is_rga, is_tock_inventory | Other inventory-tier flags |
waitlist | True if a waitlist is available |
feature_recaptcha | Whether Resy requires CAPTCHA before booking |
requires_reservation_transfers | Reservation-transfer policy flag |
reopen_date | If temporarily closed, the date they expect to reopen |
travel_time_minutes | Resy's computed travel time from your search geo |
Calendar (when daysAhead > 0)
| Field | Description |
|---|---|
calendar.days_checked | Number of days the calendar request returned |
calendar.days_available | Days with reservation availability |
calendar.available_dates | List of ISO dates with reservation availability |
calendar.sold_out_dates | List of ISO dates sold out |
calendar.event_available_dates | Dates with ticketed-event availability |
calendar.walkin_available_dates | Dates with walk-in capacity |
calendar.days_by_status | Full per-date map of {reservation, event, walk-in} statuses |
Slots (when includeSlots: true)
| Field | Description |
|---|---|
slots | Dict of date → [{start, end, type, min_party, max_party, config_token}] |
Input
| Field | Required | Default | Notes |
|---|---|---|---|
searchTerm | no | italian | Free-text query. Leave empty to skip search. |
latitude | no | 40.7128 | Geographic anchor for search (default: Manhattan). |
longitude | no | -74.0060 | Geographic anchor for search. |
city | no | ny | Resy city slug — used when resolving venues by url_slug. |
venues | no | [] | List of url_slugs or numeric ids to scrape directly. |
maxResults | no | 20 | Max search results. Larger values multiply availability API calls. |
partySize | no | 2 | Used for calendar + slot queries. |
daysAhead | no | 0 | 0 skips availability. Up to 90. |
includeSlots | no | false | When true, also fetches the actual bookable slots per available day. |
apiKey | no | Resy's public key | Override only if Resy rotates the web app key. |
authToken | no | — | Optional. Unlocks user-specific data. |
proxyConfiguration | no | Apify default | Not required for Resy. Available for high-volume runs. |
You must provide at least one of searchTerm or venues. If both are present, results are unioned.
Example input
{"searchTerm": "italian","latitude": "40.7128","longitude": "-74.0060","city": "ny","venues": ["carbone-new-york", "lartusi"],"maxResults": 25,"partySize": 2,"daysAhead": 14,"includeSlots": true,"proxyConfiguration": { "useApifyProxy": true }}
This searches for "italian" near Manhattan, also explicitly scrapes Carbone and L'Artusi, fetches a 14-day calendar for party of 2, and for each available day fetches the bookable time slots.