Skip to content

// docs

Trivago: Search stays

Searches accommodations in Trivago by destination, dates and occupancy, returning predicted prices, reviews, highlights and pagination in structured JSON.

trivago.com.br:plp · 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 '{
  "target": "trivago.com.br",
  "type": "plp",
  "location": "São Paulo",
  "checkinDate": "2026-08-10",
  "checkoutDate": "2026-08-12",
  "numAdults": 2,
  "numRooms": 1,
  "numChildren": 0,
  "page": 1,
  "currency": "BRL",
  "lang": "pt-br"
}'

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

trivago_com_br_plp · tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "trivago_com_br_plp",
    "arguments": {
      "location": "São Paulo",
      "checkinDate": "2026-08-10",
      "checkoutDate": "2026-08-12",
      "numAdults": 2,
      "numRooms": 1,
      "numChildren": 0,
      "page": 1,
      "currency": "BRL",
      "lang": "pt-br",
      "executionId": "exec_example_123"
    }
  }
}

Supported inputs

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

FieldTypeRequirementRuleDefaultExample
location
Textual location used in Glassdoor PLP, Hoteis.com PLP, Trivago PLP and Tripadvisor PLP (e.g.: Brazil, Curitiba, Sao Paulo).
string Required Textual destination of the search, such as city, state or region. - São Paulo
target
Target source for extraction.
enum Required Always required and must be trivago.com.br. - trivago.com.br
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always required and must be plp. - plp
page
Pagination. In PLP, including Trivago, and in Reclame AQUI ILP starts in 1; in review (MercadoLivre, Booking and Hotels) starts in 0. The Reclame AQUI ILP even accepts the page 100.
integer Optional Listing page, starting at 1. 1 1
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-08-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 Check-out date in the format YYYY-MM-DD and later than checkinDate. - 2026-08-12
numAdults
Quantity of adults for Booking, Airbnb, Hoteis.com, Trivago, Decolar, GOL, Azul, LATAM and Trip.com.
integer (1-30) Required Number of adults in the search. - 2
numChildren
Number of children for Booking, Hoteis.com, Trivago, Decolar, GOL, Azul, LATAM and Trip.com.
integer (0-30) Optional Number of children in the search. 0 0
numRooms
Number of rooms for Booking, Hoteis.com PDP/PLP and Trivago PDP/PLP.
integer (1-15) Required Number of rooms in the search. - 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 Price currency in the format ISO 4217. BRL BRL

Request examples

Accommodations in São Paulo

Search the first page for two adults and one room, in Portuguese and with prices in reais.

Accommodations in São Paulo
{
  "target": "trivago.com.br",
  "type": "plp",
  "location": "São Paulo",
  "checkinDate": "2026-08-10",
  "checkoutDate": "2026-08-12",
  "numAdults": 2,
  "numRooms": 1,
  "numChildren": 0,
  "page": 1,
  "currency": "BRL",
  "lang": "pt-br"
}

Second page in Rio de Janeiro

Repeats the search for a family and requests the second page of results.

Second page in Rio de Janeiro
{
  "target": "trivago.com.br",
  "type": "plp",
  "location": "Rio de Janeiro, RJ",
  "checkinDate": "2026-09-10",
  "checkoutDate": "2026-09-13",
  "numAdults": 2,
  "numRooms": 1,
  "numChildren": 1,
  "page": 2
}

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 no destination or accommodation results could be resolved)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "\"1.0.0\"",
  "data.requestUrl": "string (URL)",
  "data.extractedAt": "string (ISO datetime)",
  "data.location": "string",
  "data.checkinDate": "string (YYYY-MM-DD)",
  "data.checkoutDate": "string (YYYY-MM-DD)",
  "data.numAdults": "number",
  "data.numChildren": "number",
  "data.numRooms": "number",
  "data.currency": "string",
  "data.lang": "string",
  "data.destination.id": "number",
  "data.destination.namespace": "number",
  "data.destination.name": "string (optional)",
  "data.destination.locationLabel": "string (optional)",
  "data.destination.type": "string (optional)",
  "data.page": "number",
  "data.resultsPerPage": "number",
  "data.offset": "number",
  "data.returnedResults": "number",
  "data.nextPage": "number (optional)",
  "data.items[].position": "number",
  "data.items[].id": "number",
  "data.items[].namespace": "number",
  "data.items[].url": "string (URL, optional)",
  "data.items[].name": "string (optional)",
  "data.items[].location": "string (optional)",
  "data.items[].accommodationType": "string (optional)",
  "data.items[].image": "string (URL, optional)",
  "data.items[].imageCount": "number (optional)",
  "data.items[].starRating": "number (optional)",
  "data.items[].isSuperior": "boolean (optional)",
  "data.items[].reviewScore": "number (optional)",
  "data.items[].reviewCount": "number (optional)",
  "data.items[].reviewFormatted": "string (optional)",
  "data.items[].forecastedPrice.arrival": "string (optional)",
  "data.items[].forecastedPrice.amount": "number (optional)",
  "data.items[].forecastedPrice.eurocents": "number (optional)",
  "data.items[].forecastedPrice.currency": "string (optional)",
  "data.items[].advertiserCount": "number (optional)",
  "data.items[].highlights[]": "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": "527587af-83dc-4c96-a7fb-8a29bbb64ab8",
  "executionId": "01JZTRIVAGOPLP000000000001",
  "data": {
    "source": "trivago.com.br",
    "type": "plp",
    "parser": "1.0.0",
    "requestUrl": "https://www.trivago.com.br/pt-BR/odr/hotels-sao-paulo?search=200-60123",
    "extractedAt": "2026-07-12T15:30:00.000Z",
    "location": "São Paulo",
    "checkinDate": "2026-08-10",
    "checkoutDate": "2026-08-12",
    "numAdults": 2,
    "numChildren": 0,
    "numRooms": 1,
    "currency": "BRL",
    "lang": "pt-BR",
    "destination": {
      "id": 60123,
      "namespace": 200,
      "name": "São Paulo",
      "locationLabel": "São Paulo, Brasil",
      "type": "City"
    },
    "page": 1,
    "resultsPerPage": 35,
    "offset": 0,
    "returnedResults": 35,
    "nextPage": 2,
    "items": [
      {
        "position": 1,
        "id": 26085746,
        "namespace": 100,
        "url": "https://www.trivago.com.br/pt-BR/oar/hotel-rosewood-sao-paulo-s%C3%A3o-paulo?search=100-26085746",
        "name": "Rosewood São Paulo",
        "location": "São Paulo, Brasil",
        "accommodationType": "Hotel",
        "image": "https://imgcy.trivago.com/c_fill,d_dummy.jpeg,e_sharpen:60,f_auto,h_267,q_50,w_400/hotelier-images/rosewood.jpeg",
        "imageCount": 100,
        "starRating": 5,
        "isSuperior": false,
        "reviewScore": 9.405,
        "reviewCount": 4807,
        "reviewFormatted": "9.4",
        "forecastedPrice": {
          "arrival": "2026-08",
          "amount": 2849,
          "eurocents": 48859,
          "currency": "BRL"
        },
        "advertiserCount": 17,
        "highlights": [
          "Duas piscinas externas"
        ]
      }
    ]
  }
}

