TheFork Restaurant Intelligence Scrapper avatar

TheFork Restaurant Intelligence Scrapper

Pricing

Pay per event

Go to Apify Store
TheFork Restaurant Intelligence Scrapper

TheFork Restaurant Intelligence Scrapper

Comprehensive restaurant intelligence from TheFork platform. Get detailed venue data, pricing, reviews, ratings, and availability across 11 European countries. Enterprise-grade reliability with 99.9 % success rate.

Pricing

Pay per event

Rating

3.3

(2)

Developer

Data Collector

Data Collector

Maintained by Community

Actor stats

1

Bookmarked

44

Total users

9

Monthly active users

1 days

Issues response

an hour ago

Last modified

Share

TheFork Restaurant Intelligence Scraper

The most comprehensive TheFork data extraction tool on Apify. Get complete restaurant profiles, full menus with prices, and detailed customer reviews from Europe's #1 restaurant booking platform.

Why This Scraper?

FeatureThis ScraperOthers
Proxy costs$0 - included$5-50/month
Data completeness100% - all fields30-60%
Menu extractionFull menus with pricesNot available
Photo extractionFood + Customer photosNot available
Success rate99%+70-90%

Pay only for results, not infrastructure. No proxy setup, no maintenance, no hidden fees.


Performance Benchmark

Data TypeSpeedNotes
Restaurants1,500/minFrom city pages
Reviews3,000/minFrom restaurant pages
Menus3,000/minWith restaurant extraction

Benchmarks measured with optimal proxy pool. Actual speeds may vary based on TheFork server load.


What You Get

From City Pages (/restaurants/paris-c415144)

Extract complete restaurant profiles including:

  • Basic info (name, address, coordinates, contact)
  • Ratings & review counts
  • Full pricing data (average price, price level)
  • Complete tag system (cuisine, atmosphere, dietary, payment methods)
  • Current promotions & discounts
  • Booking availability & timeslots
  • Full menus with all dishes and prices (optional)
  • Photos - professional food shots & customer uploads (optional)
  • FAQ data
  • Michelin stars, Gault & Millau ratings

From Restaurant Pages (/restaurant/name-r123456)

Extract detailed customer reviews including:

  • Rating value (0-10 scale)
  • Full review text
  • Meal date & time
  • Reviewer profile (name, avatar, total reviews)
  • Restaurant replies
  • Likes count
  • Filter by language, occasion, date range

Setup

This Actor requires an API key to access the ForkData backend.

  1. Get your API key from fork-data.io
  2. In the Apify Console, go to your Actor Settings → Environment Variables
  3. Add: FORKDATA_API_KEY = your_api_key_here

Without a valid API key, the Actor will fail to start.


Quick Start

Extract 100 Restaurants from Paris

{
"urls": ["https://www.thefork.com/restaurants/paris-c415144"],
"maxRestaurants": 100
}

Cost: ~$1.01

Extract Reviews from a Restaurant

{
"urls": ["https://www.thefork.com/restaurant/le-jules-verne-r58649"],
"maxReviews": 200,
"reviewsTimeframe": "1m"
}

Cost: ~$0.21

Full Data Package (Restaurants + Menus + Reviews)

{
"urls": ["https://www.thefork.com/restaurants/lisbon-c522301"],
"maxRestaurants": 50,
"includeMenu": true,
"includeReviewsForRestaurants": true,
"maxReviewsPerRestaurant": 20
}

Cost: ~$1.66


Input Parameters

URLs (Required)

ParameterTypeDescription
urlsarrayTheFork URLs to scrape (1-10). Mix city and restaurant URLs freely. The scraper auto-detects URL type.

Example URLs:

  • City: https://www.thefork.com/restaurants/paris-c415144
  • Restaurant: https://www.thefork.com/restaurant/le-jules-verne-r58649

Restaurant Extraction Settings

Applied when scraping city pages

ParameterTypeDefaultRangeDescription
maxRestaurantsinteger1001-1000Restaurants per city URL
includeMenubooleanfalse-Extract full menu data
includeReviewsForRestaurantsbooleanfalse-Fetch reviews for each restaurant
maxReviewsPerRestaurantinteger501-500Reviews limit per restaurant
reviewsTimeframeselect7d-Time filter for reviews (also applies to restaurant reviews)

