GET
# TripAdvisor Search API

Search for hotels in any destination on TripAdvisor with advanced filtering options.

## Overview

#### Location-Based Search

Search for hotels in a specific geographic area with optional date filters and sorting options.

The TripAdvisor Search endpoint allows you to find hotels in a specific location (city, region, or area) with optional filtering by dates, guest configuration, and various sorting options.

### Endpoint URL

GET https://api.stayapi.com/v1/tripadvisor/search 

## Query Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| geo\_id | integer | Required | TripAdvisor geographic area ID (e.g., 293916 for Bangkok) |
| check\_in | string | Optional | Check-in date (YYYY-MM-DD) |
| check\_out | string | Optional | Check-out date (YYYY-MM-DD) |
| adults | integer | Optional | Number of adult guests (1-8, default: 2) |
| rooms | integer | Optional | Number of rooms (1-4, default: 1) |
| children\_ages | array | Optional | List of children ages (e.g., [5, 12]) |
| currency | string | Optional | Currency code (default: "USD") |
| offset | integer | Optional | Pagination offset (default: 0) |
| limit | integer | Optional | Number of results (1-50, default: 30) |
| sort | string | Optional | Sort order (see options below) |

## Sort Options

Available sort orders:

`BEST_VALUE`

Best value for money (default)

`TRAVELER_RANKED`

Traveler ranking

`PRICE_LOW_TO_HIGH`

Lowest price first

`PRICE_HIGH_TO_LOW`

Highest price first

## Finding Geographic IDs

#### Common Geo IDs

Bangkok: 293916, Phuket: 2400063, Rome: 187791, Paris: 187147, London: 186338, New York: 60763

Geographic IDs can be found in TripAdvisor destination URLs:

`
            https://www.tripadvisor.com/Tourism-g293916-Bangkok_Thailand.html
          `

The geo ID is `293916` (the number after "g").

## Response Data

### Hotel Information

- Hotel name and TripAdvisor location ID
- Rating (out of 5) and review count
- Price range (minimum and maximum per night)
- GPS coordinates (latitude/longitude)
- Property type (HOTEL, RESORT, etc.)
- Address and neighborhood

### Pagination

- Use `offset` and `limit` in `search_params` to paginate
- Available filters and sort options returned per request

Request

```curl
curl -X GET "https://api.stayapi.com/v1/tripadvisor/search?geo_id=293916&check_in=2026-04-18&check_out=2026-04-20&adults=2&rooms=1&limit=10" \
  -H "x-api-key: YOUR_API_KEY"
```

Response

```json
{
  "success": true,
  "geo_id": 293916,
  "search_params": {
    "check_in": "2026-04-18",
    "check_out": "2026-04-20",
    "adults": 2,
    "rooms": 1,
    "children_ages": [],
    "currency": "USD",
    "offset": 0,
    "limit": 10,
    "sort": "BEST_VALUE"
  },
  "hotels": [
    {
      "location_id": 8950960,
      "name": "Hotel Clover Asoke",
      "url": "/HotelHighlight-g293916-d8950960-Reviews-...",
      "geo_location": {
        "latitude": 13.7412,
        "longitude": 100.5591
      },
      "rating": 4.5,
      "review_count": 2345,
      "price": {
        "minimum": 85,
        "maximum": 210
      },
      "property_type": "HOTEL",
      "address": "123 Sukhumvit Road",
      "neighborhood": "Asoke",
      "merchandising_labels": ["Travellers' Choice"]
    }
  ],
  "filters": {},
  "sort_options": [],
  "message": "Successfully retrieved hotel search results",
  "retrieved_at": "2026-02-27T10:30:00Z"
}
```

```json
{
  "type": "https://api.stayapi.com/errors/upstream-error",
  "title": "Upstream Error",
  "status": 502,
  "detail": "The upstream service could not complete the request.",
  "instance": "/v1/tripadvisor/search",
  "provider": "tripadvisor",
  "error_code": "UPSTREAM_ERROR",
  "correlation_id": "req_abcdef1234"
}
```
