# Michelin Guide — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access data from guide.michelin.com.

**Category:** Food & Dining | **Website:** [guide.michelin.com/](https://guide.michelin.com/) | **Docs:** [parse.bot/marketplace/b8b4cb04-0239-4c8d-a7a7-1b3730cb8c28/guide-michelin-com-api](https://parse.bot/marketplace/b8b4cb04-0239-4c8d-a7a7-1b3730cb8c28/guide-michelin-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_cuisine_types

Get all available cuisine types and their restaurant counts. Returns a mapping of cuisine slugs to the number of restaurants offering that cuisine. Useful for discovering filter values for list_restaurants.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/get_cuisine_types \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_restaurant_detail

Get full details for a specific restaurant by its slug. Returns comprehensive information including description, contact details, hours of operation, cuisines, facilities, and distinction level. The slug is obtained from search_restaurants or list_restaurants hits.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Restaurant slug as returned in search_restaurants or list_restaurants hits (e.g. 'les-parisiens', 'le-gabriel476630') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/get_restaurant_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### list_articles

Browse Michelin Guide magazine articles. Supports keyword search and pagination. Returns article details including title, excerpt, content, tags, and publication date.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page |
| `page` | integer | No | Page number (0-indexed) |
| `query` | string | No | Search keyword to filter articles |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/list_articles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```

### list_countries_and_regions

Get all countries and regions covered by the Michelin Guide with restaurant counts. Returns two mappings: country slugs to counts and region slugs to counts. Useful for discovering filter values for list_restaurants.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/list_countries_and_regions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_hotels

Browse Michelin Guide selected hotels. Supports search by keyword and pagination. Returns hotel details including name, location, amenities, distinction level, and booking information.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page |
| `page` | integer | No | Page number (0-indexed) |
| `query` | string | No | Search keyword to filter hotels by name or location |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/list_hotels \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```

### list_restaurants

Browse all Michelin Guide restaurants with optional filters for country, city, cuisine, distinction level, and price category. Returns paginated results. Useful for discovering restaurants by geographic or quality criteria without a text search.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug (e.g. 'paris', 'tokyo', 'new-york') |
| `country` | string | No | Country slug (e.g. 'fr', 'us', 'jp', 'it', 'de', 'gb', 'es') |
| `cuisine` | string | No | Cuisine slug (e.g. 'creative', 'french', 'japanese', 'modern-cuisine') |
| `distinction` | string | No | Distinction slug: '1-star-michelin', '2-stars-michelin', '3-stars-michelin', 'bib-gourmand', 'the-plate-michelin' |
| `limit` | integer | No | Results per page |
| `page` | integer | No | Page number (0-indexed) |
| `price` | string | No | Price category slug: 'budget', 'mid-range', 'premium', 'luxury' |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/list_restaurants \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","country":"<string>","cuisine":"<string>","distinction":"<string>","limit":"<integer>","page":"<integer>","price":"<string>"}'
```

### search_restaurants

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.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Results per page |
| `page` | integer | No | Page number (0-indexed) |
| `query` | string | Yes | Search keyword (e.g. city name, restaurant name, cuisine) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-guide-michelin-com-api-b8b4cb04/search_restaurants \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>","query":"<string>"}'
```
