Travelocity APItravelocity.com ↗
Search Travelocity destinations and hotel listings by region, dates, and guest count. Returns hotel names, nightly prices, and booking URLs via 2 endpoints.
What is the Travelocity API?
The Travelocity API provides 2 endpoints for finding travel destinations and hotel listings. Use search_destinations to resolve a city or neighborhood name into a region ID, then pass that ID to search_hotels to retrieve up to 50 hotels with nightly pricing, total price, and direct booking URLs for a specific date range.
curl -X GET 'https://api.parse.bot/scraper/0316dc93-15c7-4f82-8c42-ca3a15304628/search_destinations?query=New+York' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace travelocity-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.travelocity_api import Travelocity, DestinationType
travelocity = Travelocity()
# Search for destinations in New York
for dest in travelocity.destinations.search(query="New York"):
print(dest.name, dest.region_id, dest.type)
if dest.type == DestinationType.CITY:
# Search hotels in this city for upcoming dates
for hotel in dest.hotels.search(check_in="2026-08-01", check_out="2026-08-04", adults=2):
print(hotel.name, hotel.price, hotel.nightly_price)
break
Search for destinations by keyword to get region IDs (gaiaId) used for hotel searches. Returns matching cities, airports, neighborhoods, and metro areas. The region ID from results is required as input for search_hotels.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword for destination (e.g. 'New York', 'Las Vegas', 'Miami') |
{
"type": "object",
"fields": {
"destinations": "array of destination objects each containing name, regionId, type, and coordinates"
},
"sample": {
"data": {
"destinations": [
{
"name": "Miami, FL, United States of America (MIA-Miami Intl.)",
"type": "AIRPORT",
"regionId": "4278605",
"coordinates": {
"lat": "25.79509",
"long": "-80.27843"
}
},
{
"name": "Miami Beach, Florida, United States of America",
"type": "CITY",
"regionId": "8833",
"coordinates": {
"lat": "25.790653",
"long": "-80.130043"
}
}
]
},
"status": "success"
}
}About the Travelocity API
Destination Lookup
The search_destinations endpoint accepts a free-text query parameter — city names, airport names, neighborhoods, or metro areas — and returns an array of destination objects. Each object includes a human-readable name, a regionId (also called gaiaId), a type field indicating whether the match is a city, airport, neighborhood, or metro area, and geographic coordinates. The regionId value is required input for hotel searches, so this endpoint is the standard first step in any lookup flow.
Hotel Search
The search_hotels endpoint takes a region_id from the previous step alongside required check_in and check_out dates in YYYY-MM-DD format, and an optional adults count per room. Results are sorted by Travelocity's recommended order and capped at 50 listings per call. Each hotel object in the response includes a unique id, hotel name, total stay price, nightly_price, and a url pointing directly to the Travelocity listing. The total field at the top level indicates how many hotels were returned.
Coverage and Scope
Both endpoints reflect Travelocity's hotel inventory for English-language markets. The destination resolver handles common abbreviations and alternate spellings, returning multiple candidate matches when a query is ambiguous — for example, searching "Miami" may return both the city and the Miami International Airport region. Callers should inspect the type field to select the correct entry before passing region_id to search_hotels.
The Travelocity API is a managed, monitored endpoint for travelocity.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when travelocity.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official travelocity.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a hotel price comparison tool using
nightly_pricefields across multiple destination regions. - Populate a destination autocomplete widget using
name,type, andregionIdfromsearch_destinations. - Track hotel availability and pricing changes over time for a fixed region ID and date window.
- Filter hotel results by geographic area using coordinates returned from destination lookups.
- Generate city travel guides that list available hotels and their direct booking URLs.
- Aggregate Travelocity hotel pricing alongside other OTA sources for rate-parity monitoring.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Travelocity have an official developer API?+
What does `search_hotels` return and how are results ordered?+
id, name, total stay price, nightly_price, and a url to the Travelocity listing. Results are sorted by Travelocity's default recommended order. The top-level total field tells you how many hotels the response includes.Can the API return more than 50 hotels or support pagination?+
search_hotels endpoint returns up to 50 listings per call with no pagination parameter. If you need broader coverage across more results, you can fork this API on Parse and revise it to add pagination or offset support.Does the API return hotel reviews, star ratings, or amenities?+
search_hotels response covers id, name, price, nightly_price, and url. Review scores, star ratings, and amenity lists are not included in the current response shape. You can fork this API on Parse and revise it to add those fields.How do I handle an ambiguous destination query like 'Miami'?+
search_destinations endpoint may return multiple objects — for instance, both Miami the city and Miami International Airport. Each result includes a type field (city, airport, neighborhood, metro area) and coordinates. Inspect type to pick the correct match before passing its regionId to search_hotels.