TheFork Restaurant Scraper - Pay Per Result avatar

TheFork Restaurant Scraper - Pay Per Result

Pricing

from $8.00 / 1,000 restaurants

Go to Apify Store
TheFork Restaurant Scraper - Pay Per Result

TheFork Restaurant Scraper - Pay Per Result

Scrape TheFork restaurants by city, area or coordinates: ratings, prices, addresses, cuisines, offers, photos and optional contact details and reviews. Pay per unique restaurant, with pagination and budget limits.

Pricing

from $8.00 / 1,000 restaurants

Rating

0.0

(0)

Developer

mscraper

mscraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

TheFork Restaurant Scraper

Find restaurants on TheFork by city, area, landmark or coordinates. Export names, addresses, restaurant URLs, cuisines, average prices, ratings, review counts, photos and offers as JSON, CSV or Excel.

This is the updated replacement for TheFork Scraper. It uses the current TheFork search and charges per restaurant saved.

Quick start

{
"location": "Paris, France",
"maxResults": 100,
"maxPages": 4,
"startPage": 1,
"includeExtendedInfo": false,
"includeReviews": false
}

Click Start, then open the Restaurants output to view or download your results. Proxy and website verification are included; no external account or API key is needed.

Pricing

Apify planPrice per 1,000 restaurants
Free / Starter (Bronze)$10.00
Scale (Silver)$9.00
Business (Gold) and above$8.00

A start event costs $0.0001 per started GB of memory, with a minimum of one event per run. One unique restaurant written to the default dataset is one billed result. Optional details and reviews are included in that restaurant's price. Empty searches have no restaurant charges; the start event still applies.

Set the run's maximum charge in Apify Console to control spending. The Actor stops when it reaches that budget, maxResults, maxPages, the end of pagination, an empty page, or a page containing only already-seen restaurants. If a run fails after saving results, those saved results remain available and billed.

Input

FieldDefaultDescription
locationParis, FranceCity and country, area or landmark. Uses the first matching location.
latitude, longitude—Coordinate pair; overrides location. Search area is determined by TheFork.
cityId—Advanced: TheFork city ID, e.g. 415144 for Paris. Overrides name and coordinates.
maxResults100Maximum unique restaurants, from 1 to 5,000.
startPage1First page to fetch, from 1 to 200.
maxPages4Maximum number of pages to fetch, from 1 to 200. Each page has up to 25 restaurants.
includeExtendedInfofalseAdd available description, opening hours, vacation dates, phone, chef and menu link.
includeReviewsfalseAdd up to 20 reviews returned by TheFork for each restaurant. Not a full review-history export.

For city names that resolve to a known TheFork city, search covers that city. Landmarks and coordinates search the nearby area. The SUMMARY output shows the resolved location, reported total count, pages fetched and stopping reason.

Output

Each dataset item is a restaurant, with fields such as:

{
"id": "restaurant-uuid",
"name": "Example Restaurant",
"url": "https://www.thefork.com/restaurant/example-restaurant-r123456",
"cuisine": "French",
"address": { "street": "10 Example Street", "zipCode": "75001", "locality": "Paris", "country": "France" },
"geolocation": { "latitude": 48.86, "longitude": 2.34 },
"averagePrice": 35,
"currency": "EUR",
"rating": 9.2,
"reviewCount": 120,
"offers": [],
"page": 1
}

The example above illustrates the schema. Missing source fields may be null. Offers and bookability reflect the search response; this Actor does not check availability for a specific booking time.

Pagination and limitations

Restaurant IDs are deduplicated within each run. Search rankings and totals can change between runs, so page offsets are not stable exports of a fixed snapshot. Starting a separate run can return restaurants seen in an earlier run.

TheFork may occasionally block a proxy session or change its API. The Actor makes a limited number of verification attempts and reports a failed run if valid data cannot be obtained. Start a new run after a temporary block. Resurrecting an existing run with saved results is disabled to prevent duplicate charges.

For support, open an issue from this Actor's Issues tab and include your run URL.