Michelin APIguide.michelin.com ↗
Access Michelin Guide restaurant distinctions, hotel listings, cuisine types, and editorial articles via 8 structured endpoints. Filter by star rating, country, city, and more.
What is the Michelin API?
The Michelin Guide API exposes 8 endpoints covering restaurants, hotels, and editorial content from guide.michelin.com. Use list_restaurants to browse and filter by distinction level (1–3 stars, Bib Gourmand), country, city, cuisine, and price category, or call get_restaurant_detail to retrieve full descriptions, operating hours, facilities, and contact information for a specific venue.
curl -X GET 'https://api.parse.bot/scraper/70808de2-3170-4ee9-8819-d781d6b15701/search_restaurants?page=0&limit=5&query=paris' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over Michelin Guide restaurants by keyword. Matches against restaurant names, cities, and cuisines. Paginates via zero-indexed page number. Each hit includes name, slug, city, country, distinction, cuisines, price category, and contact details.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed) |
| limit | integer | Results per page |
| queryrequired | string | Search keyword (e.g. city name, restaurant name, cuisine) |
{
"type": "object",
"fields": {
"hits": "array of restaurant objects with name, slug, city, country, distinction, cuisines, price_category, phone, website, and other details",
"page": "integer current page number",
"nbHits": "integer total number of matching restaurants",
"nbPages": "integer total number of pages"
}
}About the Michelin API
Restaurant Data
Two endpoints cover restaurant discovery. search_restaurants accepts a free-text query matched against names, cities, and cuisines, returning paginated hits with name, slug, city, country, distinction, cuisines, price_category, phone, and website. list_restaurants supports structured filters: distinction (e.g. '3-stars-michelin', 'bib-gourmand'), country (ISO-style slugs like 'fr', 'jp'), city, cuisine, and price. Both endpoints use zero-indexed page and a limit parameter, and return nbHits and nbPages for pagination. get_restaurant_detail takes a slug from either listing endpoint and returns the full record, including main_desc, facilities array, and a distinction object with label and slug.
Hotel and Article Data
list_hotels covers Michelin Guide-selected hotels. It accepts an optional keyword query, plus country and region slugs sourced from list_hotel_countries_and_regions. Each hotel hit includes name, slug, city, country, region (object or null), amenities, and distinction. list_articles returns editorial content with title, slug, excerpt, content, tags, and published_date, and supports keyword search.
Reference / Taxonomy Endpoints
Three lookup endpoints return filter vocabularies. get_cuisine_types returns a flat map of cuisine slug to restaurant count (e.g. 'creative': 1439, 'french': 612). list_countries_and_regions returns restaurant counts keyed by country and region slug. list_hotel_countries_and_regions returns the equivalent for hotels — note that hotel country slugs (e.g. 'france', 'usa') differ from restaurant country slugs (e.g. 'fr', 'us'), so use each lookup independently.
The Michelin API is a managed, monitored endpoint for guide.michelin.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when guide.michelin.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official guide.michelin.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Michelin star restaurant finder filtered by city and distinction level for a travel app.
- Aggregate all Bib Gourmand restaurants by country to surface affordable fine-dining options.
- Populate a cuisine-based restaurant discovery widget using cuisine slugs and counts from
get_cuisine_types. - Generate region-specific hotel guides using
list_hotelsfiltered by country and region slugs. - Monitor Michelin Guide editorial coverage by querying
list_articlesfor tagged content. - Create a price-tier comparison tool for restaurants in a given city using the
pricefilter. - Pull full restaurant profiles including hours, facilities, and descriptions for venue detail pages.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Michelin Guide have an official developer API?+
How does `get_restaurant_detail` differ from the listing endpoints?+
list_restaurants and search_restaurants return summary fields suitable for browsing: name, slug, city, country, distinction, cuisines, price_category, phone, and website. get_restaurant_detail adds fields not present in listings: main_desc (a full prose description), a facilities array (e.g. parking, terrace), and structured country and city objects with slugs. You need a slug from a listing call first.Why do hotel country slugs differ from restaurant country slugs?+
'fr' or 'us', while hotel filters use full-word slugs like 'france' or 'usa'. Always use list_countries_and_regions to get valid restaurant filter values and list_hotel_countries_and_regions for hotel filter values — do not interchange them.Does the API return user reviews or ratings for restaurants?+
Does the API cover every country where the Michelin Guide operates?+
list_countries_and_regions, which returns all slugs with at least one listed restaurant. Countries or cities not yet covered by the Guide — or newly added — will appear or be absent accordingly. You can fork the API on Parse and revise it to restrict or extend geographic scope as the Guide's coverage evolves.