// docs

Hoteis.com PDP

Extrai detalhes de hotel (PDP) do Hoteis.com com o mesmo padrao de entrada do Booking PDP: URL + datas de estadia e ocupacao.

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.

Chamada HTTP

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/",
  "target": "hoteis.com",
  "type": "pdp",
  "checkinDate": "2026-03-10",
  "checkoutDate": "2026-03-11",
  "numAdults": 2,
  "numChildren": 0,
  "numRooms": 1,
  "lang": "pt-br",
  "currency": "BRL"
}'

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

hoteis_com_pdp

Auth

Bearer ou X-API-Key

hoteis_com_pdp tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "hoteis_com_pdp",
    "arguments": {
      "url": "https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/",
      "checkinDate": "2026-03-10",
      "checkoutDate": "2026-03-11",
      "numAdults": 2,
      "numChildren": 0,
      "numRooms": 1,
      "lang": "pt-br",
      "currency": "BRL",
      "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 Obrigatorio para PDP. - https://www.mercadolivre.com.br/p/MLB123456
target
Fonte alvo da extração.
enum Obrigatório Sempre obrigatorio e deve ser hoteis.com. - mercadolivre.com.br
type
Tipo da extração: pdp, idp, plp, review ou places.
enum Obrigatório Sempre obrigatorio e deve ser pdp. - pdp
checkinDate
Data de check-in para Booking PDP/PLP e Hoteis.com PDP/PLP.
string (YYYY-MM-DD) Obrigatório Data de check-in no formato YYYY-MM-DD. - 2026-03-01
checkoutDate
Data de check-out para Booking PDP/PLP e Hoteis.com PDP/PLP. Deve ser maior que checkinDate.
string (YYYY-MM-DD) Obrigatório Data de check-out no formato YYYY-MM-DD e maior que checkinDate. - 2026-03-02
numAdults
Quantidade de adultos para Booking, Airbnb e Hoteis.com PDP/PLP.
integer (1-30) Opcional Quantidade de adultos (inteiro entre 1 e 30). 2 2
numChildren
Quantidade de crianças para Booking e Hoteis.com PDP/PLP.
integer (0-30) Opcional Quantidade de criancas (inteiro entre 0 e 30). 0 0
numRooms
Quantidade de quartos para Booking e Hoteis.com PDP/PLP.
integer (1-15) Opcional Quantidade de quartos (inteiro entre 1 e 15). 1 1
lang
Idioma para Booking (default no backend: pt-br).
string (ll ou ll-cc) Opcional Idioma no formato ll ou ll-cc. pt-br pt-br
currency
Moeda para Booking (default no backend: BRL).
string (ISO 4217) Opcional Codigo de moeda com 3 letras. BRL BRL

Exemplos de request

PDP com datas e ocupacao

Informar URL do hotel e periodo da estadia.

PDP com datas e ocupacao
{
  "url": "https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/",
  "target": "hoteis.com",
  "type": "pdp",
  "checkinDate": "2026-03-10",
  "checkoutDate": "2026-03-11",
  "numAdults": 2,
  "numChildren": 0,
  "numRooms": 1,
  "lang": "pt-br",
  "currency": "BRL"
}

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": "string",
  "data.parser": "string",
  "data.requestUrl": "string",
  "data.extractedAt": "string (iso datetime)",
  "data.data.url": "string",
  "data.data.canonicalUrl": "string",
  "data.data.checkinDate": "string (YYYY-MM-DD)",
  "data.data.checkoutDate": "string (YYYY-MM-DD)",
  "data.data.numAdults": "number",
  "data.data.numChildren": "number",
  "data.data.numRooms": "number",
  "data.data.lang": "string",
  "data.data.currency": "string",
  "data.data.hotelId": "string",
  "data.data.name": "string",
  "data.data.description": "string",
  "data.data.starRating": "number",
  "data.data.aggregateRating.rating": "number",
  "data.data.aggregateRating.reviewCount": "number",
  "data.data.aggregateRating.label": "string",
  "data.data.aggregateRating.bestRating": "number",
  "data.data.address.line": "string",
  "data.data.address.streetAddress": "string",
  "data.data.address.city": "string",
  "data.data.address.state": "string",
  "data.data.address.postalCode": "string",
  "data.data.address.country": "string",
  "data.data.address.latitude": "number",
  "data.data.address.longitude": "number",
  "data.data.mainImage.url": "string",
  "data.data.mainImage.alt": "string",
  "data.data.image[].url": "string",
  "data.data.image[].alt": "string",
  "data.data.features[]": "string",
  "data.data.nearbyPlaces[].name": "string",
  "data.data.nearbyPlaces[].duration": "string",
  "data.data.nearbyPlaces[].kind": "string",
  "data.data.rooms[].name": "string",
  "data.data.rooms[].numberOfGuests": "number",
  "data.data.rooms[].price": "number",
  "data.data.rooms[].regularPrice": "number",
  "data.data.rooms[].freeBreakfast": "boolean",
  "data.data.rooms[].features[]": "string",
  "data.data.houseRules[].name": "string",
  "data.data.houseRules[].value": "string"
}

