Skyscanner Flight Scraper — Price Calendar, Fares & Itineraries
Pricing
from $0.003 / calendar day
Skyscanner Flight Scraper — Price Calendar, Fares & Itineraries
No-login Skyscanner scraper: cheapest-by-date price calendar, cheapest fares by date, and airport/city search. Plus full live itineraries (times, segments, layovers, both round-trip legs, baggage, multi-source prices, booking links) from Google Flights + Kiwi.com. No API key.
Pricing
from $0.003 / calendar day
Rating
0.0
(0)
Developer
Yuliia Kulakova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

No-login flight scraper. Its core is Skyscanner's signature cheapest-by-date price calendar — one record per day across up to 12 months with the cheapest direct and indirect price, carrier and operating airport — plus cheapest fares by date and airport/city search. On top of that it returns full live itineraries (exact times, per-segment flight numbers, layovers, both round-trip legs, baggage, multi-source prices and booking links) sourced from Google Flights, with Kiwi.com as a second price source. No login, no API key.
Modes (combinable — set mode)
| Mode | What it returns |
|---|---|
calendar (cheapest-by-date) — default | The whole price calendar: one record per day across up to 12 months (monthsAhead). Cheapest direct & indirect price per day, cheapest carrier, operating airport, direct-available flag, relative price tier, deep link. |
| search | The cheapest fare for a route on a specific date (one-way) or depart+return pair (round-trip). One record per date with the cheapest direct and indirect fare — price, airline, operating airport, agent, deep link. Supports a date range (departDate…departDateEnd). |
places (autosuggest) | Resolve an airport/city query or IATA code to place entities: PlaceId, IATA, city, region, country, GeoId, latitude/longitude. |
itineraries (itinerary, flights, live) | The full live flight list (sourced from Google Flights, cross-priced with Kiwi.com): per itinerary — departureTime/arrivalTime (local ISO), durationMinutes, stopCount, legs[] (flightNumber, airline, aircraft, per-leg times), layovers[], price+currency, baggage (when matched via Kiwi), tags (cheapest/fastest/best), score, carbon, a multi-source priceSources[] table with bestPrice/cheapestSource/sourcesFound. Supports one-way, round-trip (both legs when available) and multi-city. |
Quick start
Cheapest-by-date calendar (default):
{ "mode": ["calendar"], "origin": "JFK", "destination": "LAX", "monthsAhead": 6 }
Cheapest fare(s) by date:
{ "mode": ["search"], "origin": "JFK", "destination": "LAX", "departDate": "2026-10-15", "departDateEnd": "2026-10-20" }
Full itineraries (one-way; add "returnDate" for round-trip):
{ "mode": ["itineraries"], "origin": "JFK", "destination": "LAX", "departDate": "2026-10-15", "adults": 1 }
Multi-city itineraries: pass multiCityLegs ([{origin,destination,date}, …]). Places:
{ "mode": ["places"], "placeQueries": ["Heathrow", "Tokyo"] }.
Dates are auto-corrected: a past or empty
departDateis shifted forward automatically, so scheduled runs never query a stale date.
Example — calendar day (real, trimmed — JFK→LAX)
{"recordType": "calendarDay", "tripType": "one-way", "origin": "JFK", "destination": "LAX","departDate": "2026-10-03", "price": 229, "priceType": "direct", "priceTier": "low","isDirect": true, "cheapestCarrierName": "JetBlue","direct": { "available": true, "price": 229, "carrierName": "JetBlue", "operatingOrigin": "JFK", "stops": 0 },"indirect": { "available": true, "price": 285, "carrierName": "Alaska Airlines", "operatingOrigin": "JFK", "minStops": 1 },"deepLink": "https://www.skyscanner.net/transport/flights/jfk/lax/261003/"}
operatingOrigin/operatingDestination are disclosed because Skyscanner's month grid can aggregate a whole
city (a JFK request may surface an EWR/LGA quote); requestedOriginMatch/requestedDestinationMatch
flag mismatches, and strictAirport: true drops non-matching airports. indirect.minStops is a floor (1) —
an indirect fare can involve more than one stop.
Example — itinerary (real, trimmed — JFK→LAX one-way)
{"recordType": "itinerary", "source": "google_flights", "tripType": "one-way","origin": "JFK", "destination": "LAX", "price": 219, "currency": "USD","departureTime": "2026-10-15T15:43:00", "arrivalTime": "2026-10-15T18:53:00","durationMinutes": 370, "stopCount": 0, "isDirect": true,"legs": [ { "flightNumber": "B61523", "airlineCode": "B6", "airlineName": "JetBlue","aircraft": "Airbus A320", "from": "JFK", "to": "LAX","departureTime": "2026-10-15T15:43:00", "arrivalTime": "2026-10-15T18:53:00", "durationMinutes": 370 } ],"tags": ["best"], "score": 96,"baggage": { "carryOn": 1, "checked": 0, "personal": 1 },"priceSources": [ { "source": "google_flights", "price": 219, "currency": "USD" },{ "source": "kiwi", "price": 230, "currency": "USD" } ],"bestPrice": 219, "cheapestSource": "google_flights", "sourcesFound": 2,"bookingLink": "https://www.google.com/travel/flights/search?tfs=..."}
departureTime/arrivalTimeare airport-local wall-clock (YYYY-MM-DDTHH:MM:00), each leg with its own times.- Round-trip returns both legs (
outbound+return+round-trip total) for the toproundTripReturnDetailoutbound options;hasReturnDetailflags whether return-leg segments were resolved (setroundTripReturnDetail: 0for the fast, outbound-only mode). - Multi-city returns full itineraries for every leg, grouped by
multiCityId; each leg is priced one-way (the true combined multi-city fare may differ). - Multi-source & baggage — with
compareSources: true(default) each itinerary is matched to Kiwi.com by flight-number sequence, adding a KiwipriceSources[]row and thebaggageallowance. Itineraries with no Kiwi match keepsourcesFound: 1andbaggage: null(honest, not faked); city-name (non-IATA) routes skip the Kiwi step.
Pricing
Pay-per-event — billed only for records actually delivered:
| Event | Price |
|---|---|
| Run start | $0.01 |
| Calendar day / fare | $0.003 |
| Itinerary | $0.005 |
| Place | $0.001 |
Example: a 2-month cheapest-by-date calendar (~61 days) ≈ $0.19. Set a Maximum cost per run in the run options to cap spend.
Proxy
A proxy is required and the recommended default is preselected for each mode (country auto-pinned to
market); a cheaper override is available. An Apify account with a paid proxy plan is needed.
Scope & honest notes
- Full itineraries are sourced from Google Flights (no key) and cross-priced against a second source,
Kiwi.com — Skyscanner's own live itinerary search isn't reachable for no-login callers, so, like the
leading flight-data actors, this actor aggregates alternative sources for the itinerary list. Every itinerary
record discloses its
source. - The calendar / search / places modes are Skyscanner-native (cheapest-by-date, cheapest fares, place entities) — the differentiator over a plain itinerary scraper.
baggageis filled only when an itinerary matches a Kiwi fare (roughly half of itineraries on IATA routes); otherwise it isnull. Calendar/search fares are day-granular cheapest quotes, not per-minute itineraries.
Legal
Scrapes only public, non-authenticated endpoints. No login, no personal data. You are responsible for complying with the source sites' Terms of Service and applicable law. For lawful fare-tracking, route discovery, price-alert and travel-content use.