Atrações em São Paulo
Resolve São Paulo no Tripadvisor e retorna a primeira página de atrações.
{
"target": "tripadvisor.com.br",
"type": "plp",
"location": "São Paulo, SP",
"placeType": "attraction",
"page": 1
} // docs
Lista hotéis, restaurantes ou atrações de um destino no Tripadvisor com resolução automática da localização e paginação iniciando em 1.
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.
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": "plp",
"location": "São Paulo, SP",
"placeType": "attraction",
"page": 1
}'
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.
Endpoint
POST /v1/mcp
Tool name
tripadvisor_com_br_plp
Auth
Bearer ou X-API-Key
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "tripadvisor_com_br_plp",
"arguments": {
"location": "São Paulo, SP",
"placeType": "attraction",
"page": 1,
"executionId": "exec_example_123"
}
}
}
Campos suportados nesta API do POST /v1/extract,
com regras específicas de obrigatoriedade e condicionais.
| Campo | Tipo | Status | Regra | Default | Exemplo |
|---|---|---|---|---|---|
| location Localizacao textual usada no Glassdoor PLP, Hoteis.com PLP, Trivago PLP e Tripadvisor PLP (ex.: Brasil, Curitiba, Sao Paulo). | string | Obrigatório | Cidade, região ou destino que será resolvido automaticamente no Tripadvisor. | - | Brasil |
| placeType Categoria de local no Tripadvisor. É obrigatória no PLP, opcional na busca geral e inferida automaticamente da URL em PDP e Review. | "hotel" | "restaurant" | "attraction" | Obrigatório | Categoria da listagem: hotel, restaurant ou attraction. | - | attraction |
| 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 plp. | - | 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 da listagem, iniciando em 1. | 1 | 2 |
Resolve São Paulo no Tripadvisor e retorna a primeira página de atrações.
{
"target": "tripadvisor.com.br",
"type": "plp",
"location": "São Paulo, SP",
"placeType": "attraction",
"page": 1
} Retorna a segunda página de restaurantes do destino.
{
"target": "tripadvisor.com.br",
"type": "plp",
"location": "Rio de Janeiro, RJ",
"placeType": "restaurant",
"page": 2
} Mapa de paths de saída com tipo esperado para esta API.
{
"requestId": "string (uuid)",
"executionId": "string (uuid)",
"data.source": "string",
"data.type": "\"plp\"",
"data.requestUrl": "string (URL)",
"data.extractedAt": "string (ISO datetime)",
"data.location": "string",
"data.geoId": "number",
"data.placeType": "\"hotel\" | \"restaurant\" | \"attraction\"",
"data.page": "number",
"data.resultsPerPage": "number",
"data.totalResults": "number | null",
"data.hasNextPage": "boolean",
"data.nextPage": "number | null",
"data.nextPageUrl": "string (URL) | null",
"data.items[].locationId": "number",
"data.items[].geoId": "number | null",
"data.items[].url": "string (URL)",
"data.items[].name": "string",
"data.items[].placeType": "\"hotel\" | \"restaurant\" | \"attraction\"",
"data.items[].address": "string | null",
"data.items[].rating.rating": "number | null",
"data.items[].rating.reviewCount": "number | null",
"data.items[].ranking": "string | null",
"data.items[].priceLevel": "string (optional)",
"data.items[].categories[]": "string",
"data.items[].thumbnail": "string (URL) | null",
"data.items[].openNow": "boolean | null",
"data.items[].sponsored": "boolean"
} {
"requestId": "4af78836-29dc-4182-8311-89e8bc531880",
"executionId": "01K1TRIPADVISORPLP00000001",
"data": {
"source": "tripadvisor.com.br",
"type": "plp",
"requestUrl": "https://www.tripadvisor.com.br/Attractions-g303631-Activities-Sao_Paulo_State_of_Sao_Paulo.html",
"extractedAt": "2026-07-27T18:01:00.000Z",
"location": "São Paulo, SP",
"geoId": 303631,
"placeType": "attraction",
"page": 1,
"resultsPerPage": 30,
"totalResults": 1149,
"hasNextPage": true,
"nextPage": 2,
"nextPageUrl": "https://www.tripadvisor.com.br/Attractions-g303631-Activities-oa30-Sao_Paulo_State_of_Sao_Paulo.html",
"items": [
{
"locationId": 311968,
"geoId": 303631,
"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",
"name": "Museu de Arte de São Paulo Assis Chateaubriand - MASP",
"placeType": "attraction",
"address": "Avenida Paulista, 1578, São Paulo, SP",
"rating": {
"rating": 4.5,
"reviewCount": 8072
},
"ranking": "#7 de 1149 coisas para fazer em São Paulo",
"categories": [
"Museus de arte"
],
"thumbnail": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/masp.jpg",
"openNow": true,
"sponsored": false
}
]
}
} | Path | Tipo | Descrição | Exemplo |
|---|---|---|---|
| data.extractedAt | string (ISO datetime) | Data e hora UTC da extração. | 2026-07-27T18:01:00.000Z |
| data.geoId | number | Destino resolvido no Tripadvisor. | 303631 |
| data.hasNextPage | boolean | Indica se outra página pode ser solicitada. | true |
| data.items[].address | string | null | Endereço publicado na listagem. | Avenida Paulista, 1578, São Paulo, SP |
| data.items[].categories[] | string | Categorias públicas do local. | Museus de arte |
| data.items[].geoId | number | null | Identificador geográfico do destino. | 303631 |
| data.items[].locationId | number | Identificador público do local. | 311968 |
| data.items[].name | string | Nome público do local. | Museu de Arte de São Paulo Assis Chateaubriand - MASP |
| data.items[].openNow | boolean | null | Indica se o local está aberto. | true |
| data.items[].placeType | "hotel" | "restaurant" | "attraction" | Categoria normalizada do local. | attraction |
| data.items[].priceLevel | string (optional) | Faixa de preço textual quando publicada. | N/A |
| data.items[].ranking | string | null | Posição no ranking do destino. | #7 de 1149 coisas para fazer em São Paulo |
| data.items[].rating.rating | number | null | Nota agregada do local. | 4.5 |
| data.items[].rating.reviewCount | number | null | Quantidade pública de avaliações. | 8072 |
| data.items[].sponsored | boolean | Indica se o resultado foi identificado como patrocinado. | false |
| data.items[].thumbnail | string (URL) | null | Imagem principal exibida na listagem. | https://dynamic-media-cdn.tripadvisor.com/media/photo-o/masp.jpg |
| data.items[].url | string (URL) | URL pública do local. | 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.location | string | Localização textual recebida na requisição. | São Paulo, SP |
| 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/Attractions-g303631-Activities-oa30-Sao_Paulo_State_of_Sao_Paulo.html |
| data.page | number | Página atual, sempre iniciando em 1. | 1 |
| data.placeType | "hotel" | "restaurant" | "attraction" | Categoria solicitada para a listagem. | attraction |
| data.requestUrl | string (URL) | URL pública equivalente à listagem solicitada. | https://www.tripadvisor.com.br/Attractions-g303631-Activities-Sao_Paulo_State_of_Sao_Paulo.html |
| data.resultsPerPage | number | Tamanho de página usado pela fonte. | 30 |
| data.source | string | Fonte pública consultada. | tripadvisor.com.br |
| data.totalResults | number | null | Total divulgado pela fonte, quando disponível. | 1149 |
| data.type | "plp" | Tipo de extração executado. | plp |
| executionId | string (uuid) | Identificador idempotente da execução. | 01K1TRIPADVISORPLP00000001 |
| requestId | string (uuid) | Identificador da requisição na GeckoAPI. | 4af78836-29dc-4182-8311-89e8bc531880 |
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. |