Photo Extraction (Cost Warning)

ParameterTypeDefaultRangeDescription
includeFoodPhotosbooleanfalse-Professional food photos. Adds cost!
maxFoodPhotosinteger301-100Limit food photos per restaurant
includeCustomerPhotosbooleanfalse-Customer-uploaded photos. Adds cost!
maxCustomerPhotosinteger301-100Limit customer photos per restaurant

Cost tip: Photos are billed per batch of 10. Set maxFoodPhotos: 10 to minimize costs while still getting samples.


Review Extraction Settings

Applied when scraping restaurant pages

ParameterTypeDefaultDescription
maxReviewsinteger100Max reviews per restaurant (1-5000)
reviewsTimeframeselect7dTime filter for reviews

Timeframe options:

  • 1d - Last 24 hours
  • 7d - Last week
  • 1m - Last month
  • 6m - Last 6 months
  • 1y - Last year
  • all - All time

Review Filters

Fine-tune which reviews to extract

ParameterTypeDefaultOptions
reviewsWithTextselectWITH_REVIEWALL (all ratings), WITH_REVIEW (text only)
reviewsOrderByselectMEAL_DATEMEAL_DATE (newest), RATING (highest)
reviewsSortDirectionselectDESCDESC, ASC
reviewsLanguagetextallall or language code (en, fr, de, es, it, pt, nl)
reviewsOccasionselect-BUSINESS, FRIENDS, ROMANTIC, FAMILY, ALONE

Pricing (Pay Per Event)

You only pay for extracted data. No proxy fees. No platform fees.

Extraction Events

EventPriceWhen Charged
Actor Start$0.005Once per run
Restaurant$0.01Per restaurant extracted
Menu$0.003Per restaurant with menu data
Photos (batch)$0.001Per 10 photos (food or customer)
Review$0.001Per review extracted

Webhook Monitoring (Coming Soon)

PlanPriceIncluded
Base$20/monthUp to 3 monitored URLs
Additional URL$5/monthPer extra URL beyond 3

Example: Monitoring 5 URLs = $20 + (2 × $5) = $30/month

Cost Examples

ScenarioBreakdownTotal
100 restaurants (basic)$0.005 + 100 × $0.01$1.01
100 restaurants + menus$0.005 + 100 × $0.01 + 100 × $0.003$1.31
100 restaurants + menus + 30 photos each$1.31 + 100 × 3 × $0.001$1.61
500 reviews$0.005 + 500 × $0.001$0.51
50 restaurants + 20 reviews each$0.005 + 50 × $0.01 + 50 × $0.003 + 1000 × $0.001$1.66

Cost Control Tips

  1. Start small - Test with maxRestaurants: 10 first
  2. Skip photos initially - Add them only if needed
  3. Use timeframe filters - reviewsTimeframe: "1m" reduces review volume
  4. Set photo limits - maxFoodPhotos: 10 gives samples without high costs

Output Data

Restaurant Object (Complete)

