Orbitz APIorbitz.com ↗
Search Orbitz hotels and destinations via API. Get location typeahead, hotel listings with pricing, and detailed property data including amenities and reviews.
What is the Orbitz API?
The Orbitz API covers 3 endpoints that let you search travel destinations, find hotels by region and date, and retrieve full property details. Starting with location_typeahead, you can resolve a city or airport name into a region ID, then pass that ID to search_hotels to get live pricing — including strike-out rates — for a given date range. A third endpoint, get_hotel_details, returns address, amenities, star rating, review scores, and up to 10 gallery images for any individual property.
curl -X GET 'https://api.parse.bot/scraper/f1e72489-f062-425f-b9f3-d38c97a881ed/location_typeahead?query=Paris' \ -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 orbitz-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.orbitz_hotel_search_api import Orbitz, Location, Hotel, HotelDetail
orbitz = Orbitz()
# Search for a destination
for location in orbitz.locations.search(query="New York"):
print(location.primaryText, location.type, location.regionId)
# Use the first location to search hotels (constructible by regionId)
nyc = orbitz.location(regionId="2621")
# Search hotels in that region
for hotel in nyc.hotels.search(check_in="2026-07-01", check_out="2026-07-04", adults=2):
print(hotel.name, hotel.neighborhood, hotel.price.total, hotel.price.amount)
# Get detailed info for the hotel
detail = hotel.details()
print(detail.star_rating, detail.review_score, detail.address.city)
for img in detail.images:
print(img.url, img.description)
Search for travel destinations by name. Returns up to 10 matching locations including cities, airports, neighborhoods, and points of interest with their region IDs, coordinates, and country information. Use the returned regionId to search for hotels via search_hotels.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search query for location (e.g., 'New York', 'Paris', 'London') |
{
"type": "object",
"fields": {
"locations": "array of location objects with regionId, primaryText, secondaryText, displayName, type, coordinates, and country"
},
"sample": {
"data": {
"locations": [
{
"type": "CITY",
"country": {
"name": "France",
"isoCode2": "FR"
},
"regionId": "2734",
"coordinates": {
"latitude": "48.853564",
"longitude": "2.348095"
},
"displayName": "Paris, France",
"primaryText": "Paris",
"secondaryText": "Paris, France"
}
]
},
"status": "success"
}
}About the Orbitz API
Location Search and Region Resolution
The location_typeahead endpoint accepts a plain-text query (e.g., "Paris" or "JFK") and returns up to 10 matching locations. Each result includes a regionId, primaryText, secondaryText, displayName, a type field distinguishing cities from airports or neighborhoods, WGS-84 coordinates, and country data. The regionId is the key input for hotel searches — you must resolve it here before querying availability.
Hotel Search and Pricing
The search_hotels endpoint takes a region_id, a check_in date, a check_out date (both in YYYY-MM-DD format; both must be future dates), and an optional adults count (1–8). It returns an array of hotel objects, each with an id, name, neighborhood, and pricing broken into total cost, per-night amount, a human-readable label, and a strikeOut field when a discounted rate is available. This lets you surface both current prices and comparison reference prices in the same response.
Property Detail
The get_hotel_details endpoint accepts a property_id from search_hotels results and returns a richer data set: address (with full_address, city, province, and country_code), coordinates, star_rating (1–5 or null), review_score (formatted as "9.2/10 Wonderful"), review_count, a tagline, a list of amenities strings, and an images array of up to 10 objects each containing a url and description.
Data Scope and Workflow
The three endpoints form a linear lookup chain: typeahead → hotel search → hotel detail. All date parameters must be future-dated; historical lookups are not supported. Pricing reflects totals for the full stay alongside nightly breakdowns, but real-time availability confirmation and booking are outside the scope of this API.
The Orbitz API is a managed, monitored endpoint for orbitz.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when orbitz.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 orbitz.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 comparison widget showing total stay cost and strike-out pricing for a searched city
- Populate a destination autocomplete field using regionId and displayName from location_typeahead
- Aggregate hotel star ratings and review scores across a region for travel research tools
- Display a hotel's amenity list and gallery images on a third-party itinerary planning app
- Monitor neighborhood-level hotel price changes for a specific region over time
- Enrich a travel CRM with hotel address, coordinates, and contact metadata from get_hotel_details
| 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 Orbitz offer an official developer API?+
What does search_hotels return beyond a hotel name and price?+
id (usable with get_hotel_details), name, neighborhood, and a price block containing the total stay cost, per-night amount, a display label, and a strikeOut value when a reference price differs from the current rate. It does not include amenities or images — those come from get_hotel_details.Does the API support multi-room or child-passenger searches?+
adults parameter (1–8) covering occupancy per room. Multi-room configurations and child passenger counts are not exposed. You can fork this API on Parse and revise it to add those parameters if the underlying data supports them.