Search One-Way or Round-Trip Flights

View all Skyscanner Flights & Travel Search endpoints →

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.

API Features

Paired route identifiers Supply the skyId and entityId belonging to the same selected place at each end of the route; do not substitute an IATA code for an entity ID.
Leg-level flight comparison Compare actual departure and arrival airports, times, durationMinutes, stopCount and returned carrier names for each itinerary.
Structured itinerary prices Read numeric price.amount and price.currency separately from price.formatted, preserving the query's traveler and cabin context.
Partial first-result status The tested search returned priced itineraries alongside RESULT_STATUS_INCOMPLETE and a sessionToken; the initial total must not be treated as a final count.
Search-to-booking redirects Returned bookingUrl values support outbound comparison links; opening an offer elsewhere is distinct from creating a reservation through this API.

Live API Demo

GET /api/project/skyscanner/flights-search-flights

API Response (JSON)

{}
curl -X GET 'https://api.opendata-api.com/api/project/skyscanner/flights-search-flights?key=<API_KEY>&originSkyId=<originSkyId>&originEntityId=<originEntityId>&destinationSkyId=<destinationSkyId>&destinationEntityId=<destinationEntityId>&date=<date>&adults=1&cabinClass=economy'
📢
Need Help?
If you encounter API issues or need other API requirements, please contact us.
Contact Us

Use Cases

Frequently asked questions

How do I search Skyscanner flights with Python?

Resolve both places with airport autocomplete, then pass each selected skyId/entityId pair, a future date and your authorized platform API key through requests params. Check HTTP status and the gateway code/message/data before reading itineraries. If status is RESULT_STATUS_INCOMPLETE, use the returned sessionToken for a deliberate continuation request.

How do one-way and round-trip searches differ, and can this endpoint issue tickets?

Omit returnDate for one-way travel; add a returnDate later than date for a round trip. Only the one-way response was independently tested, so inspect round-trip fields before parsing them. The endpoint returns search observations and any bookingUrl values, not payments, tickets or guaranteed bookable prices.

Related operations

Guides

View Subscription Plans →