// docs

Tripadvisor Review

Extrai avaliações paginadas de hotéis, restaurantes e atrações do Tripadvisor, com ordenação por relevância ou pelas mais recentes.

Nota importante: alguns campos podem retornar null em produção, dependendo da página de origem. Nesta documentação, os exemplos de output são preenchidos intencionalmente com valores não nulos para facilitar integração.

Quando a entidade consultada não existe na origem, o extract e a tool MCP retornam 200 com data: null e notFound: true. Esse caso é tratado como resposta concluída, não como erro de servidor.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "target": "tripadvisor.com.br",
  "type": "review",
  "url": "https://www.tripadvisor.com.br/Attraction_Review-g303631-d311968-Reviews-Museu_de_Arte_de_Sao_Paulo_Assis_Chateaubriand_MASP-Sao_Paulo_State_of_Sao_Paulo.html",
  "page": 1,
  "sort": "most_relevant"
}'

Chamada MCP

A mesma seam também aparece no MCP hospedado como uma tool dedicada. Os argumentos reaproveitam os campos do extract, mas target e type já ficam fixos pela tool.

Ver guia completo do MCP

Endpoint

POST /v1/mcp

Tool name

tripadvisor_com_br_review

Auth

Bearer ou X-API-Key

tripadvisor_com_br_review tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "tripadvisor_com_br_review",
    "arguments": {
      "url": "https://www.tripadvisor.com.br/Attraction_Review-g303631-d311968-Reviews-Museu_de_Arte_de_Sao_Paulo_Assis_Chateaubriand_MASP-Sao_Paulo_State_of_Sao_Paulo.html",
      "page": 1,
      "sort": "most_relevant",
      "executionId": "exec_example_123"
    }
  }
}

Possibilidades de input

Campos suportados nesta API do POST /v1/extract, com regras específicas de obrigatoriedade e condicionais.

Campo Tipo Status Regra Default Exemplo
url
URL alvo da extração. Para alguns PLPs pode ser omitida quando a API monta a URL a partir de outros campos.
string (URL) Obrigatório URL pública Hotel_Review, Restaurant_Review ou Attraction_Review em tripadvisor.com.br ou tripadvisor.com. - https://www.mercadolivre.com.br/p/MLB123456
sort
Ordenacao para VivaReal, Chaves na Mão, OLX e Webmotors PLP, Booking Review e Hoteis Review. VivaReal: relevance/date/price/biggest_price/biggest_area. Webmotors: relevance/price/biggest_price/year_desc/mileage_asc. OLX: relevance/date/price/biggest_price/price_relevance. Booking/Hoteis Review: most_relevant/newest_first/oldest_first/score_desc/score_asc.
"relevance" | "date" | "price" | "biggest_price" | "biggest_area" | "price_relevance" | "most_relevant" | "newest_first" | "oldest_first" | "score_desc" | "score_asc" | "year_desc" | "mileage_asc" Opcional Ordenação: most_relevant ou newest_first. most_relevant date
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatório e deve ser tripadvisor.com.br. - mercadolivre.com.br
type
Tipo da extração: pdp, idp, plp, ilp, quote, review ou places.
enum Obrigatório Sempre obrigatório e deve ser review. - pdp
page
Paginacao. Em PLP, inclusive Trivago, e no Reclame AQUI ILP inicia em 1; em review (MercadoLivre, Booking e Hoteis) inicia em 0. O Reclame AQUI ILP aceita ate a pagina 100.
integer Opcional Página das avaliações, iniciando em 1. 1 2

Exemplos de request

Avaliações mais relevantes

Retorna a primeira página usando a ordenação padrão.

Avaliações mais relevantes
{
  "target": "tripadvisor.com.br",
  "type": "review",
  "url": "https://www.tripadvisor.com.br/Attraction_Review-g303631-d311968-Reviews-Museu_de_Arte_de_Sao_Paulo_Assis_Chateaubriand_MASP-Sao_Paulo_State_of_Sao_Paulo.html",
  "page": 1,
  "sort": "most_relevant"
}

Avaliações mais recentes

Ordena por data e solicita a segunda página.

