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
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/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'
Query Result
Use Cases
- Build a route-and-date comparison form showing carrier names, actual airports, flight times, durations and stop counts from returned legs.
- Record timestamped itinerary prices for an application-managed route watchlist; implement price history and alert delivery in your own service.
- Recheck a departure day chosen from a fare calendar and replace indicative date quotes with the itineraries actually returned for that date.
- Prepare a flight shortlist with price currency and booking links while visibly marking incomplete search results as partial rather than final.
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.