Exemplo de response

responseExample
{
  "requestId": "77777777-1111-4111-8111-777777777777",
  "executionId": "77777777-2222-4222-8222-777777777777",
  "data": {
    "source": "hoteis.com",
    "type": "pdp",
    "parser": "plugin_state",
    "requestUrl": "https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/?chkin=2026-03-10&chkout=2026-03-11&rm1=a2:c0:r1",
    "extractedAt": "2026-03-05T18:20:00.000Z",
    "data": {
      "url": "https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/?chkin=2026-03-10&chkout=2026-03-11&rm1=a2:c0:r1",
      "canonicalUrl": "https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/",
      "checkinDate": "2026-03-10",
      "checkoutDate": "2026-03-11",
      "numAdults": 2,
      "numChildren": 0,
      "numRooms": 1,
      "lang": "pt-br",
      "currency": "BRL",
      "hotelId": "3976043",
      "name": "Golden Tulip Porto Vitoria",
      "description": "Este hotel em Vitoria possui piscina externa e restaurante",
      "starRating": 3.5,
      "aggregateRating": {
        "rating": 9,
        "reviewCount": 1002,
        "label": "Maravilhosa",
        "bestRating": 10
      },
      "address": {
        "line": "Av. Nossa Senhora dos Navegantes, 635, Enseada do Sua, Vitoria, ES, 29050-335",
        "streetAddress": "Av. Nossa Senhora dos Navegantes, 635",
        "city": "Vitoria",
        "state": "ES",
        "postalCode": "29050-335",
        "country": "BRA",
        "latitude": -20.316074,
        "longitude": -40.295986
      },
      "mainImage": {
        "url": "https://images.trvl-media.com/lodging/4000000/3980000/3976100/3976043/0baa9ee4.jpg",
        "alt": "Piscina externa"
      },
      "image": [
        {
          "url": "https://images.trvl-media.com/lodging/4000000/3980000/3976100/3976043/0baa9ee4.jpg",
          "alt": "Piscina externa"
        }
      ],
      "features": [
        "Piscina externa",
        "Wi-Fi gratis",
        "Restaurante"
      ],
      "nearbyPlaces": [
        {
          "name": "Praca do Papa",
          "duration": "2 min de caminhada",
          "kind": "Place"
        }
      ],
      "rooms": [
        {
          "name": "Quarto executivo",
          "numberOfGuests": 2,
          "price": 675,
          "regularPrice": 710,
          "freeBreakfast": false,
          "features": [
            "Ar-condicionado",
            "Wi-Fi gratis"
          ]
        }
      ],
      "houseRules": [
        {
          "name": "Check-in",
          "value": "A partir das 14:00"
        }
      ]
    }
  }
}

Referência completa de campos

