Skyscanner Flights & Travel Search — Try the interactive demo
A guided live test. Prefer the raw endpoints? See the API reference & playground →
Enter an API key from your Dashboard to enable the examples below. Requests send it to this platform for authentication.
Log in / Sign up · Dashboard →
Please paste your API key first.
Endpoints
Your API key is attached automatically to each call.
/api/project/skyscanner/flights-search-flights Search One-Way or Round-Trip Flights
Details
Search a route using originSkyId/originEntityId and destinationSkyId/destinationEntityId pairs selected from airport autocomplete, plus a future departure date in YYYY-MM-DD format. Omit returnDate for a one-way search or supply a later return date for a round trip. Optional inputs control adults, childrens, infants, cabinClass, currency, market and countryCode. The observed one-way response contains sessionToken, status, total and itineraries. Each itinerary has id, price with amount/currency/formatted, legs, score, tags and bookingUrl; each leg includes origin, destination, departure, arrival, durationMinutes, stopCount and carriers with name/logoUrl. A London city search returned Heathrow-to-JFK options, so inspect the actual leg airports rather than assuming city identifiers select a single airport. RESULT_STATUS_INCOMPLETE can accompany usable itineraries: pass sessionToken as sessionId to the polling operation for further results. Prices and booking links are dated search observations, not ticket issuance or guaranteed current offers. The round-trip response has not been independently verified.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-search-airport Find Airports and Cities for Flight Search
Details
Autocomplete an airport or city name with required query and optional market/locale codes. The observed response is an object with places; suggestions include skyId, entityId, iataCode, name, cityName, countryName, placeType and coordinates.lat/lng. London returned a CITY suggestion with skyId LOND and entityId 27544008, plus AIRPORT suggestions such as London Heathrow with skyId LHR and entityId 95565050. Use the selected suggestion's paired identifiers in subsequent flight searches, and distinguish city-wide selections from individual airports. iataCode can be an empty string even for a valid airport. A deliberately nonexistent query returned HTTP 200 with places:[], so an empty list is a clean no-match result, not evidence of an outage. Suggestion order and count can change.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-search-incomplete Continue an Incomplete Flight Search
Details
Continue a previously started flight search by passing its returned sessionToken as the required sessionId query parameter. Keep currency and countryCode consistent with the original request. The tested initial flight search produced RESULT_STATUS_INCOMPLETE with usable itineraries and a nonempty token; this polling operation itself has not been independently verified, so no final-result schema, completion count or session lifetime is guaranteed. Inspect the actual response before merging additional results, deduplicate itineraries when their identifiers are available, and stop polling on explicit completion or an application-selected timeout. Session values are transient request context: obtain one from your own search, keep it private and never hard-code a captured value into public examples.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-get-flight-details Inspect a Selected Flight Itinerary
Details
Request the documented detail view for a selected itinerary using its itineraryId and the associated flight search's session token as sessionId. Use an itinerary returned by your own search and retain that search's currency and countryCode. This operation is intended to expose itinerary details and booking options; its response structure has not been independently verified, so do not assume baggage, fare rules, seller coverage or any named detail field will be present. Inspect returned content before presenting it, and handle unavailable or expired search context by starting a new search rather than constructing IDs. This is a read-only offer lookup, not a payment or ticketing endpoint.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-search-flights-multi-stops Search a Multi-City Flight Itinerary
Details
Submit a multi-city travel plan in the required legs query parameter as a serialized JSON array string. Each documented leg contains originSkyId, destinationSkyId and date in YYYY-MM-DD format; resolve places with airport autocomplete and order legs chronologically. This is a GET query input, not a JSON request body. Optional adults, cabinClass and currency apply to the search. Multi-city response fields have not been independently verified, so inspect the returned structure before assuming it matches the one-way search schema or exposes session polling. Compare usable offers cautiously: a combined price alone does not establish through-ticket protection, checked-baggage transfer or connection guarantees.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-get-price-calendar Compare Flight Quotes Across Departure Dates
Details
Compare quoted departure-date prices for originSkyId and destinationSkyId, starting at required fromDate; provide optional toDate to make the future YYYY-MM-DD range explicit. Optional currency, market and cabinClass describe the comparison context. The observed response contains currency and outboundDates entries with date, numeric price, group and hasQuote. A London–New York query returned every day of the requested eight-day range, with low/medium group labels. Coverage on other routes can vary: exclude absent or unquoted dates when ranking prices rather than treating them as zero. The observed payload did not contain directPrice or isDirect, so this calendar does not establish non-stop availability. Recheck a chosen date with a route-specific flight search before showing bookable itineraries.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-get-cheapest-oneway Explore Monthly One-Way Flight Prices
Details
Request the documented monthly one-way price comparison for originSkyId, destinationSkyId and month in YYYY-MM format, with optional currency and market. Resolve route identifiers before searching and choose a future travel month. The operation is intended to return the lowest quoted one-way prices by departure day, but its actual response fields and day coverage have not been independently verified. Inspect the returned structure before extracting dates or prices, treat missing quotes as unknown rather than zero, and verify selected days with the main flight search. A monthly quote is neither a historical fare archive nor a guarantee of the lowest price available from every seller.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-get-price-calendar-return Compare Departure and Return Date Combinations
Details
Request the documented round-trip price comparison using originSkyId, destinationSkyId and a future outbound fromDate in YYYY-MM-DD format. Optional returnFromDate supplies the start of the return-date comparison, while currency and market set the price context. The operation is intended to compare outbound/return date combinations; its actual grid structure, returned date span and quote completeness have not been independently verified. These inputs do not document arbitrary outbound or return end dates, so do not invent unsupported range controls. Inspect returned date pairs, reject return-before-departure combinations in your application, apply trip-length preferences locally and recheck the selected pair with round-trip flight search.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/flights-search-flight-everywhere Explore Flight Destinations from an Origin
Details
Explore the documented open-destination search with an originSkyId/originEntityId pair from airport autocomplete. Optional adults, cabinClass, currency and market describe the request. This operation does not expose destination or travel-date inputs, so use it for destination inspiration rather than claiming a quote for a specific departure day. Its response and price coverage have not been independently verified; inspect actual destination identifiers, location labels and any price context before filtering or ranking suggestions. Run a specific route-and-date flight search for a chosen destination. Discovery suggestions do not establish that every destination, non-stop route or globally cheapest fare is included.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/hotels-search-hotels Search Hotels by Destination and Stay Dates
Details
Search accommodation using entityId from hotel destination autocomplete and future checkIn/checkOut dates in YYYY-MM-DD format, with checkOut later than checkIn. Optional adults, rooms, currency and market define the stay context. The observed Paris response contains destinationName, total and hotels; each hotel includes hotelId, name, stars, numeric rating, reviewCount, price.amount/currency, images as URL strings, amenities, url, coordinates.lat/lng and distance as a descriptive neighborhood string. Do not treat rating as a nested score object, image strings as caption objects or distance as numeric meters. The returned list can be only a subset of total, and this operation exposes no pagination parameter. The search price's nightly-versus-total basis, taxes and room terms are not established by these fields alone; verify them before comparing final costs or directing users to a booking link.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/hotels-search-destination Resolve a Hotel Destination to Its Entity ID
Details
Autocomplete a hotel destination using required query and optional market/locale codes. The observed response contains places with entityId, name, type, hierarchy and coordinates.lat/lng. Paris returned the city in France with entityId 27539733, alongside airport, district and hotel suggestions, including a similarly named property in Las Vegas. Use hierarchy and type to select the intended geographic scope before passing entityId to hotel search. hierarchy is descriptive text separated by vertical bars, and type values can use different capitalization; preserve them rather than assuming an exhaustive normalized enum. This lookup returns destination suggestions, not available rooms or dated prices.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
/api/project/skyscanner/hotels-get-hotel-details Inspect Hotel Property Details for a Stay
Details
Request the documented property-detail operation using hotelId from a hotel-search result and required future checkIn/checkOut dates. Optional adults and currency preserve the intended stay context. This operation is intended to provide hotel content such as amenities, images and policies; its returned field names and coverage have not been independently verified. Render only content actually present, distinguish descriptive property information from date-dependent room availability, and do not infer refundability, occupancy rules or confirmed inventory from a description. Retrieve room-price information separately when needed; this lookup does not reserve accommodation.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/hotels-get-hotel-prices Look Up Room Prices for a Selected Hotel
Details
Request the documented room-price lookup using hotelId from hotel search, its destination entityId, and ordered future checkIn/checkOut dates. Optional adults and currency describe the requested party and price context. The operation is intended to expose available room types and prices; its actual offer schema, price basis, tax coverage and terms have not been independently verified. Check returned amounts and stay context before comparing room options, and do not assume every room or seller is included. Preserve original currency and any stated pricing terms rather than labeling an unqualified amount as a nightly or total charge. This read-only request does not hold inventory or create a booking.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/hotels-get-hotel-reviews Retrieve Guest Reviews for a Hotel
Details
Request the documented guest-review lookup with required hotelId and optional numeric page/limit query parameters. Use a property ID selected from hotel search. Review fields, pagination indexing, accepted limits and total coverage have not been independently verified, so do not assume a particular page origin, maximum page size or exhaustive review export. Inspect returned review records and any paging information before requesting another page. Keep reviews associated with the selected property, distinguish fetched review samples from the hotel's complete guest-feedback population, and only analyze review text when it is actually returned.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
/api/project/skyscanner/hotels-get-similar-hotels Explore Alternatives to a Selected Hotel
Details
Request the documented similar-property suggestions for hotelId and future checkIn/checkOut dates, with optional adults and currency. Start with a real hotel-search result and keep the intended stay context. The operation is intended to suggest similar hotels in the same area or category; its actual response fields, similarity criteria and ranking have not been independently verified. Compare only returned attributes, validate candidate property identifiers before follow-up requests, and check each alternative's stay-date pricing separately. A suggestion does not establish equivalent amenities, lower cost, available rooms or a measured distance from the original property.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/hotels-get-nearby-map Look Up Destination Hotels for Geographic Comparison
Details
Request the documented destination hotel lookup intended for geographic display using entityId and ordered future checkIn/checkOut dates. Optional adults and currency supply stay context. Despite its name, this operation accepts no arbitrary latitude, longitude, radius or bounding-box parameter. Hotel search was observed to expose coordinates.lat/lng, but this separate operation's response fields and coverage have not been independently verified; confirm coordinate availability in its actual payload before using it. Calculate landmark or transit proximity in your own application when needed, and never interpret descriptive neighborhood distance strings as numeric meters. Returned candidates are not guaranteed to represent all nearby inventory.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/skyscanner/cars-search-location Find Car-Hire Pickup and Drop-Off Locations
Details
Autocomplete a rental pickup/drop-off place by required query, with optional market and locale. The observed Heathrow response contains locations with locationId, name, type, coordinates.lat/lng, countryName and iataCode. London Heathrow (LHR) returned locationId 95565050 and type Airport; another suggestion was Heathrow Terminal 5 station with type TrainStation and a blank iataCode. Distinguish airport and station results before saving a choice, and use the car-location result's own identifier in any compatible downstream integration. This operation resolves locations only: it does not return rental vehicles, availability, supplier offers, prices or reservations.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query |
/api/project/skyscanner/config-get-locale Look Up Supported Markets, Languages and Currencies
Details
Request the documented supported-code configuration without query parameters. The documented response groups markets, currencies and locales, intended to supply codes for the corresponding flight, hotel and location inputs; actual entries and accepted combinations have not been independently verified. Read the returned configuration before populating selectors or validating saved travel profiles, and do not infer that every currency, language or market can be combined arbitrarily. Market is a search context, locale controls language/region formatting where supported, and currency is the quote denomination; this lookup does not itself return flight or hotel prices.
/api/project/skyscanner/config-get-exchange-rates Retrieve Dated Currency Exchange Rates
Details
Request exchange rates with optional baseCurrency, defaulting to USD. The observed USD response contains base, date and rates as a currency-code-to-numeric-rate object, including EUR, GBP, JPY, CAD and other major currencies. The returned date was the previous day relative to the test, so display it rather than implying an instantaneous exchange rate. Keep original flight or hotel amounts and currencies when deriving application-side converted estimates, and ensure their source currency matches the conversion basis. Rates are comparison data, not bank settlement rates or guaranteed booking checkout conversions. Only the USD base was independently tested; validate returned base and rate availability for other requested currencies.
| Parameter | In | Value |
|---|---|---|
| query |