# Tripadvisor API: List top restaurants in a city

> Lists Tripadvisor's ranked restaurants in a city from the first results page, optionally filtered by cuisine and price category. Sponsored listings are left out; up to 30 restaurants with rating, review count, cuisines, price range and address.

Unofficial. Not affiliated with or endorsed by Tripadvisor.

- Page: https://fous.com/methods/tripadvisor.com/list-top-restaurants
- Method: `tripadvisor.com/list_top_restaurants`, version 1
- Website: tripadvisor.com
- Returns: rank, name, rating, review count, cuisines, price range, address, Tripadvisor link and location ID
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `city` | string | yes | `"Lisbon"` | City to look up, for example Lisbon. |
| `price` | string | no | `"cheap_eats"` | Price category, for example cheap_eats; any includes all prices. One of "any", "cheap_eats", "mid_range", "fine_dining". Default "any". |
| `cuisine` | string | no | `"Italian"` | Cuisine to filter by, for example Italian; leave as any for all cuisines. Default "any". |
| `max_results` | integer | no | `5` | Maximum restaurants to return from the first page, for example 20. Default 20. |

## Output

From a run on Oct 31, 2026, shortened. Its input:

```json
{
  "city": "Lisbon",
  "price": "cheap_eats",
  "cuisine": "Italian",
  "max_results": 5
}
```

Its output:

```json
{
  "restaurants": [
    {
      "name": "Pizzeria Romana",
      "rank": 1,
      "rating": 4.8,
      "address": "Rua de Sao João da Praça 75, Lisbon 1100-519 Portugal",
      "cuisines": [
        "Italian",
        "Pizza"
      ],
      "price_range": "$",
      "review_count": 1394,
      "tripadvisor_link": "https://www.tripadvisor.com/Restaurant_Review-g189158-d15081113-Reviews-Pizzeria_Romana-Lisbon_Lisbon_District_Central_Portugal.html",
      "tripadvisor_location_id": "15081113"
    },
    {
      "name": "Focaccia in Giro",
      "rank": 2,
      "rating": 4.7,
      "address": "Campo de Santa Clara 141, Lisbon 1100-474 Portugal",
      "cuisines": [
        "Italian",
        "Brew Pub"
      ],
      "price_range": "$",
      "review_count": 291,
      "tripadvisor_link": "https://www.tripadvisor.com/Restaurant_Review-g189158-d7002452-Reviews-Focaccia_in_Giro-Lisbon_Lisbon_District_Central_Portugal.html",
      "tripadvisor_location_id": "7002452"
    },
    {
      "name": "Sapore",
      "rank": 3,
      "rating": 4.3,
      "address": "Avenida Sidonio Pais 2-B, Lisbon 1050-214 Portugal",
      "cuisines": [
        "Italian",
        "Pizza"
      ],
      "price_range": "$",
      "review_count": 653,
      "tripadvisor_link": "https://www.tripadvisor.com/Restaurant_Review-g189158-d3706486-Reviews-Sapore-Lisbon_Lisbon_District_Central_Portugal.html",
      "tripadvisor_location_id": "3706486"
    }
  ]
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"tripadvisor.com/list_top_restaurants","input":{"city":"Lisbon","price":"cheap_eats","cuisine":"Italian","max_results":5}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- What are the best-rated cheap eats in Lisbon right now? Give me around 15 with their ratings and addresses.
- Pull the top 10 Japanese restaurants in Chicago from Tripadvisor, including review counts and price range.
- I'm planning an anniversary dinner in Paris — list the highest-ranked fine dining spots there with ratings and links.
- Show me Tripadvisor's top 25 restaurants in Mexico City, any cuisine or price, with rank and location IDs.
- Need a shortlist of mid-range Italian places in Melbourne that rank well — names, cuisines, review counts and addresses, max 8.

## Input schema

```json
{
  "type": "object",
  "required": [
    "city"
  ],
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City to look up, for example Lisbon."
    },
    "price": {
      "enum": [
        "any",
        "cheap_eats",
        "mid_range",
        "fine_dining"
      ],
      "type": "string",
      "default": "any",
      "description": "Price category, for example cheap_eats; any includes all prices."
    },
    "cuisine": {
      "type": "string",
      "default": "any",
      "description": "Cuisine to filter by, for example Italian; leave as any for all cuisines."
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 30,
      "minimum": 1,
      "description": "Maximum restaurants to return from the first page, for example 20."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "restaurants"
  ],
  "properties": {
    "restaurants": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "rank",
          "name",
          "rating",
          "review_count",
          "cuisines",
          "price_range",
          "address",
          "tripadvisor_link",
          "tripadvisor_location_id"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "rank": {
            "type": "integer"
          },
          "rating": {
            "type": [
              "number",
              "null"
            ]
          },
          "address": {
            "type": [
              "string",
              "null"
            ]
          },
          "cuisines": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "price_range": {
            "type": [
              "string",
              "null"
            ]
          },
          "review_count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "tripadvisor_link": {
            "type": "string"
          },
          "tripadvisor_location_id": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  }
}
```

## See more

- [Tripadvisor API: List top attractions in a city](https://fous.com/methods/tripadvisor.com/list-top-attractions.md): Lists Tripadvisor's ranked things to do in a city from the first results page, for all attractions or one category (tours, museums, sights and landmarks, nature and parks), with rating, review count, category, and the description or neighbourhood when shown.
- [Tripadvisor API: Get reviews](https://fous.com/methods/tripadvisor.com/get-reviews.md): Gets the latest traveler reviews for a hotel, restaurant or attraction in a city (by name or Tripadvisor listing link), with the place's overall rating and review count. Dates of visit show the month and year when provided.
- [Michelin API: Search Michelin Guide restaurants](https://fous.com/methods/guide.michelin.com/search-restaurants.md): Lists Michelin Guide restaurants in a city or region, in Guide order, optionally filtered by distinction and cuisine, with each restaurant's address, description and photo. Results may include the surrounding area as labeled by the Guide.
- [Trip.com API: Search hotels](https://fous.com/methods/trip.com/search-hotels.md): Finds hotels in a city on Trip.com for given dates, with prices, guest ratings, reviews and booking links. Only the initial public listing is read, so large limits may return fewer hotels.
- [Viator API: Search tours](https://fous.com/methods/viator.com/search-tours.md): Finds tours and experiences in a city on Viator, with optional keywords, date, currency and sorting. Prices are starting prices.
- [OpenTable API: Get restaurant profile](https://fous.com/methods/opentable.com/get-restaurant.md): Gets a restaurant's public OpenTable profile by name or OpenTable link and city, including ratings, details, menu and photo links. Ratings and other fields can be missing when the restaurant does not publish them.
- [Uber Eats API: Search restaurants](https://fous.com/methods/ubereats.com/search-restaurants.md): Find restaurants delivering to an address in Uber Eats guest browsing order. Fees can be conditional for new users; displayed rating counts may be rounded.
- [OpenTable API: Search available tables](https://fous.com/methods/opentable.com/search-available-tables.md): Finds OpenTable restaurants with bookable slots within two hours of the selected time in a city or neighborhood, in OpenTable search order, optionally for one cuisine. Examines up to 300 listings; availability may change.
- [All Tripadvisor methods](https://fous.com/methods/tripadvisor.com.md)
