SYSTEM all green source resy.com queue 12,492 venues p99 latency 184ms dataflirt.com · scraper/resy-com
RUN · 54 active pipelines · resy.com live

Resy availability data,
at warehouse scale.

We extract restaurant profiles, real-time reservation availability, venue metadata, menus, and user ratings from Resy. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Venues extracted
14.2K /day
Availability slots
4.8M /24h
Menu items
890K /run
Active pipelines
54
Uptime
99.98%
Data Dictionary

Every field we extract from resy.com

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Restaurant Profiles objects from resy.com. All fields typed and schema-versioned.

venue_idnameslugneighbourhoodcuisineprice_tierratingreview_countdescriptionaddresslatitudelongitudephone_number
restaurant_profiles
● 200 OK
"venue_id": "1234",
"name": "Lilia",
"slug": "lilia-brooklyn",
"neighbourhood": "Williamsburg",
"cuisine": "Italian",
"price_tier": 3,
"rating": 4.8,
"review_count": 3421
# venue_idnameslugneighbourhoodcuisineprice_tier
1
2
3

Complete list of extractable fields for Table Availability objects from resy.com. All fields typed and schema-versioned.

venue_iddatetime_slotparty_sizetable_typeis_availablebooking_tokenpoint_multiplieramex_exclusive
table_availability
● 200 OK
"venue_id": "1234",
"date": "2026-05-12",
"time_slot": "19:30:00",
"party_size": 2,
"table_type": "Dining Room",
"is_available": true,
"amex_exclusive": false
# venue_iddatetime_slotparty_sizetable_typeis_available
1
2
3

Complete list of extractable fields for Menus objects from resy.com. All fields typed and schema-versioned.

venue_idmenu_namesectionitem_namedescriptionpricecurrencydietary_flagsupdated_at
menus
● 200 OK
"venue_id": "1234",
"menu_name": "Dinner",
"section": "Pasta",
"item_name": "Mafaldini",
"description": "Pink peppercorn, parmigiano",
"price": 28.0,
"currency": "USD",
"dietary_flags": "['Vegetarian']"
# venue_idmenu_namesectionitem_namedescriptionprice
1
2
3

Complete list of extractable fields for Venue Metadata objects from resy.com. All fields typed and schema-versioned.

venue_idamenitiesdress_codeparking_detailscross_streettransit_optionswebsitecancellation_policynotify_waitlist_enabled
venue_metadata
● 200 OK
"venue_id": "1234",
"dress_code": "Smart Casual",
"parking_details": "Street parking available",
"cross_street": "Union Ave",
"website": "https://lilianewyork.com",
"cancellation_policy": "24 hours notice required",
"notify_waitlist_enabled": true
# venue_idamenitiesdress_codeparking_detailscross_streettransit_options
1
2
3

Complete list of extractable fields for Search Results objects from resy.com. All fields typed and schema-versioned.

query_locationquery_datequery_party_sizepositionvenue_idnamematched_timetable_typedistance_miles
search_results
● 200 OK
"query_location": "New York",
"query_party_size": 2,
"position": 1,
"venue_id": "1234",
"name": "Lilia",
"matched_time": "19:30:00",
"table_type": "Dining Room",
"distance_miles": 1.2
# query_locationquery_datequery_party_sizepositionvenue_idname
1
2
3

Capabilities

Everything you need from Resy — nothing you don't

Our Resy scraper handles every layer of the platform: restaurant profiles, real-time inventory, menu updates, and waitlist tracking — with session management and geographic IP routing built in.

Venue Profile Extraction

Name, cuisine, price tiers, address, coordinates, and contact details scraped accurately for every restaurant.

Real-Time Availability

Monitor open slots by date, time, and party size to build historical inventory datasets.

Table Type Mapping

Distinguish between indoor, outdoor, bar seating, and high-tops for precise inventory tracking.

Menu & Pricing Data

Extract sectioned menus, item descriptions, prices, and dietary flags across all available meal times.

Amex Global Dining Access

Identify exclusive inventory gated for specific cardholders directly from the availability payload.

Cancellation Policies

Extract penalty windows, deposit requirements, and no-show fees associated with specific bookings.

Notify Waitlist Tracking

Monitor when venues activate waitlists versus showing open inventory to gauge real demand.

Rating & Review Aggregation

Scrape average scores, review counts, and featured testimonials to track venue reputation.

Geographic Search Results

Track rank position for venues by neighbourhood and cuisine queries within the Resy search engine.

High-Frequency Polling

Run availability checks at minute-level intervals for high-demand venues to capture cancellation drops.

// engagement pipeline

From target list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide target cities, restaurant lists, or specific availability parameters. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy crawlers, proxy rotation, and session management specifically for resy.com.

Validation & QA
d 4–6

Schema validation, null-rate checks, and inventory accuracy tests before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket or data warehouse on schedule.

Under the hood

How our Resy pipeline handles the hard parts

Resy employs strict rate limits and geographic blocking to protect inventory. Here is how we maintain steady extraction.

pipeline-monitor · resy.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Geographic IP Blocking
Region-specific residential proxies

Resy restricts access based on location. We route requests through city-specific residential proxy pools to ensure accurate availability rendering and bypass geographic firewalls.

Dynamic Inventory Allocation
Handling time-to-live tokens

