Michelin Restaurants Search Scraper
Pricing
from $2.00 / 1,000 results
Michelin Restaurants Search Scraper
Scrape restaurant listings from the official Michelin Guide with ease. Collect star ratings, chef info, cuisine types, location data, booking availability, and 30+ fields per restaurant — perfect for food researchers, travel platforms, and hospitality analysts.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Stealth mode
Maintained by CommunityActor stats
0
Bookmarked
22
Total users
4
Monthly active users
8 days ago
Last modified
Categories
Features
Share
Michelin Guide Restaurant Scraper: Extract Star Ratings & Reviews
What Is Michelin Guide?
Guide Michelin (guide.michelin.com) is the world's most prestigious restaurant rating authority, awarding one to three Michelin Stars to exceptional establishments globally. The platform also features the Green Star for sustainable gastronomy, Bib Gourmand for value dining, and curated hotel selections. For anyone building food intelligence tools, travel apps, or hospitality datasets, the Michelin Guide Restaurant Scraper automates the collection of this high-value data at scale.
Overview
The Michelin Guide Restaurants Search Scraper extracts structured data from Michelin's paginated restaurant listing pages. It is designed for:
- Travel platforms building curated dining guides
- Food researchers analyzing fine dining trends by region
- Hospitality analysts tracking award distributions and cuisine diversity
- Developers powering restaurant recommendation engines
Key strengths include support for paginated URLs, configurable item limits, and resilient handling of failed pages.
Input Format
The Actor supports two scraping modes — use only one at a time:
- Scrape by URLs — scrape data directly from a list of Michelin Guide listing/search page URLs.
{"ignore_url_failures": true,"include_raw_data": false,"max_items_per_url": 200,"urls": ["https://guide.michelin.com/en/en/ile-de-france/paris/restaurants/page/2"]}
- Scrape by search filters — scrape data using a keyword and additional filters (distinction, cuisine, price, service, etc.) instead of providing URLs.
{"keyword": "a","sort_by": "lowestPrice","page": 1,"distinction": "","good_for": "","cuisine": "","special_diets": "","price": "","service": "","max_items_per_url": 200,"include_raw_data": false}
There is also a General settings group that applies to both modes.
1. Scrape by URLs
Use this mode when you already have specific Michelin listing/search page URLs. When this mode is used, all options in the "Scrape by search filters" section will be disabled.
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | — | URLs of Michelin restaurant listing/search pages to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list. Example: https://guide.michelin.com/en/en/ile-de-france/paris/restaurants/page/2 |
ignore_url_failures | boolean | true | If true, the scraper continues running when a URL fails instead of stopping the entire run. Recommended for bulk jobs. |
Tip: Michelin listing pages are paginated (
.../restaurants/page/2,/page/3, etc.). Add multiple page URLs to collect an entire region's listings.
2. Scrape by search filters
Use this mode when you want to search using a keyword and additional filter attributes instead of scraping by URLs. If you use this mode, leave the urls field above empty.
| Field | Type | Default | Description |
|---|---|---|---|
keyword | string | — | The keyword to search for. |
distinction | string | Any | Filter by Michelin distinction: 3 Stars, 2 Stars, 1 Star, Bib Gourmand, or Selected Restaurants. |
good_for | string | Any | Filter by occasion/context, e.g. Chef's Table, Date night, Family Friendly, Groups, Iconic, Trending, Worth Queueing For, and more. |
cuisine | string | Any | Filter by cuisine type. Supports a very large list (200+ values) covering regional and international cuisines — e.g. French, Italian, Japanese, Cantonese, Peruvian, Vegan, Sushi, Ramen, Steakhouse, Fusion, etc. Select the exact value from the dropdown in the input UI. |
special_diets | string | Any | Filter by dietary options: Vegetarian options, Vegan options, Gluten-free options, Vegetarian menu, Halal options, Kosher options. |
price | string | Any | Filter by price range: $ · On a budget, $$ · A moderate spend, $$$ · Special occasion, $$$$ · Spare no expense. |
service | string | Any | Filter by amenities/services, e.g. Wheelchair access, Air conditioning, Car park, Terrace, Valet parking, Pets allowed, accepted payment methods (Visa, Mastercard, Amex, etc.), and more. |
sort_by | string | Relevance | Sort results by Relevance, Lowest price, or Highest price. |
page | integer | — | The page number to start scraping from. |
3. General settings
Applies to both scraping modes above.
| Field | Type | Default | Description |
|---|---|---|---|
max_items_per_url | integer | 20 | The maximum number of restaurant records to collect per URL/search. Increase to 200 for full-page coverage. |
include_raw_data | boolean | false | If true, the scraper will include raw data from website before cleaning in the output. |
Building Your Search URL (for Scrape by URLs mode)
Navigate to guide.michelin.com, apply your desired filters (distinction, cuisine, price, location), then copy the resulting URL from your browser. Michelin listing pages are paginated, so you can also append /page/2, /page/3, etc. to collect additional pages.
Example use case: The prefilled URL lists Michelin-recognized restaurants in Île-de-France (Paris), starting from page 2 of the results.
Output Format
Sample output
{"id": "559253","name": "Xiguan Zhuyuan (Shiba Fu)","listing_url": "https://guide.michelin.com/en/guangdong-province/guangzhou/restaurant/xiguan-zhuyuan-shiba-fu","object_type": "RESTAURANT","michelin_award": "BIB_GOURMAND","green_star": null,"chef": null,"cuisines": ["Noodles"],"price_category_code": "CAT_P01","price_category_label": "On a budget","currency": "CNY","currency_symbol": "¥","description_snippet": "organ meats <em>a</em>re rid of <em>a</em>ny odd taste <em>a</em>nd boast","area_name": "Liwan","city": "Guangzhou","region": "Guangdong Province","country": "Chinese Mainland","country_code": "CN","latitude": 23.1143,"longitude": 113.24075,"online_booking": false,"take_away": false,"delivery": false,"new_table": false,"good_menu": false,"offers_count": 0,"hotel_id": null,"hotel_name": null,"hotel_distinction_score": null,"hotel_feedback_score": null,"hotel_style": null,"hotel_picture_url": null,"main_image_url": "https://prod-pics.guide.michelin.com/api/public/content/b5c6ddc236a8487bb6961b429531cc67.jpeg?format=jpeg&w=1000&h=1000","main_image_copyright": "Xiguan Zhuyuan (Shiba Fu)","image_count": 10,"images_by_topic": {"s_u_j__p_l_a_t": 7,"s_u_j__i_n_t": 1,"s_u_j__e_n_t": 2},"image_urls": ["https://prod-pics.guide.michelin.com/api/public/content/b5c6ddc236a8487bb6961b429531cc67.jpeg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/076507414d15482dabf9014b3745d308.jpeg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/31a2014cd52d44b5b8015601d65453ab.jpg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/7f9c20136b954207980662756e680344.jpeg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/5c5e0d0f3c574430b7c1cbcbe69e346e.jpeg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/d8b475a135664db0b760d6cae028f981.jpeg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/502f4973cfa54f23877db33e9b3201be.jpg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/5531e3ec2a894adf92f8735cfdf09d4b.jpeg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/7dea695de885420f820799370b7952fc.jpg?format=jpeg&w=1000&h=1000","https://prod-pics.guide.michelin.com/api/public/content/03495414cd0641b3acafad8b610a6b9b.jpeg?format=jpeg&w=1000&h=1000"],"raw_data": null,"from_url": "https://guide.michelin.com/en/restaurants/page/1?q=a&sort=lowestPrice"}
The scraper returns JSON data with each restaurant as an object containing detailed fields. Understanding field purposes enables effective analysis and application.
Restaurant Identification
ID: Unique identifier of the restaurant in the Michelin Guide database. Purpose: Database indexing, tracking specific restaurants over time, avoiding duplicates.
Name: Official name of the restaurant. Purpose: Display, search, lead identification.
Listing URL: Direct link to the restaurant page on the Michelin Guide. Purpose: Accessing complete details, sharing with clients, verification of scraped data.
Object Type: Type of the listed entity (e.g., RESTAURANT). Purpose: Separating restaurants from other guide entries.
Distinctions and Profile
Michelin Award: Michelin distinction of the restaurant (e.g., THREE_STARS). May be null when no award is given. Purpose: Quality segmentation, prestige benchmarking, targeting top-tier venues.
Green Star: Michelin Green Star for sustainable gastronomy (may be null). Purpose: Identifying sustainability-focused restaurants.
Chef: Name of the head chef (may be null). Purpose: Chef-level research, partnership and outreach opportunities when available.
Cuisines: List of cuisine types served (e.g., Creative). Purpose: Market segmentation by culinary style, trend analysis.
Price Category Code: Price level code from the Michelin Guide (e.g., CAT_P04). Purpose: Sorting and joining datasets by price tier.
Price Category Label: Human-readable price level (e.g., Spare no expense). Purpose: Display and price-tier segmentation in reports.
Currency: Currency code used for pricing (e.g., EUR). Purpose: Correct financial interpretation across markets.
Currency Symbol: Symbol of the pricing currency (e.g., €). Purpose: Display in dashboards and reports.
Description Snippet: Short excerpt from the restaurant's inspector description (may be truncated). Purpose: Quick preview and keyword analysis.
Location
Area Name: Area or neighborhood of the restaurant (may be null). Purpose: Hyper-local analysis when available.
City: City where the restaurant is located. Purpose: City-level market analysis and lead targeting.
Region: Region of the restaurant. Purpose: Regional comparison and aggregation.
Country: Country where the restaurant is located. Purpose: Geographic segmentation and multi-market analysis.
Country Code: ISO country code (e.g., FR). Purpose: Joining with other country-level datasets.
Latitude: Geographic latitude of the restaurant. Purpose: Map plotting, distance calculations, spatial analysis.
Longitude: Geographic longitude of the restaurant. Purpose: Map plotting, distance calculations, spatial analysis.
Services and Offers
Online Booking: Whether the restaurant can be booked online. Purpose: Identifying digitally accessible venues and booking-channel analysis.
Take Away: Whether take-away is available. Purpose: Filtering by service type.
Delivery: Whether delivery is available. Purpose: Filtering by service type.
New Table: Whether the restaurant is flagged as a new table in the guide. Purpose: Identifying recent additions to the guide.
Good Menu: Whether the restaurant is flagged for a good-value menu. Purpose: Identifying value-for-money venues.
Offers Count: Number of active offers attached to the restaurant. Purpose: Promotion analysis and deal discovery.
Associated Hotel
Hotel ID: Unique identifier of the hotel the restaurant belongs to (may be null for independent restaurants). Purpose: Linking restaurants to hotel datasets.
Hotel Name: Name of the associated hotel. Purpose: Identifying hotel-based dining venues and cross-selling opportunities.
Hotel Distinction Score: Michelin Keys distinction score of the hotel. Purpose: Hotel quality benchmarking.
Hotel Feedback Score: Guest feedback score of the hotel. Purpose: Reputation analysis.
Hotel Style: Style category of the hotel (e.g., Contemporary Classic). Purpose: Segmenting by hospitality style.
Hotel Picture URL: Link to a picture of the hotel. Purpose: Visual reference in reports and dashboards.
Media
Main Image URL: Link to the primary image of the restaurant. Purpose: Thumbnails, dashboards, visual previews.
Main Image Copyright: Photographer and credit of the main image. Purpose: Proper attribution when reusing images.
Image Count: Total number of images available. Purpose: Evaluating listing richness and completeness.
Images By Topic: Image count grouped by topic code (e.g., SUJ_INT = interior, SUJ_PLAT = dish). Purpose: Analyzing how thoroughly each aspect of the venue is documented.
Image URLs: List of direct links to all images in original order. Purpose: Downloading images, visual inspection, computer vision analysis.
Raw Data
Raw Data: Complete original JSON object of the restaurant as scraped, without modification. Purpose: Auditing, debugging, accessing fields not included in the cleaned output, and reprocessing without re-scraping.
How to Use
- Find listing URLs — Browse Michelin Guide by country, region, or city. Copy the search/listing page URL (e.g.,
.../paris/restaurants/page/1). - Add paginated URLs — To collect all results for a region, add multiple page URLs (
/page/1,/page/2, etc.) to theurlsarray. - Set item limit — Use
max_items_per_url: 200for full-page collection; lower values for sampling. - Enable failure tolerance — Keep
ignore_url_failures: truefor bulk runs. - Export — Download results as JSON, CSV, or Excel.
Common issues:
- Only use listing/search pages, not individual restaurant detail pages.
- If a region has many pages, enumerate them manually or use a URL pattern.
Use Cases & Business Value
- Travel apps: Build curated dining itineraries filtered by star rating, cuisine, or city
- Market research: Analyze Michelin award distribution trends across countries
- Restaurant benchmarking: Compare pricing tiers and cuisine categories across regions
- Sustainability research: Identify Green Star restaurants for eco-focused travel guides
Conclusion
The Michelin Guide Restaurant Scraper turns one of the world's most authoritative culinary databases into structured, actionable data. With award details, geolocation, booking availability, and media URLs all in one record, it powers everything from travel recommendation engines to hospitality market analysis.