canonical: https://jentic.com/apis/amadeus.com/amadeus-hotel-name-autocomplete

# Amadeus Hotel Name Autocomplete

The Amadeus Hotel Name Autocomplete API returns matching hotels and destinations from a partial keyword, helping booking interfaces and travel agents surface suggestions as a user types. It searches hotel names, chains, cities, and airports across the Amadeus reference data set and returns the IATA code, geographic coordinates, and hotel identifiers needed to feed downstream search calls. The single endpoint is built for low-latency typeahead use, with configurable result counts and category filters for hotels, locations, or both.

## For AI agents

Resolve partial hotel or destination keywords into structured Amadeus location records, including hotel IDs and city codes that can be passed to Hotel Search or Hotel Booking calls.

## Scope

Does not return live availability, prices, or bookings - use for hotel and destination keyword resolution only.

## Capabilities

- Resolve a partial hotel name into matching Amadeus hotel records with hotelIds for downstream pricing calls
- Surface city and airport matches alongside hotels so a single search box covers destinations and properties
- Filter autocomplete results by sub-type (HOTEL_LEISURE, HOTEL_GDS, etc.) to scope suggestions to a specific inventory
- Return IATA city codes and geocoordinates to seed a hotel-offers query in test.api.amadeus.com/v1
- Power typeahead UX in booking flows where the user has not yet committed to a city or chain

## Use cases

### Booking-flow typeahead suggestions

Power the search bar of a hotel booking site with live suggestions as the traveller types. The API returns matching hotels and destinations in milliseconds, including the hotelId and IATA city code needed to populate the next step of the funnel. Implementation is a single GET call against /reference-data/locations/hotel and slots into any debounced input handler.

Example prompt: Call GET /reference-data/locations/hotel with keyword=PARI and subType=HOTEL_LEISURE, then return the top 5 hotelIds and city codes.

### Hotel ID resolution before pricing

Translate a free-text hotel reference (a name in a CRM record, a row in a spreadsheet) into the structured Amadeus hotelId required by Hotel Search and Hotel Booking. The autocomplete endpoint accepts the keyword and returns canonical identifiers, eliminating the need to maintain a local hotel-name-to-id map. Useful for migrations, bulk re-pricing, and reconciling third-party data with Amadeus inventory.

Example prompt: Given the string 'Hilton London Paddington', call the autocomplete endpoint and return the hotelId from the first HOTEL_GDS-subtype result.

### Multi-entity destination search

Build a unified destination search where a single query returns cities, airports, and hotels in one ranked list. The API supports a subType parameter that allows HOTEL_LEISURE, HOTEL_GDS, and location entities to be requested together so the UI does not need separate calls for each entity type. Results include category and geocode so the front-end can render appropriate icons and zoom states.

Example prompt: Search for keyword='new' and return a deduplicated list of matching cities, airports, and hotels with their type labels.

### AI agent travel concierge

An AI agent helping a user plan a trip uses the autocomplete endpoint to disambiguate hotel and city references in natural-language input. When the user says 'find me a Marriott in Berlin', the agent calls Jentic to discover the Hotel Name Autocomplete operation, resolves 'Marriott' and 'Berlin' to structured ids, then chains into Hotel Search for live availability. Total integration via Jentic is under an hour.

Example prompt: Use Jentic to search 'autocomplete a hotel name', load the Hotel Name Autocomplete schema, and execute it with keyword='marriott' subType='HOTEL_LEISURE'.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /reference-data/locations/hotel | Return hotels and destinations matching a keyword |

## Key resources

- **Locations - Hotel** — Single GET endpoint that returns hotel and destination matches for a keyword, with type and geocode metadata.

## Why Jentic

- **Setup:** Wiring Hotel Name Autocomplete by hand means running the Amadeus Self-Service OAuth 2.0 client_credentials exchange, refreshing the bearer token before it expires, choosing the test or production host, and mapping keyword and subType query parameters for low-latency typeahead. Through Jentic you install once, import Hotel Name Autocomplete from the API Directory, store the client_id and client_secret once, and your agent calls it.
- **Permission scoping:** The keyword and subType filters travel as query parameters on the GET to /reference-data/locations/hotel, not in the URL path, so scoping is by operation rather than by a specific keyword. Limit the agent to the operations it needs, such as resolving a hotel keyword, and it stays a read-only reference-data caller with no path to search, pricing, or booking operations.
- **Credential handling:** Your Amadeus client_id and client_secret are stored once, encrypted, by your own Jentic One instance, which runs the client_credentials exchange and injects a fresh bearer token at execution time. The secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'autocomplete a hotel name', and Jentic returns the /reference-data/locations/hotel operation with its keyword, subType, and countryCode parameters so the agent calls it without browsing the reference docs.

## Related APIs

- **Amadeus Hotel Search** — Use Hotel Search after autocomplete to retrieve live offers and pricing for the selected hotelId.
- **Amadeus Hotel Ratings** — Pair autocomplete with Hotel Ratings to enrich suggestions with traveller sentiment scores.
- **Amadeus Hotel Booking** — Hotel Booking is the downstream call that turns a chosen hotel offer into a confirmed reservation.

## FAQ

### What authentication does the Hotel Name Autocomplete API use?

The API uses OAuth 2.0 client credentials. You exchange your Amadeus API key and secret for a bearer access token via the Amadeus authorization endpoint, then send it as the Authorization header on each call. Through Jentic, your Amadeus credentials stay in your Jentic One instance and the agent only ever sees a scoped token, so the raw client secret never enters the agent's context.

### Can I look up a hotel by partial name with this API?

Yes. The single endpoint GET /reference-data/locations/hotel accepts a keyword parameter as short as a few characters and returns matching hotels, hotel chains, and destinations. Use the subType query parameter (HOTEL_LEISURE, HOTEL_GDS) to scope results to specific inventories.

### What are the rate limits for the Hotel Name Autocomplete API?

Amadeus enforces per-second and per-month transaction limits that depend on whether you are calling the test or production environment. Test base URL is test.api.amadeus.com/v1 with low-volume quotas suitable for development. Confirm your production tier in your Amadeus for Developers self-service workspace before launching.

### How do I autocomplete a hotel name through Jentic?

Run pip install jentic, then search 'autocomplete a hotel name' through the Jentic SDK to discover this operation. Load its schema, then execute with keyword and subType parameters. Jentic returns the parsed hotelIds ready to chain into Hotel Search or Hotel Booking calls. Get started with Jentic One, the self-hosted execution layer.

### Is the Hotel Name Autocomplete API free?

Amadeus offers a free self-service tier on test.api.amadeus.com that is suitable for prototyping. Production usage requires upgrading to a paid plan in the Amadeus for Developers portal; pricing depends on call volume and contract.

### What data does each autocomplete result return?

Each result contains the matched name, the entity type (hotel or location), an IATA city code, geographic coordinates, and the Amadeus hotelId where applicable. This is enough information to populate a UI suggestion list and to seed the next call in a booking flow without further lookups.

### Can I limit what my agent is allowed to do with the Hotel Name Autocomplete API?

Yes. Because Jentic One is self-hosted, you decide which operations and credentials your agent may use, and your own rules stay in your instance. This API exposes a single read-only GET on /reference-data/locations/hotel, so granting only that operation keeps the agent a reference-data caller that resolves hotel keywords and returns hotelIds and city codes. It has no path to Amadeus search, pricing, or booking operations, and the keyword and subType filters it passes are query parameters rather than separate permissions.