Reservation slots use short-lived session tokens. Our pipeline extracts these tokens alongside the slot data to maintain booking link integrity for downstream applications.

Rate Limiting
Distributed concurrency control

High-frequency polling triggers rate limits. We distribute requests across thousands of IPs with randomised delays to maintain steady extraction without burning proxy pools.

Payload Encryption
Parsing obfuscated API responses

Resy often obfuscates graphQL responses. We intercept and decode the raw JSON payloads directly from the network layer rather than relying purely on DOM scraping.

Schema Volatility
Resilient fallback selectors

Frontend DOM structures change frequently. We map data directly from backend API responses where possible, using DOM selectors only as secondary fallbacks.

Applications

Who uses Resy data — and how

Teams across industries use resy.com data to build competitive products and smarter operations.

01
Hospitality Market Research

Analyse restaurant density, cuisine trends, and price tiers across specific neighbourhoods to inform expansion strategy.

02
Reservation Aggregators

Sync real-time availability into unified booking platforms or high-end concierge applications.

03
Competitive Intelligence

Restaurant groups monitor competitor pricing, menu changes, and booking velocity to adjust their own operations.

04
Real Estate Analysis

Correlate restaurant booking difficulty and price tiers with commercial real estate values to identify emerging neighbourhoods.

05
Dynamic Pricing Models

Analyse menu price fluctuations over time across different hospitality groups to track food inflation.

06
Supply & Demand Forecasting

Track the ratio of open tables to waitlist activations to gauge local dining demand accurately.

Why DataFlirt

"Resy holds the pulse of premium dining demand. Without structured availability data, you are guessing at market trends instead of measuring them."

Extracting real-time inventory from Resy requires precise session management, city-specific residential proxies, and high-frequency polling infrastructure. DataFlirt handles the operational complexity of rate limits and API changes, delivering clean, queryable data directly to your warehouse so your team can focus on analytics.

Technical Spec

Resy scraper — technical capabilities

Everything supported by our resy.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

Real-time availability
Extract open slots by party size and date
Supported
Table type classification
Indoor, outdoor, patio, and bar seating mapped accurately
Supported
Menu item extraction
Descriptions, prices, and dietary tags from all menu sections
Supported
Cancellation policies
Deposit amounts and penalty windows captured per venue
Supported
Venue geographic coordinates
Latitude and longitude extraction for geographic mapping
Supported
Notify waitlist status
Flag if venue is fully booked and accepting waitlist entries
Supported
Amex Global Dining Access tables
Identify which slots require Amex cards for booking
Supported
High-frequency polling
Sub-minute checks for cancellation sniping and real-time alerts
Supported
User reservation history
Gated data requiring individual user authentication
Partial
Booking confirmation completion
Automated checkout and payment processing
Partial
Infrastructure

Infrastructure powering the Resy pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles crawl orchestration and retry logic. Playwright handles JavaScript rendering and session token generation. Combined via scrapy-playwright middleware.

City-Targeted Proxies

We maintain pools of residential ISP proxies targeted to specific metropolitan areas. Rotation happens per-request to bypass geographic availability restrictions.

Cloud-Native Orchestration

Pipelines run on AWS Lambda for high-frequency polling bursts. Airflow handles scheduling and SLA alerting. State stored in managed Postgres.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested — schema versioned per run
CSV
Flat file with typed columns — Excel/Sheets compatible
XLS
Formatted spreadsheet for manual business analysis
Parquet
Columnar format for BigQuery, Snowflake, Athena
AWS S3
Direct bucket delivery — compatible with any data lake
Webhook
HTTP POST per record for real-time downstream processing
API
REST endpoints to query your extracted data on demand
BigQuery
Streamed directly into your dataset with schema auto-detect
Snowflake
Stage + COPY INTO workflow — incremental or full-replace
Postgres
Upsert into your existing schema with conflict resolution
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About resy.com scraping, legality, and pipeline operations.

Ask us directly →
Is scraping Resy legal?

Scraping public restaurant profiles and availability is generally permissible under applicable law. DataFlirt targets only public, non-authenticated venue, pricing, and availability data. We do not extract personal user data or circumvent authentication walls. Clients should review Resy's ToS and consult legal counsel for specific use cases.

How fast can you poll availability?

We can configure pipelines to poll specific high-demand venues at 60-second intervals to capture cancellations instantly. Broad market sweeps typically run on hourly or daily cadences.

Do you support international Resy venues?

Yes, we extract data for venues in London, Sydney, and other global markets, normalising timezones and currencies in the final output.

Can you extract Amex exclusive tables?

We can identify slots tagged as Global Dining Access from the public availability payload, but booking them requires authentication which we do not support.

How do you handle menu variations?

We extract all available menus, such as Dinner, Brunch, and Wine Lists, preserving the section hierarchy and item descriptions exactly as rendered on the venue page.

What format is the availability data?

Availability is delivered as a normalised time-series format, linking venue IDs to specific dates, times, and party sizes, making it immediately queryable in SQL.

Can you track waitlist activity?

We capture the Notify status, indicating when a venue shifts from open inventory to waitlist mode, providing a proxy metric for restaurant demand.

$ dataflirt scope --new-project --source=resy.com ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off restaurant catalogue dump or a continuous availability feed across 10,000 venues — we scope, build, and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Services

Data Extraction for Every Industry

View All Services →