Skip to content

// docs

Hoteis.com: Get accommodation details

Extracts hotel details (PDP) from Hoteis.com with the same input pattern as Booking PDP: URL + stay and occupancy dates.

hoteis.com:pdp · 1 credit per request

Standard credit cost. Your account pricing is shown in the sandbox.

Try this operation in the sandbox

HTTP request

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -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"
}'

Keep your API key on your server. See the quickstart for authentication and response handling.

MCP request

The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.

POST /v1/mcp · Bearer or X-API-Key authentication

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"
    }
  }
}

Supported inputs

Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.

FieldTypeRequirementRuleDefaultExample
url
URL extraction target. For some PLPs it can be omitted when API assembles URL from other fields.
string (URL) Required Mandatory for PDP. - https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/
target
Target source for extraction.
enum Required Always mandatory and must be hoteis.com. - hoteis.com
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always mandatory and must be pdp. - pdp
checkinDate
Check-in date for Booking PDP/PLP, Hoteis.com PDP/PLP and Trivago PDP/PLP.
string (YYYY-MM-DD) Required Check-in date in the format YYYY-MM-DD. - 2026-03-10
checkoutDate
Checkout date for Booking PDP/PLP, Hoteis.com PDP/PLP and Trivago PDP/PLP. Must be greater than checkinDate.
string (YYYY-MM-DD) Required Checkout date in the format YYYY-MM-DD and greater than checkinDate. - 2026-03-11
numAdults
Quantity of adults for Booking, Airbnb, Hoteis.com, Trivago, Decolar, GOL, Azul, LATAM and Trip.com.
integer (1-30) Optional Number of adults (integer between 1 and 30). 2 2
numChildren
Number of children for Booking, Hoteis.com, Trivago, Decolar, GOL, Azul, LATAM and Trip.com.
integer (0-30) Optional Number of children (integer between 0 and 30). 0 0
numRooms
Number of rooms for Booking, Hoteis.com PDP/PLP and Trivago PDP/PLP.
integer (1-15) Optional Number of rooms (integer between 1 and 15). 1 1
lang
Language for Booking and Trivago (backend default: pt-br).
string (ll or ll-cc) Optional Language in ll or ll-cc format. pt-br pt-br
currency
Currency for Booking, Trivago and Azul (backend default: BRL).
string (ISO 4217) Optional Currency code with 3 letters. BRL BRL

Request examples

PDP with dates and occupation

Inform URL of the hotel and period of stay.

PDP with dates and occupation
{
  "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"
}

Response schema

Leaf paths and expected types. Field names and enum values are part of the API contract.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "notFound": "boolean (optional; true when the upstream entity was not found and data is null)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "\"1.0.0\"",
  "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"
}

Example response

Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.

responseExample
{
  "requestId": "77777777-1111-4111-8111-777777777777",
  "executionId": "77777777-2222-4222-8222-777777777777",
  "data": {
    "source": "hoteis.com",
    "type": "pdp",
    "parser": "1.0.0",
    "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"
        }
      ]
    }
  }
}

Complete field reference

