Skip to content

TheFork Scraper

Try for free

Scrape TheFork restaurants: ratings, prices, address, phone, menus, reviews and photos from city, search and restaurant pages across Europe.

🍽️ TheFork Scraper

Turn TheFork (LaFourchette) city pages, searches and restaurant pages into clean restaurant data: ratings, average price, address with coordinates, phone, opening hours, menus with dish prices, reviews, photos, deals and awards. Works for every TheFork country (France, Italy, Spain, Germany, Netherlands, Switzerland, Belgium, Austria, Portugal, Sweden, UK) with no login and no browser, and 20 restaurants arrive in well under a minute.

✨ Why use TheFork Scraper?

  • ⚡ Fast: reads TheFork's own data feed instead of rendering pages, so a 20-restaurant run with reviews and photos finishes in under 20 seconds and 1,000 restaurants take about 2.5 minutes.
  • 🧾 Complete restaurant rows: rating and rating breakdown (food, service, ambience), average price, cuisine, phone, full address and coordinates, opening hours, booking slots, features, payment methods, legal and contact details.
  • 📋 Menus with prices: the à la carte menu section by section with dish prices, plus set menus and current offers.
  • 💬 Reviews and photos included: up to 100 reviews per restaurant are part of the restaurant price, in all languages or the one you pick, plus the restaurant's photos and diner photos.
  • 🔎 Search like on the site: paste city, neighbourhood or cuisine pages, or type a place such as Barcelona or Lyon 2e, then filter by price, rating, cuisine, deals and sort order.
  • 🌍 Any language: get cuisine names, tags and links in English, French, German, Italian, Spanish, Dutch, Portuguese or Swedish.

🎯 Use cases

  • 📈 Lead generation: build lists of restaurants in a city or neighbourhood with phone, website, email and company register number.
  • 💶 Price and offer monitoring: track average prices, set menus and discount campaigns (TheFork Festival, -30% / -50% deals) across a market.
  • ⭐ Reputation and review analysis: collect ratings and the newest reviews for sentiment analysis, benchmarking or alerting.
  • 🗺️ Market research: map restaurant density, cuisines and price levels per city or district using coordinates.
  • 🍷 Hospitality and food-tech data: feed menus, dishes, features and photos into apps, recommendation engines or delivery and booking tools.

