# Export Berlin Restaurant Reviews

**Use case:** 

Export Berlin restaurants with TheFork ratings, recent reviews, cuisine, prices, photos, addresses, and booking URLs.

## Input

```json
{
  "startUrls": [
    "https://www.thefork.com/restaurants/paris-c415144"
  ],
  "searchLocation": "Berlin",
  "searchRadiusKm": 12,
  "language": "de",
  "reviewLanguage": "all",
  "sort": "popularity",
  "bestRated": false,
  "promotionsOnly": false,
  "cuisineTagIds": [],
  "maxRestaurants": 100,
  "maxReviews": 100,
  "maxPhotos": 10
}
```

## Output

```json
{
  "name": {
    "label": "Name",
    "format": "text"
  },
  "url": {
    "label": "URL",
    "format": "link"
  },
  "cuisine": {
    "label": "Cuisine",
    "format": "text"
  },
  "avg_price": {
    "label": "Avg Price",
    "format": "number"
  },
  "avg_price_currency": {
    "label": "Currency",
    "format": "text"
  },
  "thefork_rating": {
    "label": "TheFork Rating",
    "format": "number"
  },
  "thefork_review_count": {
    "label": "TheFork Reviews",
    "format": "number"
  },
  "tripadvisor_rating": {
    "label": "TripAdvisor Rating",
    "format": "number"
  },
  "tripadvisor_review_count": {
    "label": "TripAdvisor Reviews",
    "format": "number"
  },
  "food_rating": {
    "label": "Food Rating",
    "format": "number"
  },
  "service_rating": {
    "label": "Service Rating",
    "format": "number"
  },
  "ambience_rating": {
    "label": "Ambience Rating",
    "format": "number"
  },
  "rating_count": {
    "label": "Rating Count",
    "format": "number"
  },
  "review_count": {
    "label": "Review Count",
    "format": "number"
  },
  "locality": {
    "label": "City",
    "format": "text"
  },
  "country": {
    "label": "Country",
    "format": "text"
  },
  "street": {
    "label": "Street",
    "format": "text"
  },
  "zip_code": {
    "label": "ZIP Code",
    "format": "text"
  },
  "formatted_address": {
    "label": "Address",
    "format": "text"
  },
  "formatted_short_address": {
    "label": "Formatted short address"
  },
  "latitude": {
    "label": "Latitude",
    "format": "number"
  },
  "longitude": {
    "label": "Longitude",
    "format": "number"
  },
  "id": {
    "label": "ID",
    "format": "text"
  },
  "legacy_id": {
    "label": "Legacy ID",
    "format": "text"
  },
  "slug": {
    "label": "Slug",
    "format": "text"
  },
  "description": {
    "label": "Description",
    "format": "text"
  },
  "chef_name": {
    "label": "Chef Name",
    "format": "text"
  },
  "phone": {
    "label": "Phone",
    "format": "text"
  },
  "is_bookable": {
    "label": "Bookable",
    "format": "boolean"
  },
  "is_test": {
    "label": "Is test"
  },
  "is_new": {
    "label": "New",
    "format": "boolean"
  },
  "has_stock": {
    "label": "Has stock"
  },
  "vacation": {
    "label": "Vacation",
    "format": "boolean"
  },
  "has_available_offers": {
    "label": "Has available offers"
  },
  "has_reservations_today": {
    "label": "Has reservations today"
  },
  "main_photo_url": {
    "label": "Photo",
    "format": "image"
  },
  "food_requirements": {
    "label": "Food requirements"
  },
  "payment_accepted": {
    "label": "Payment accepted"
  },
  "rate_distinction": {
    "label": "Rate distinction"
  },
  "parking": {
    "label": "Parking"
  },
  "transport": {
    "label": "Transport"
  },
  "additional_information": {
    "label": "Additional information"
  },
  "michelin": {
    "label": "Michelin"
  },
  "michelin_distinctions": {
    "label": "Michelin distinctions"
  },
  "michelin_review": {
    "label": "Michelin Review",
    "format": "text"
  },
  "michelin_link": {
    "label": "Michelin Link",
    "format": "link"
  },
  "is_insider": {
    "label": "Insider",
    "format": "boolean"
  },
  "is_top_host": {
    "label": "Top Host",
    "format": "boolean"
  },
  "tf_awards_year": {
    "label": "Tf awards year"
  },
  "top_chart_rank": {
    "label": "Top Chart Rank",
    "format": "number"
  },
  "top_chart_size": {
    "label": "Top chart size"
  },
  "top_chart_location_type": {
    "label": "Top chart location type"
  },
  "top_chart_location_id": {
    "label": "Top chart location id"
  },
  "top_chart_location_name": {
    "label": "Top chart location name"
  },
  "reviews_summary_content": {
    "label": "Reviews summary content"
  },
  "reviews_summary_last_update": {
    "label": "Reviews summary last update"
  },
  "highlighted_review_id": {
    "label": "Highlighted review id"
  },
  "highlighted_review_created_ts": {
    "label": "Highlighted review created ts"
  },
  "highlighted_review_rating": {
    "label": "Highlighted Rating",
    "format": "number"
  },
  "highlighted_review_content": {
    "label": "Highlighted Review",
    "format": "text"
  },
  "highlighted_review_reviewer_id": {
    "label": "Highlighted review reviewer id"
  },
  "highlighted_review_reviewer_name": {
    "label": "Highlighted review reviewer name"
  },
  "highlighted_review_reviewer_avatar": {
    "label": "Reviewer Avatar",
    "format": "image"
  },
  "best_rating_value": {
    "label": "Best Rating",
    "format": "number"
  },
  "best_rating_created_at": {
    "label": "Best rating created at"
  },
  "best_rating_review_body": {
    "label": "Best Review",
    "format": "text"
  },
  "best_rating_reviewer_name": {
    "label": "Best rating reviewer name"
  },
  "best_rating_reviewer_avatar": {
    "label": "Best Reviewer Avatar",
    "format": "image"
  },
  "best_rating_reviewer_review_count": {
    "label": "Best rating reviewer review count"
  },
  "best_rating_reviewer_username": {
    "label": "Best rating reviewer username"
  },
  "insider_description": {
    "label": "Insider description"
  },
  "insider_tips": {
    "label": "Insider tips"
  },
  "language_stats": {
    "label": "Language stats"
  },
  "tags": {
    "label": "Tags"
  },
  "highlighted_tag": {
    "label": "Highlighted tag"
  },
  "yums_is_super": {
    "label": "Yums is super"
  },
  "yums_description": {
    "label": "Yums description"
  },
  "yums_count": {
    "label": "Yums count"
  },
  "header_photos": {
    "label": "Header photos"
  },
  "header_photos_additional_count": {
    "label": "Header photos additional count"
  },
  "restaurant_photos": {
    "label": "Restaurant photos"
  },
  "customer_photos": {
    "label": "Customer photos"
  },
  "customer_photos_total": {
    "label": "Customer photos total"
  },
  "menu_photos_total": {
    "label": "Menu photos total"
  },
  "food_photos_total": {
    "label": "Food photos total"
  },
  "available_menus": {
    "label": "Available menus"
  },
  "menus": {
    "label": "Menus"
  },
  "highlighted_menu_items": {
    "label": "Highlighted menu items"
  },
  "top_features": {
    "label": "Top features"
  },
  "feature_categories": {
    "label": "Feature categories"
  },
  "pros": {
    "label": "Pros"
  },
  "bookable_intervals": {
    "label": "Bookable intervals"
  },
  "legal_privacy_url": {
    "label": "Privacy URL",
    "format": "link"
  },
  "legal_register_name": {
    "label": "Legal register name"
  },
  "legal_register_number": {
    "label": "Legal register number"
  },
  "legal_website": {
    "label": "Website",
    "format": "link"
  },
  "legal_email": {
    "label": "Email",
    "format": "text"
  },
  "pay_at_table_enabled": {
    "label": "Pay at table enabled"
  },
  "pay_at_table_mastercard_yums": {
    "label": "Pay at table mastercard yums"
  },
  "use_your_yums": {
    "label": "Use your yums"
  },
  "earn_double_yums_count": {
    "label": "Earn double yums count"
  },
  "exchange_rates": {
    "label": "Exchange rates"
  },
  "marketing_offer": {
    "label": "Marketing offer"
  },
  "reviews": {
    "label": "Reviews"
  }
}
```

## About this Actor

This example demonstrates how to use [TheFork Scraper - Restaurants, Reviews & Menus](https://apify.com/clearpath/thefork-scraper) with a specific input configuration. Visit the [Actor detail page](https://apify.com/clearpath/thefork-scraper) to learn more, explore other use cases, and run it yourself.


## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
This Task's input is already configured above — use it as-is rather than inventing a new one.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/clearpath/thefork-scraper.md

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).
