Hotel price and availability monitoring
Use Expedia endpoints to turn hotel price and availability monitoring into repeatable API requests with documented inputs and JSON responses.
Turn Expedia's Stays, Flights, and Things To Do results into structured JSON — destination search, hotel listings with pricing and reviews, flight offers, and activity search, sourced from the same API the official mobile app uses. Credential-free.
Extract Expedia hotel search, hotel detail and reviews, flight search, and Things To Do activity search as structured JSON.
Endpoint families
4
Documented params
14
Examples
7
Live catalog snapshot
Active endpoints
7
Methods
POST
Required params
14
Schema refs
7
{
"platform": "Expedia",
"endpoint": "expedia-properties-search",
"method": "POST",
"path": "/expedia/properties/search",
"auth": "apiKey"
}Use cases
Extract Expedia hotel search, hotel detail and reviews, flight search, and Things To Do activity search as structured JSON.
Use Expedia endpoints to turn hotel price and availability monitoring into repeatable API requests with documented inputs and JSON responses.
Use Expedia endpoints to turn flight fare research into repeatable API requests with documented inputs and JSON responses.
Use Expedia endpoints to turn travel activity discovery into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Expedia endpoint catalog — 7 endpoints, 14 documented request parameters, and 7 published response schemas — the same catalog Docs and Playground run against.
7 documented Expedia endpoints, grouped into 4 request families — Properties, Activities and Flights, plus 1 more.
14 request parameters are documented across those Expedia endpoints, 14 of them required — the full input contract is public before you write any integration code.
7 of the 7 Expedia endpoints ship a recorded example response, and 7 carry a documented response schema — you can code against the real JSON before the first request.
Expedia endpoints document their error responses (400, 404, 429, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
7 hosted MCP tools back the Expedia endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
/expedia/properties/search
/expedia/activities/search
/expedia/flights/search
/expedia/locations/search
Endpoint catalog
/expedia/locations/searchReturns Expedia destination and property suggestions for a free-text `term` (required, 100 characters or fewer), with optional `currency` and `locale`. Each item has its type, geo type, primary and secondary text, full location name, coordinates, and `region_id`, `property_id` or `airport_code` where they exist.
Response notes
Each `data.items[]` entry's `region_id` (when present) can be passed as the `destination` context to `expedia-properties-search`/`expedia-properties-filters`/`expedia-activities-search`, which resolve free-text destinations through this same typeahead internally.
MCP tool expedia_locations_search
/expedia/properties/searchReturns Expedia Stays (hotel) search results for a free-text destination and date range. Promotional banners and sponsored ad slots are dropped, so every returned property has an id and name.
Response notes
`data.region_id` identifies the resolved destination and can be reused directly by `expedia-properties-filters`. Each `data.properties[]` entry's `id` is the property id for `expedia-properties-detail`/`expedia-properties-reviews`. Every returned property has a non-empty `id` and `name`: promotional banners and sponsored ad slots that Expedia mixes into its result list are dropped. They come on top of the requested `page_size`, so a full page still holds `page_size` properties. Price fields are kept as upstream-formatted display strings (e.g. `"$72 total"`) rather than parsed into a currency amount, since the upstream schema only exposes display-formatted price text on the search-results card.
MCP tool expedia_properties_search
/expedia/properties/filtersReturns the sort and filter facets (amenities, star rating, neighborhood, nightly price range, sort options) available for a Stays search.
Response notes
Each `data.sections[].fields[]` entry's `type` is one of: `multi_select`, `single_select`, `dropdown`, `range`. For the selection types, `options[]` lists the selectable values; for `range`, `range_min`/`range_max` bound the field instead. Each option's `filter_id` (e.g. `amenities`, `star_rating`, `regionId`) and `value` are the upstream selection keys these facets represent -- exposed for reference; `expedia-properties-search` does not yet accept a filter-selection input.
MCP tool expedia_properties_filters
/expedia/properties/detailReturns a summary for one Expedia hotel by `property_id`, for the stay given by `check_in` and `check_out` (`YYYY-MM-DD`), all required in the JSON body. Optional `adults` (1-9, default 2), `currency` and `locale`. The response has the name, star rating, address, city, province, country code, coordinates, top amenities and VIP message.
MCP tool expedia_properties_detail
/expedia/properties/reviewsReturns the overall rating and a short set of guest reviews, typically around six, for one Expedia hotel. `property_id`, `check_in` and `check_out` (`YYYY-MM-DD`) are required in the JSON body; `adults` (1-9, default 2), `currency` and `locale` are optional. Each review has the reviewer name, date, rating label, message and verified flag. It is not the full review archive.
MCP tool expedia_properties_reviews
/expedia/flights/searchSearches Expedia flights between two IATA airport codes, `origin` and `destination`, on `departure_date` (`YYYY-MM-DD`). `return_date` is required for the default `round_trip`; `one_way` is the alternative `trip_type`. Optional `adults` (1-9, default 1), `cabin_class` (default `COACH`), `currency` and `locale`. Returns departing-leg offers only, with airline, times, duration, stops, route and price.
Response notes
`data.offers[]` lists the *departing*-leg offers only, matching the app's own multi-step round-trip selection flow -- return-leg selection is not implemented.
MCP tool expedia_flights_search
/expedia/activities/searchSearches Expedia things to do (activities and tours) for a free-text `destination` between `start_date` and `end_date` (`YYYY-MM-DD`), all required in the JSON body. Optional `page`, `page_size` (1-50, default 20), `currency` (default `USD`) and `locale` (default `en_US`). Each activity has its id, name, duration, price, review score and label, review count, free-cancellation flag and thumbnail.
MCP tool expedia_activities_search
Related APIs
Travel & Hospitality
Build travel and lodging research workflows from structured Airbnb stay, room, availability, and review data.
Travel & Hospitality
Research hotels, restaurants, attractions, and destination pages from TripAdvisor with normalized listing and review endpoints.
Travel & Hospitality
Turn Booking.com's hotel, flight, and attractions surfaces into structured JSON — search results, hotel detail with rooms and photos, guest reviews, flight offers, and things-to-do listings, replayed directly against Booking.com's own persisted-query GraphQL and REST endpoints. Credential-free.
Company coverage
Expedia Group, Inc. · EXPE
Expedia is operated by Expedia Group, Inc. (EXPE). Crawlora's SEC endpoints take the same company's CIK, so filings, financials, insider transactions and 13F holdings come from the same API key as the Expedia endpoints above.
Other Expedia Group, Inc. platforms in the catalog
How to scrape Expedia
Crawlora's Expedia endpoints cover Stays, Flights, and Things To Do. Unlike most endpoint families, every Expedia call is a POST with a JSON body, such as {"destination": "Miami", "check_in": …, "adults": 2}. Responses mirror what Expedia's app shows a shopper: prices as display strings like $351 total or $120 nightly, strikeout prices, sale badges, and review labels.
POST /expedia/properties/search with destination, check_in, check_out, adults, and rooms. It returns region_id, a results_label (300+ properties for Miami Beach), and a page of property cards. Expedia mixes promo banners and sponsored slots into its result list (4 extra entries in one Miami search). The API drops them, so every card has an id and name and a full page still holds page_size cards (20 by default). Cards carry review_score, price, strikeout_price, nightly_price, and badges such as Sale $285 off.
/expedia/properties/filters returns the search-page facets for a destination: star rating (1 to 5 stars), guest rating (Good 7+, Very good 8+, and so on), and six sort options, each with its filter_id and value. The search endpoint does not accept filter selections yet, so treat the facets as reference data.
/expedia/properties/detail returns star_rating (half stars occur, for example 3.5), address, coordinates, and an amenities list such as Pool, Breakfast included, and Free WiFi. /expedia/properties/reviews returns overall_rating as text (8.4/10) plus reviews with a rating label and a verified flag.
/expedia/flights/search returns departing-leg offers only (the return leg is chosen in a second step on Expedia). Each offer carries airline, route, stops, a duration summary such as 2h 59m • Nonstop, and a per-traveler round-trip price. /expedia/activities/search returns activities with duration, review score and label, price, and a free_cancellation flag.
FAQ
Expedia's search cards only expose display-formatted prices, such as $351 total, $120 nightly, or $636 as a strikeout, so the API keeps them verbatim. Parse the number yourself if you need arithmetic.
No. Expedia's own result list mixes promo banners and sponsored ad slots in with real hotels. The API drops them, so every returned property has an id and a name, and a full page still holds page_size properties.
No. /expedia/flights/search returns departing-leg offers only, which matches Expedia's own multi-step round-trip flow. Each offer's price is the round-trip price per traveler.
Not a self-serve one. Expedia Group's Rapid API requires becoming an approved Expedia partner before you can even request an API key, and that key stays restricted to a development mode until your integration passes a site review — there's no instant, unaffiliated developer signup. Crawlora's Expedia endpoints return hotel, flight, and activity search and detail data as structured JSON with a single API key, no partner approval or site review required.