Complete field reference

PathTypeDescriptionExample
data.checkinDate string (YYYY-MM-DD) Check-in date used in the query. 2026-08-10
data.checkoutDate string (YYYY-MM-DD) Checkout date used in the query. 2026-08-12
data.currency string Currency requested for prices. BRL
data.destination.id number Destination identifier resolved by Trivago. 60123
data.destination.locationLabel string (optional) Complementary geographic label of the destination. São Paulo, Brasil
data.destination.name string (optional) Translated name of the destination. São Paulo
data.destination.namespace number Namespace associated with the destination identifier. 200
data.destination.type string (optional) Destination type, such as city or region. City
data.extractedAt string (ISO datetime) Date and time UTC of extraction. 2026-07-12T15:30:00.000Z
data.items[].accommodationType string (optional) Type of accommodation, when informed. Hotel
data.items[].advertiserCount number (optional) Number of advertisers offering accommodation. 17
data.items[].forecastedPrice.amount number (optional) Predicted numerical value for the highlighted offer. 2849
data.items[].forecastedPrice.arrival string (optional) Arrival period associated with the expected price. 2026-08
data.items[].forecastedPrice.currency string (optional) Currency of the predicted price. BRL
data.items[].forecastedPrice.eurocents number (optional) Normalized value in euro cents reported by upstream. 48859
data.items[].highlights[] string Standardized highlights displayed for the listing. Duas piscinas externas
data.items[].id number Accommodation identifier in Trivago. 26085746
data.items[].image string (URL, optional) URL from the main image, when available. https://imgcy.trivago.com/c_fill,d_dummy.jpeg,e_sharpen:60,f_auto,h_267,q_50,w_400/hotelier-images/rosewood.jpeg
data.items[].imageCount number (optional) Quantity of images announced for the accommodation. 100
data.items[].isSuperior boolean (optional) Indicates whether the classification has the superior distinction. false
data.items[].location string (optional) Neighborhood, city, or location label displayed in the result. São Paulo, Brasil
data.items[].name string (optional) Business name of the accommodation. Rosewood São Paulo
data.items[].namespace number Namespace associated with the accommodation identifier. 100
data.items[].position number Absolute position of the accommodation in the search. 1
data.items[].reviewCount number (optional) Aggregated number of reviews. 4807
data.items[].reviewFormatted string (optional) Textual summary of the grade and number of reviews. 9.4
data.items[].reviewScore number (optional) Aggregated review score. 9.405
data.items[].starRating number (optional) Star rating when provided. 5
data.items[].url string (URL, optional) URL public accommodation in Trivago. https://www.trivago.com.br/pt-BR/oar/hotel-rosewood-sao-paulo-s%C3%A3o-paulo?search=100-26085746
data.lang string Requested language for texts and labels. pt-BR
data.location string Textual destination received in the payload. São Paulo
data.nextPage number (optional) Next page number, when available. 2
data.numAdults number Number of adults used in the consultation. 2
data.numChildren number Number of children used in the consultation. 0
data.numRooms number Number of rooms used in the query. 1
data.offset number Initial position of the page within the search. 0
data.page number Current search page. 1
data.parser "1.0.0" Stable version of the API response format. 1.0.0
data.requestUrl string (URL) URL equivalent to request; never exposes the queried internal endpoint. https://www.trivago.com.br/pt-BR/odr/hotels-sao-paulo?search=200-60123
data.resultsPerPage number Maximum number of accommodations per page. 35
data.returnedResults number Number of accommodations present in this response. 35
data.source string Public source consulted. trivago.com.br
data.type string Type of operation executed. plp
executionId string (uuid) Idempotent identifier of the execution. 01JZTRIVAGOPLP000000000001
notFound boolean (optional; true when no destination or accommodation results could be resolved) Present and true when the destination could not be resolved or the search did not return accommodations. N/A
requestId string (uuid) Request identifier in GeckoAPI. 527587af-83dc-4c96-a7fb-8a29bbb64ab8

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 Trivago operations