Avaliações mais recentes
{
  "target": "tripadvisor.com.br",
  "type": "review",
  "url": "https://www.tripadvisor.com/Restaurant_Review-g303631-d123456-Reviews-Restaurante_Exemplo-Sao_Paulo.html",
  "page": 2,
  "sort": "newest_first"
}

Schema de response (leaf paths)

Mapa de paths de saída com tipo esperado para esta API.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "data.source": "string",
  "data.type": "\"review\"",
  "data.requestUrl": "string (URL normalizada)",
  "data.extractedAt": "string (ISO datetime)",
  "data.locationId": "number",
  "data.geoId": "number | null",
  "data.name": "string",
  "data.placeType": "\"hotel\" | \"restaurant\" | \"attraction\"",
  "data.page": "number",
  "data.resultsPerPage": "number",
  "data.sort": "\"most_relevant\" | \"newest_first\"",
  "data.totalReviews": "number | null",
  "data.ratingHistogram": "object<\"1\" | \"2\" | \"3\" | \"4\" | \"5\", number | null>",
  "data.hasNextPage": "boolean",
  "data.nextPage": "number | null",
  "data.nextPageUrl": "string (URL) | null",
  "data.reviews[].reviewId": "number",
  "data.reviews[].url": "string (URL) | null",
  "data.reviews[].rating": "number | null",
  "data.reviews[].title": "string | null",
  "data.reviews[].text": "string | null",
  "data.reviews[].language": "string | null",
  "data.reviews[].originalLanguage": "string | null",
  "data.reviews[].publishedDate": "string | null",
  "data.reviews[].tripDate": "string | null",
  "data.reviews[].tripType": "string (optional)",
  "data.reviews[].helpfulVotes": "number | null",
  "data.reviews[].author": "object | null",
  "data.reviews[].additionalRatings": "Array<{ label: string | null, rating: number | null }>",
  "data.reviews[].photos": "TripadvisorPhoto[]",
  "data.reviews[].ownerResponse": "object (optional)"
}

Exemplo de response