PathTypeDescriptionExample
data.data.address.city string Field data.data.address.city returned in the response payload. Vitoria
data.data.address.country string Field data.data.address.country returned in the response payload. BRA
data.data.address.latitude number Field data.data.address.latitude returned in the response payload. -20.316074
data.data.address.line string Field data.data.address.line returned in the response payload. Av. Nossa Senhora dos Navegantes, 635, Enseada do Sua, Vitoria, ES, 29050-335
data.data.address.longitude number Field data.data.address.longitude returned in the response payload. -40.295986
data.data.address.postalCode string Field data.data.address.postalCode returned in the response payload. 29050-335
data.data.address.state string data.data.address.state field returned in the response payload. ES
data.data.address.streetAddress string Field data.data.address.streetAddress returned in the response payload. Av. Nossa Senhora dos Navegantes, 635
data.data.aggregateRating.bestRating number Field data.data.aggregateRating.bestRating returned in the response payload. 10
data.data.aggregateRating.label string data.data.aggregateRating.label field returned in the response payload. Maravilhosa
data.data.aggregateRating.rating number Field data.data.aggregateRating.rating returned in the response payload. 9
data.data.aggregateRating.reviewCount number Field data.data.aggregateRating.reviewCount returned in the response payload. 1002
data.data.canonicalUrl string Field data.data.canonicalUrl returned in the response payload. https://www.hoteis.com/ho366809/golden-tulip-porto-vitoria-vitoria-brasil/
data.data.checkinDate string (YYYY-MM-DD) data.data.checkinDate field returned in the response payload. 2026-03-10
data.data.checkoutDate string (YYYY-MM-DD) Field data.data.checkoutDate returned in the response payload. 2026-03-11
data.data.currency string data.data.currency field returned in the response payload. BRL
data.data.description string Field data.data.description returned in the response payload. Este hotel em Vitoria possui piscina externa e restaurante
data.data.features[] string Field data.data.features[] returned in the response payload. Piscina externa
data.data.hotelId string data.data.hotelId field returned in the response payload. 3976043
data.data.houseRules[].name string Field data.data.houseRules[].name returned in the response payload. Check-in
data.data.houseRules[].value string Field data.data.houseRules[].value returned in the response payload. A partir das 14:00
data.data.image[].alt string Field data.data.image[].alt returned in the response payload. Piscina externa
data.data.image[].url string Field data.data.image[].url returned in the response payload. https://images.trvl-media.com/lodging/4000000/3980000/3976100/3976043/0baa9ee4.jpg
data.data.lang string Field data.data.lang returned in the response payload. pt-br
data.data.mainImage.alt string Field data.data.mainImage.alt returned in the response payload. Piscina externa
data.data.mainImage.url string Field data.data.mainImage.url returned in the response payload. https://images.trvl-media.com/lodging/4000000/3980000/3976100/3976043/0baa9ee4.jpg
data.data.name string Field data.data.name returned in the response payload. Golden Tulip Porto Vitoria
data.data.nearbyPlaces[].duration string Field data.data.nearbyPlaces[].duration returned in the response payload. 2 min de caminhada
data.data.nearbyPlaces[].kind string Field data.data.nearbyPlaces[].kind returned in the response payload. Place
data.data.nearbyPlaces[].name string Field data.data.nearbyPlaces[].name returned in the response payload. Praca do Papa
data.data.numAdults number Field data.data.numAdults returned in the response payload. 2
data.data.numChildren number Field data.data.numChildren returned in the response payload. 0
data.data.numRooms number Field data.data.numRooms returned in the response payload. 1
data.data.rooms[].features[] string Field data.data.rooms[].features[] returned in the response payload. Ar-condicionado
data.data.rooms[].freeBreakfast boolean Field data.data.rooms[].freeBreakfast returned in the response payload. false
data.data.rooms[].name string Field data.data.rooms[].name returned in the response payload. Quarto executivo
data.data.rooms[].numberOfGuests number Field data.data.rooms[].numberOfGuests returned in the response payload. 2
data.data.rooms[].price number Field data.data.rooms[].price returned in the response payload. 675
data.data.rooms[].regularPrice number Field data.data.rooms[].regularPrice returned in the response payload. 710
data.data.starRating number Field data.data.starRating returned in the response payload. 3.5
data.data.url string Field data.data.url returned in the response payload. 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) data.extractedAt field returned in the response payload. 2026-03-05T18:20:00.000Z
data.parser "1.0.0" Stable version of the API response format. 1.0.0
data.requestUrl string Same value as `data.data.url`; never exposes the queried internal endpoint. 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 Field data.source returned in the response payload. hoteis.com
data.type string Field data.type returned in the response payload. pdp
executionId string (uuid) Field executionId returned in the response payload. 77777777-2222-4222-8222-777777777777
notFound boolean (optional; true when the upstream entity was not found and data is null) Present and true when the upstream entity was not found. In this case data is null and the request still completes successfully. N/A
requestId string (uuid) Field requestId returned in the response payload. 77777777-1111-4111-8111-777777777777

Errors and missing data

When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.

HTTP statusError codeMeaning
400INVALID_PAYLOADInvalid JSON or a request that violates the documented validation rules.
401UNAUTHORIZEDMissing authorization or an invalid API key or token.
402INSUFFICIENT_CREDITSThe account has insufficient credits for this operation.
403FORBIDDENThe account does not have access, or the API is temporarily disabled.
409EXECUTION_CONFLICTThe execution identifier conflicts with an incompatible execution state.
429RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTSA rate limit or simultaneous request limit was exceeded.
5xxUPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERRORAn upstream, worker or gateway failure. Failed requests follow the platform refund policy.

Other Hoteis.com operations