🚀 How to use

  1. Paste one or more TheFork URLs (a city page such as https://www.thefork.com/restaurants/paris-c415144, a neighbourhood or cuisine page, a search URL or single restaurant pages), or type a city or address under Search locations.
  2. Set Max restaurants and, if you like, filters such as price, rating, cuisine or "Promotions only".
  3. Choose how many reviews and diner photos you want per restaurant, and the output language.
  4. Click Start. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlsTheFork restaurant, city, neighbourhood, cuisine or search URLs from any TheFork country site
searchLocationsCities, neighbourhoods or addresses to search, e.g. Barcelona, Milano, Lyon 2e
maxRestaurantsRestaurants to save in total (default 20, 0 = no limit)
sort, cuisineTagIds, minPrice, maxPrice, minRating, maxRating, bestRated, promotionsOnlySearch order and filters
searchRadiusKmRadius around a typed address (cities use their own boundaries)
maxReviews, reviewLanguageNewest reviews per restaurant (default 20) and their language
maxPhotosDiner photos per restaurant (default 20)
languageOutput language for cuisines, tags and links
proxyProxy settings (residential exits in France by default)
{
  "startUrls": ["https://www.thefork.com/restaurants/paris-c415144"],
  "searchLocations": ["Barcelona"],
  "maxRestaurants": 50,
  "minRating": 9,
  "maxPrice": 40,
  "maxReviews": 20,
  "reviewLanguage": "all",
  "language": "en"
}

📤 Output

One row per restaurant. Reviews, photos and menus are nested lists; the Reviews table view shows one row per review.

FieldDescription
name, url, id, legacy_id, cuisineIdentity and main cuisine
avg_price, avg_price_currencyAverage price per person
thefork_rating, thefork_review_count, food_rating, service_rating, ambience_rating, review_count, tripadvisor_ratingRatings
phone, street, zip_code, locality, country, latitude, longitudeContact and location
legal_website, legal_email, legal_register_name, legal_register_numberTrader details the restaurant publishes
opening_hours, bookable_intervals, vacation, is_bookableOpening and booking times
best_promotion_percentage, marketing_offer, menus, available_menusDeals and menus with dish prices
tags, highlighted_tags, feature_categories, payment_accepted, food_requirementsFeatures and tags
most_mentioned_dishes, language_stats, michelin, tf_awards_year, is_insider, top_chart_rankInsights and awards
restaurant_photos, header_photos, customer_photos, customer_photos_totalPhotos
reviewsNewest reviews: rating, meal date, text, reviewer, restaurant reply, photos

Sample from a test run (trimmed; the reviewer is replaced by a fictional person):

{
  "id": "c79fac7e-58c8-4092-85bb-50fe85aefde4",
  "legacy_id": 835950,
  "name": "L'Osteria Paris Chatelet",
  "url": "https://www.thefork.com/restaurant/l-osteria-paris-chatelet-r835950",
  "cuisine": "Italian",
  "avg_price": 22,
  "avg_price_currency": "EUR",
  "thefork_rating": 9.1,
  "thefork_review_count": 5065,
  "tripadvisor_rating": 3.9,
  "food_rating": 9.3,
  "service_rating": 9,
  "ambience_rating": 9.1,
  "review_count": 2432,
  "rate_distinction": "Excellent",
  "phone": "+33142501503",
  "street": "27 Rue Aubry le Boucher",
  "zip_code": "75004",
  "locality": "Paris",
  "country": "France",
  "latitude": 48.8603493,
  "longitude": 2.3497995,
  "is_bookable": true,
  "best_promotion_percentage": 50,
  "marketing_offer": {"title": "TheFork Festival", "discount_percentage": null},
  "vacation": "1st of January; 1st of May",
  "transport": "Châtelet, Les Halles, Rambuteau, Etienne Marcel",
  "payment_accepted": ["Apple Pay", "Credit Card", "Mastercard", "TheFork Pay", "Visa", "Voucher"],
  "highlighted_tags": ["YUMS x2", "PAY", "Gift cards", "Italian", "With friends"],
  "feature_categories": [
    {"name": "Features", "category": "ESSENTIALS", "features": ["Air-conditioning", "Dog-Friendly", "Wheelchair Accessible", "Wifi"]}
  ],
  "most_mentioned_dishes": [{"name": "Pasta", "review_count": 50}, {"name": "Pizzas", "review_count": 49}],
  "legal_register_name": "RCS Paris",
  "legal_website": "https://losteria.net/",
  "main_photo_url": "https://cdn.thefork.com/tf-lab/image/upload/restaurant/c79fac7e-58c8-4092-85bb-50fe85aefde4/1a5778d7-fa3e-40b8-818f-56942a072aaf.jpg",
  "customer_photos_total": 808,
  "menus": [
    {"name": "À la carte", "menu_type": "A_LA_CARTE", "price_currency": "EUR", "updated_ts": "2025-01-28T15:36:41.227Z",
     "sections": [{"name": "Antipasti", "items": [
       {"name": "Crema di pomodoro", "description": "(Soupe italienne à la tomate, crème, basilic)", "price": 7.25, "is_main_dish": false},
       {"name": "Bruschetta - piccola (2 tranches)", "description": "(Tomates fraîches, ail, basilic)", "price": 5.25, "is_main_dish": false}
     ]}]}
  ],
  "reviews": [
    {"id": "f72d293d-b080-4d41-b77e-696b6f306bef", "rating_value": 10, "meal_date": "2026-10-20T10:00:00.000Z",
     "review_body": "Excellent accueil et pizzas énormes.\nJe recommande sans hésitation",
     "reviewer_first_name": "Jane", "reviewer_last_name": "D.", "reviewer_username": "Jane D.", "reviewer_review_count": 39,
     "restaurant_reply_body": null, "photos": [], "likes": 0}
  ],
  "reviews_scraped": 20,
  "scraped_at": "2026-10-21T07:26:49Z"
}

💰 Pricing

You pay per restaurant saved:

  • Restaurant: $0.0045 each, which is $4.50 per 1,000 restaurants. The price includes the full row, the menus, the photos and up to 100 reviews per restaurant.
  • Extra review: $0.00299 per review beyond the first 100 of a restaurant ($2.99 per 1,000). You only pay this if you set Max reviews above 100.

Example: 1,000 restaurants with 20 reviews each cost $4.50 in result fees. Platform usage (compute and proxy traffic) is billed on top and is small: in our tests 1,000 restaurants took about 2.5 minutes and about $0.04 of platform usage (15 MB of residential proxy traffic). Restaurants that are not found or fail are not charged.

❓ FAQ

Is it legal to scrape TheFork? The scraper collects only information that TheFork shows publicly to any visitor. You are responsible for how you use the data, especially reviewer names and any personal data under GDPR. Check TheFork's terms and your local laws for your use case.

Do I need a TheFork account, cookies or a proxy of my own? No. No login is needed. The run uses residential proxy exits in France by default because TheFork's bot protection refuses most datacenter addresses. If you pick datacenter and it is refused, the run switches to residential by itself.

How many restaurants can I get? Every restaurant a search matches: TheFork lists over 3,000 restaurants for Paris alone. Set Max restaurants to 0 for no limit.

Why are some fields empty? Restaurants fill their profiles differently. Opening hours, description, chef, parking, legal details or Tripadvisor scores are missing when the restaurant has not published them. Those fields are then null or an empty list.

Can I scrape all reviews of one restaurant? Yes. Paste the restaurant URL and set Max reviews as high as you need. Reviews beyond 100 per restaurant cost $2.99 per 1,000.

Can I schedule it or use it through the API? Yes. Save your input as a task, schedule it daily or weekly, and read the results through the API or integrations.

⚠️ Limits

  • Only public data: no booking, no account data, no prices of individual reservations.
  • Filters (price, rating, cuisine, deals) apply to city, neighbourhood and search pages and to search locations, not to single restaurant URLs.
  • Prices are in the restaurant's local currency (usually euros).
  • Reviews are the newest first as TheFork orders them; ratings without text are not included.
  • Australian TheFork pages are no longer online.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.