{
"_type": "restaurant",
"id": "26201",
"uuid": "e3a4ef96-0b29-46b5-8ac6-66788a4c4435",
"name": "Restaurant Auguste - Gael Orieux",
"url": "https://www.thefork.com/restaurant/restaurant-auguste-gael-orieux-r26201",
"address": {
"street": "54, rue de Bourgogne",
"zip_code": "75007",
"locality": "Paris",
"country": "France"
},
"geolocation": {
"latitude": 48.85616,
"longitude": 2.31712
},
"rating": {
"score": 9.5,
"review_count": 3626
},
"cuisine": "French",
"price_level": 4,
"avg_price": {
"value": 10000,
"currency": "EUR",
"formatted": "100.00 EUR"
},
"is_bookable": true,
"tags": {
"payment": ["Credit Card", "Mastercard", "Visa", "TheFork Pay"],
"features": ["Lobster", "Seafood platter", "Wifi", "Air-conditioning", "Sommelier"],
"cuisine": ["French", "European"],
"atmosphere": ["Cosy", "Fine Dining", "Romantic", "Good for a business lunch"],
"dietary": ["Gluten free", "Peanut allergy"],
"other": ["1 star MICHELIN", "INSIDER", "Gault & Millau 2020", "Top Chefs"]
},
"main_photo": {
"url": "https://cdn.thefork.com/tf-lab/image/upload/restaurant/..."
},
"photos_count": 45,
"has_offer": true,
"promo": {
"id": "12f8dc16-4c43-4595-81aa-02df6f550566",
"discount_percentage": 30,
"label": "-30% on the menu"
},
"can_burn_yums": true,
"timeslots": [
{"time": 1140, "has_availability": true, "can_burn_yums": false},
{"time": 1200, "has_availability": true, "can_burn_yums": true}
],
"menu": {
"a_la_carte": {
"id": "306c6a62-74f6-444d-9f3f-6e5ac6a780ca",
"updated_at": "2026-01-12T09:46:17.848Z",
"sections": [
{
"name": "Starter",
"items": [
{
"id": "ada40e83-195f-4526-967a-b757d39fb801",
"name": "Escargots et chantilly des sous-bois",
"description": "Soupe d'oignons roses de Roscoff",
"price": {"value": 3900, "currency": "EUR", "formatted": "39.00 EUR"},
"is_main_dish": false
}
]
},
{
"name": "Main course",
"items": [
{
"name": "Homard bleu roti, aigre douce de carotte",
"description": "Pulpe fruitee",
"price": {"formatted": "79.00 EUR"},
"is_main_dish": true
}
]
}
]
},
"preset_menus": [
{
"id": "22d930e4-fec0-4501-ad25-8cf83c9cb750",
"name": "Menu Instant Michelin",
"price": {"value": 9600, "formatted": "96.00 EUR"},
"description": "Appetizer + Fish + Meat + Dessert",
"is_bookable": true,
"valid_date_start": "2023-01-05",
"valid_date_end": "2030-12-31"
}
]
},
"photos": {
"header_photo": "https://cdn.thefork.com/...",
"food_photos": [
{"url": "https://cdn.thefork.com/...", "title": "Signature dish"}
],
"customer_photos": [
{"url": "https://cdn.thefork.com/...", "title": "Customer photo"}
]
},
"faq": [
{
"question": "Does Restaurant Auguste have special offers?",
"answer": "Yes, Restaurant Auguste is offering 30% off the menu!"
},
{
"question": "Does Restaurant Auguste have vegetarian options?",
"answer": "Yes, vegetarian options are available on the menu."
}
],
"scraped_at": "2026-01-19T20:55:13.912457",
"_source_url": "https://www.thefork.com/restaurants/paris-c415144"
}

Review Object (Complete)

{
"_type": "review",
"id": "205eb51c-ebdd-4d37-92be-fa171c41ee56",
"restaurant_id": "1567",
"restaurant_name": "Antigua",
"rating_value": 10,
"meal_date": "2026-01-16T17:30:00.000Z",
"review_body": "Excellent experience! The seafood paella was perfectly seasoned, generous portions, and the service was impeccable. Will definitely return.",
"likes": 5,
"reviewer": {
"id": "3120af53-78ec-44a1-b1a7-a3c4629b720c",
"first_name": "Marie",
"last_name": "D.",
"name": "Marie D.",
"avatar_url": "https://lh3.googleusercontent.com/a/ACg8ocI...",
"review_count": 28
},
"scraped_at": "2026-01-19T20:56:36.268699",
"_source_url": "https://www.thefork.com/restaurant/antigua-r1567"
}

Field Reference

Restaurant Fields