responseExample
{
  "requestId": "fe28ad04-b88d-4fb4-99ae-631bd6eb03af",
  "executionId": "01K1TRIPADVISORREVIEW00001",
  "data": {
    "source": "tripadvisor.com.br",
    "type": "review",
    "requestUrl": "https://www.tripadvisor.com.br/Attraction_Review-g303631-d311968-Reviews-Museu_de_Arte_de_Sao_Paulo_Assis_Chateaubriand_MASP-Sao_Paulo_State_of_Sao_Paulo.html",
    "extractedAt": "2026-07-27T18:03:00.000Z",
    "locationId": 311968,
    "geoId": 303631,
    "name": "Museu de Arte de São Paulo Assis Chateaubriand - MASP",
    "placeType": "attraction",
    "page": 1,
    "resultsPerPage": 10,
    "sort": "newest_first",
    "totalReviews": 7012,
    "ratingHistogram": {
      "1": 76,
      "2": 96,
      "3": 604,
      "4": 2316,
      "5": 3919
    },
    "hasNextPage": true,
    "nextPage": 2,
    "nextPageUrl": "https://www.tripadvisor.com.br/Attraction_Review-g303631-d311968-Reviews-or10-Museu_de_Arte_de_Sao_Paulo_Assis_Chateaubriand_MASP-Sao_Paulo_State_of_Sao_Paulo.html",
    "reviews": [
      {
        "reviewId": 100000001,
        "url": "https://www.tripadvisor.com.br/ShowUserReviews-g303631-d311968-r100000001-MASP.html",
        "rating": 5,
        "title": "Visita imperdível",
        "text": "Ótimo acervo e localização.",
        "language": "pt",
        "originalLanguage": "pt",
        "publishedDate": "2026-07-20",
        "tripDate": "2026-07",
        "helpfulVotes": 2,
        "author": {
          "id": "ABC123",
          "displayName": "Viajante",
          "username": "viajante_sp",
          "hometown": "São Paulo, SP",
          "contributions": 42,
          "verified": false
        },
        "additionalRatings": [],
        "photos": []
      }
    ]
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.extractedAt string (ISO datetime) Data e hora UTC da extração. 2026-07-27T18:03:00.000Z
data.geoId number | null Identificador geográfico do destino. 303631
data.hasNextPage boolean Indica se há outra página de avaliações. true
data.locationId number Identificador público do local no Tripadvisor. 311968
data.name string Nome público do estabelecimento ou atração. Museu de Arte de São Paulo Assis Chateaubriand - MASP
data.nextPage number | null Número da próxima página ou null. 2
data.nextPageUrl string (URL) | null URL pública equivalente à próxima página. https://www.tripadvisor.com.br/Attraction_Review-g303631-d311968-Reviews-or10-Museu_de_Arte_de_Sao_Paulo_Assis_Chateaubriand_MASP-Sao_Paulo_State_of_Sao_Paulo.html
data.page number Página atual, sempre iniciando em 1. 1
data.placeType "hotel" | "restaurant" | "attraction" Categoria inferida da URL. attraction
data.ratingHistogram object<"1" | "2" | "3" | "4" | "5", number | null> Distribuição das avaliações por nota. {"1":76,"2":96,"3":604,"4":2316,"5":3919}
data.requestUrl string (URL normalizada) URL canônica em tripadvisor.com.br usada na extração. https://www.tripadvisor.com.br/Attraction_Review-g303631-d311968-Reviews-Museu_de_Arte_de_Sao_Paulo_Assis_Chateaubriand_MASP-Sao_Paulo_State_of_Sao_Paulo.html
data.resultsPerPage number Quantidade de avaliações retornadas por página. 10
data.reviews[].additionalRatings Array<{ label: string | null, rating: number | null }> Notas adicionais por critério quando publicadas. []
data.reviews[].author object | null Perfil público resumido do autor. {"id":"ABC123","displayName":"Viajante","username":"viajante_sp","hometown":"São Paulo, SP","contributions":42,"verified":false}
data.reviews[].helpfulVotes number | null Quantidade pública de votos úteis. 2
data.reviews[].language string | null Idioma do texto retornado. pt
data.reviews[].originalLanguage string | null Idioma original informado pela fonte. pt
data.reviews[].ownerResponse object (optional) Resposta pública do estabelecimento quando existente. N/A
data.reviews[].photos TripadvisorPhoto[] Fotos públicas anexadas à avaliação. []
data.reviews[].publishedDate string | null Data de publicação da avaliação. 2026-07-20
data.reviews[].rating number | null Nota atribuída pelo autor. 5
data.reviews[].reviewId number Identificador público da avaliação. 100000001
data.reviews[].text string | null Texto público da avaliação. Ótimo acervo e localização.
data.reviews[].title string | null Título da avaliação. Visita imperdível
data.reviews[].tripDate string | null Mês ou data da visita quando publicado. 2026-07
data.reviews[].tripType string (optional) Tipo de viagem quando publicado. N/A
data.reviews[].url string (URL) | null URL pública da avaliação. https://www.tripadvisor.com.br/ShowUserReviews-g303631-d311968-r100000001-MASP.html
data.sort "most_relevant" | "newest_first" Ordenação efetivamente aplicada. newest_first
data.source string Fonte pública consultada. tripadvisor.com.br
data.totalReviews number | null Quantidade total de avaliações divulgada pela fonte. 7012
data.type "review" Tipo de extração executado. review
executionId string (uuid) Identificador idempotente da execução. 01K1TRIPADVISORREVIEW00001
requestId string (uuid) Identificador da requisição na GeckoAPI. fe28ad04-b88d-4fb4-99ae-631bd6eb03af

Erros comuns

Respostas com notFound: true não entram nesta tabela, porque retornam sucesso HTTP 200.

Status errorCode Quando acontece
400 INVALID_PAYLOAD JSON inválido ou violação das regras de validação do payload.
401 UNAUTHORIZED Header Authorization ausente ou token/chave inválida.
402 INSUFFICIENT_CREDITS Saldo de créditos insuficiente para a API solicitada.
403 FORBIDDEN Usuário sem acesso ou API temporariamente desabilitada.
409 EXECUTION_CONFLICT executionId conflita com uma execução em estado incompatível.
429 RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTS Limite de taxa ou limite de requisições em voo excedido.
5xx UPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_INVOCATION_FAILED / WORKER_FUNCTION_ERROR / WORKER_INVALID_RESPONSE / INTERNAL_ERROR Falha de servidor no worker, provider/proxy ou gateway. Nesses casos os créditos são estornados automaticamente.