Booking.com Autocomplete API Documentation

GET   /api/v1/search?engine=booking_autocomplete

The Booking.com Autocomplete API turns a partial destination query into a ranked list of suggestions: cities, regions, countries, districts, airports, landmarks and individual properties. Each suggestion carries a dest_id and dest_type that you can pass to the Booking.com API to target an exact destination instead of relying on a free-text match.

One case is not a narrowing: a hotel suggestion searches that property's surrounding area with the property ranked first, rather than returning that property alone. To retrieve a single property, pass its link to the Booking.com Property API instead.

API Parameters

Search Query

  • Name
    q
    Required
    Required
    Description

    The partial or full destination text to autocomplete, up to 200 characters (e.g. dubro). Returns matching cities, regions, countries, districts, airports, landmarks and individual properties. Each suggestion carries the dest_id and dest_type the Booking.com API takes; note that a hotel suggestion searches that property's area with it ranked first rather than returning it alone.

  • Name
    num
    Required
    Optional
    Description

    How many suggestions to return. By default, it returns 5. You can return up to 100 suggestions.

  • Name
    language
    Required
    Optional
    Description

    A hint for the language the suggestion titles and labels come back in (e.g. de, fr). Booking resolves the language from the query itself, so language only applies where the query leaves it open — searching Parigi returns Italian whatever language says. It also affects which destinations Booking ranks into the list, not only their labels, so pin it when you need a stable suggestion set. Check the full list of supported Booking.com language values.

Engine

  • Name
    engine
    Required
    Required
    Description

    Parameter defines an engine that will be used to retrieve real-time data. It must be set to booking_autocomplete.

API key

  • Name
    api_key
    Required
    Required
    Description

    The api_key authenticates your requests. Use it as a query parameter (https://www.searchapi.io/api/v1/search?api_key=YOUR_API_KEY) or in the Authorization header (Bearer YOUR_API_KEY).

Zero Data Retention

  • Name
    zero_retention
    Enterprise Only
    Enterprise Only
    Required
    Optional
    Description

    Set this parameter to true to disable all logging and persistent storage. No request parameters, HTML, or JSON responses are stored or logged. Suitable for high-compliance use cases. Debugging and support may be limited while enabled.

API Examples

Suggestions

Suggestions

Each suggestion includes the destination title, label, and dest_id / dest_type. Feed the latter two into the Booking.com API's dest_id and dest_type parameters.

GET
https://www.searchapi.io/api/v1/search?engine=booking_autocomplete&q=Dubrovnik
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "booking_autocomplete",
  "q": "Dubrovnik"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_xPRye85MgqZ7cQ5NoKadz2Q7",
    "status": "Success",
    "created_at": "2026-08-25T16:03:53Z",
    "request_time_taken": 1.2,
    "parsing_time_taken": 0.01,
    "total_time_taken": 1.21,
    "request_url": "https://www.booking.com/searchresults.en-us.html?ss=Dubrovnik",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_xPRye85MgqZ7cQ5NoKadz2Q7.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_xPRye85MgqZ7cQ5NoKadz2Q7"
  },
  "search_parameters": {
    "engine": "booking_autocomplete",
    "q": "Dubrovnik",
    "num": 5,
    "language": "en-us"
  },
  "suggestions": [
    {
      "position": 1,
      "dest_id": "-79996",
      "dest_type": "city",
      "title": "Dubrovnik",
      "label": "Dubrovnik, Dubrovnik-Neretva County, Croatia",
      "subtitle": "Dubrovnik-Neretva County, Croatia",
      "country_code": "hr",
      "city_id": "-79996",
      "properties_count": 4076,
      "timezone": "Europe/Belgrade",
      "iata": "DBV",
      "latitude": 42.6413078308105,
      "longitude": 18.1088962554932,
      "thumbnail": "https://cf.bstatic.com/xdata/images/city/square150/1011134.jpg?k=cfab388d63de1ad1767ccb24b064f04f208c296806596e23dc990275daf2302c&o="
    },
    "..."
  ]
}