FieldTypeDescription
idstringTheFork restaurant ID
uuidstringUnique identifier
namestringRestaurant name
urlstringTheFork page URL
addressobjectStreet, zip_code, locality, country
geolocationobjectLatitude, longitude
ratingobjectScore (0-10), review_count
cuisinestringPrimary cuisine type
price_levelinteger1-4 ($ to $$$$)
avg_priceobjectValue (cents), currency, formatted
is_bookablebooleanCurrently accepting bookings
tagsobjectpayment, features, cuisine, atmosphere, dietary, other
main_photoobjectPrimary image URL
photos_countintegerTotal photos available
has_offerbooleanActive promotion
promoobjectDiscount details if active
timeslotsarrayAvailable booking times
menuobjectFull menu data (if enabled)
photosobjectheader_photo, food_photos, customer_photos (if enabled)
faqarrayRestaurant FAQ
scraped_atstringExtraction timestamp

Review Fields

FieldTypeDescription
idstringReview unique ID
restaurant_idstringParent restaurant ID
restaurant_namestringRestaurant name
rating_valueintegerRating 0-10
meal_datestringWhen the meal occurred
review_bodystringReview text content
likesintegerCommunity likes
reviewerobjectReviewer profile details
scraped_atstringExtraction timestamp

Use Cases

Market Research & Competitive Analysis

  • Map restaurant landscape in target cities
  • Track competitor pricing and menu changes
  • Identify market gaps and opportunities

Business Intelligence

  • Monitor customer sentiment trends
  • Analyze review patterns by time/occasion
  • Track promotional activity

Investment & Due Diligence

  • Evaluate restaurant performance metrics
  • Identify high-growth establishments
  • Assess market saturation
  • Compare pricing across cuisines/locations
  • Track menu item popularity
  • Analyze price-to-rating correlations

Webhooks

Apify Platform Webhooks (Free)

Receive results automatically via Apify webhooks:

  1. Go to Integrations in your Apify account
  2. Create webhook for ACTOR.RUN.SUCCEEDED
  3. Enter your endpoint URL
  4. Receive complete dataset on every run

This is a standard Apify feature - no additional cost.

Built-in Real-Time Monitoring (Coming Soon)

Automated monitoring webhooks for continuous tracking:

Features:

  • Restaurant change detection (rating, pricing, menu updates)
  • New review alerts as they're posted
  • Promotion & discount notifications
  • Configurable check intervals (hourly to monthly)

Pricing:

PlanMonthly CostWhat's Included
Base Subscription$20Monitor up to 3 URLs
Additional URLs+$5 eachPer URL beyond the first 3

Examples:

  • Monitor 1 restaurant: $20/month
  • Monitor 3 restaurants: $20/month
  • Monitor 5 restaurants: $20 + (2 × $5) = $30/month
  • Monitor 10 restaurants: $20 + (7 × $5) = $55/month

How it works:

  1. Enable webhook monitoring in input
  2. Specify URLs to monitor and your webhook endpoint
  3. Receive automatic notifications when data changes
  4. Billed monthly via PPE events

This feature is under development. Configure webhookUrl to be notified when it launches.


Coverage

TheFork operates in 12 European countries with 55,000+ restaurants:

France, Italy, Spain, Belgium, Netherlands, Switzerland, Portugal, Austria, Sweden, Denmark, Czech Republic, United Kingdom


FAQ

Do I need proxies? No. Our infrastructure handles everything. You pay only for results.

What's the maximum URLs per run? 10 URLs. For larger volumes, schedule multiple runs.

How fresh is the data? Real-time extraction directly from TheFork.

Can I mix city and restaurant URLs? Yes. The scraper auto-detects and processes both types.

How do I control costs?

  • Use lower limits (maxRestaurants, maxReviews)
  • Disable photos unless needed
  • Use reviewsTimeframe to limit review volume

Support

Issues or questions? Create a ticket in the Apify console.


This scraper is an independent product and is not affiliated with, endorsed by, sponsored by, or in any way officially connected with TheFork SAS, TripAdvisor LLC, or any of their subsidiaries or affiliates.

The name "TheFork" and related trademarks are the property of their respective owners. This tool is provided for legitimate data collection purposes such as market research, competitive analysis, and business intelligence.

Users are solely responsible for:

  • Ensuring their use complies with applicable laws and regulations
  • Respecting TheFork's Terms of Service and robots.txt
  • Using extracted data ethically and legally
  • Any consequences arising from the use of this tool

The developer assumes no liability for misuse of this software or any damages resulting from its use.


License: Apache 2.0