Path Tipo Descrição Exemplo
data.data.address.city string Campo data.data.address.city retornado no payload de resposta. Vitoria
data.data.address.country string Campo data.data.address.country retornado no payload de resposta. BRA
data.data.address.latitude number Campo data.data.address.latitude retornado no payload de resposta. -20.316074
data.data.address.line string Campo data.data.address.line retornado no payload de resposta. Av. Nossa Senhora dos Navegantes, 635, Enseada do Sua, Vitoria, ES, 29050-335
data.data.address.longitude number Campo data.data.address.longitude retornado no payload de resposta. -40.295986
data.data.address.postalCode string Campo data.data.address.postalCode retornado no payload de resposta. 29050-335
data.data.address.state string Campo data.data.address.state retornado no payload de resposta. ES
data.data.address.streetAddress string Campo data.data.address.streetAddress retornado no payload de resposta. Av. Nossa Senhora dos Navegantes, 635
data.data.aggregateRating.bestRating number Campo data.data.aggregateRating.bestRating retornado no payload de resposta. 10
data.data.aggregateRating.label string Campo data.data.aggregateRating.label retornado no payload de resposta. Maravilhosa
data.data.aggregateRating.rating number Campo data.data.aggregateRating.rating retornado no payload de resposta. 9
data.data.aggregateRating.reviewCount number Campo data.data.aggregateRating.reviewCount retornado no payload de resposta. 1002
data.data.canonicalUrl string Campo data.data.canonicalUrl retornado no payload de resposta. https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/
data.data.checkinDate string (YYYY-MM-DD) Campo data.data.checkinDate retornado no payload de resposta. 2026-03-10
data.data.checkoutDate string (YYYY-MM-DD) Campo data.data.checkoutDate retornado no payload de resposta. 2026-03-11
data.data.currency string Campo data.data.currency retornado no payload de resposta. BRL
data.data.description string Campo data.data.description retornado no payload de resposta. Este hotel em Vitoria possui piscina externa e restaurante
data.data.features[] string Campo data.data.features[] retornado no payload de resposta. Piscina externa
data.data.hotelId string Campo data.data.hotelId retornado no payload de resposta. 3976043
data.data.houseRules[].name string Campo data.data.houseRules[].name retornado no payload de resposta. Check-in
data.data.houseRules[].value string Campo data.data.houseRules[].value retornado no payload de resposta. A partir das 14:00
data.data.image[].alt string Campo data.data.image[].alt retornado no payload de resposta. Piscina externa
data.data.image[].url string Campo data.data.image[].url retornado no payload de resposta. https://images.trvl-media.com/lodging/4000000/3980000/3976100/3976043/0baa9ee4.jpg
data.data.lang string Campo data.data.lang retornado no payload de resposta. pt-br
data.data.mainImage.alt string Campo data.data.mainImage.alt retornado no payload de resposta. Piscina externa
data.data.mainImage.url string Campo data.data.mainImage.url retornado no payload de resposta. https://images.trvl-media.com/lodging/4000000/3980000/3976100/3976043/0baa9ee4.jpg
data.data.name string Campo data.data.name retornado no payload de resposta. Golden Tulip Porto Vitoria
data.data.nearbyPlaces[].duration string Campo data.data.nearbyPlaces[].duration retornado no payload de resposta. 2 min de caminhada
data.data.nearbyPlaces[].kind string Campo data.data.nearbyPlaces[].kind retornado no payload de resposta. Place
data.data.nearbyPlaces[].name string Campo data.data.nearbyPlaces[].name retornado no payload de resposta. Praca do Papa
data.data.numAdults number Campo data.data.numAdults retornado no payload de resposta. 2
data.data.numChildren number Campo data.data.numChildren retornado no payload de resposta. 0
data.data.numRooms number Campo data.data.numRooms retornado no payload de resposta. 1
data.data.rooms[].features[] string Campo data.data.rooms[].features[] retornado no payload de resposta. Ar-condicionado
data.data.rooms[].freeBreakfast boolean Campo data.data.rooms[].freeBreakfast retornado no payload de resposta. false
data.data.rooms[].name string Campo data.data.rooms[].name retornado no payload de resposta. Quarto executivo
data.data.rooms[].numberOfGuests number Campo data.data.rooms[].numberOfGuests retornado no payload de resposta. 2
data.data.rooms[].price number Campo data.data.rooms[].price retornado no payload de resposta. 675
data.data.rooms[].regularPrice number Campo data.data.rooms[].regularPrice retornado no payload de resposta. 710
data.data.starRating number Campo data.data.starRating retornado no payload de resposta. 3.5
data.data.url string Campo data.data.url retornado no payload de resposta. https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/?chkin=2026-03-10&chkout=2026-03-11&rm1=a2:c0:r1
data.extractedAt string (iso datetime) Campo data.extractedAt retornado no payload de resposta. 2026-03-05T18:20:00.000Z
data.parser string Campo data.parser retornado no payload de resposta. plugin_state
data.requestUrl string Campo data.requestUrl retornado no payload de resposta. https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/?chkin=2026-03-10&chkout=2026-03-11&rm1=a2:c0:r1
data.source string Campo data.source retornado no payload de resposta. hoteis.com
data.type string Campo data.type retornado no payload de resposta. pdp
executionId string (uuid) Campo executionId retornado no payload de resposta. 77777777-2222-4222-8222-777777777777
requestId string (uuid) Campo requestId retornado no payload de resposta. 77777777-1111-4111-8111-777777777777

Erros comuns

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.
WhatsApp