✈️ Skyscanner Flight Scraper API avatar

✈️ Skyscanner Flight Scraper API

Pricing

from $3.99 / 1,000 results

Go to Apify Store
✈️ Skyscanner Flight Scraper API

✈️ Skyscanner Flight Scraper API

✈️ Skyscanner Flight Scraper API pulls ✨ multi-source cheap flight deals fast. Get fares, routes & availability via API for travel apps, aggregators & booking optimization. 🚀 Smart, scalable data.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapio

Scrapio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

✈️ Skyscanner Flight Scraper API — Compare Cheap Flights from 7 Sources in One Call

Find the cheapest flights for any route and date by querying seven independent flight databases in a single run and merging them into one deduplicated, price-compared feed. Pulls Google Flights, Kiwi.com, a cached price database, Ryanair, EasyJet, Wizz Air and Norwegian — no airline OAuth, no GDS contract, no browser rendering. Pure HTTP, exportable as JSON / CSV / Excel / XML.

Built for travel aggregators, fare-alert products, OTA startups, corporate-travel teams and data analysts who need accurate multi-source flight price comparison at scale.


🌟 Why Choose Us?

🧮 7 sources, 1 callGoogle Flights + Kiwi + cached fares + 4 low-cost carriers, merged & deduplicated.
💰 True cheapest pricebestPrice + cheapestSource + per-source price breakdown for every flight.
🔗 Bulk inputPaste many flight URLs or route tokens, or use the simple single-route form.
🛡️ Smart proxy ladderStarts direct (no proxy), auto-escalates to datacenter, then sticky residential only if blocked.
Fast & cheapPure HTTP — no Playwright/Chromium. A typical search finishes in seconds.
💾 Live resultsEvery flight is saved as soon as a route finishes — a crash never loses data.

✨ Key Features

  • ✈️ One-way and round-trip search.
  • 💺 Cabin class filter: Economy / Premium Economy / Business / First.
  • 💱 Any ISO currency (USD, EUR, MXN, GBP, BRL, JPY…) and point-of-sale market.
  • 🧩 Segment-level detail, layovers, baggage policy, self-transfer & travel-hack flags.
  • ⭐ Auto-flagged cheapest and fastest options (highlights).
  • 🔗 Direct booking links (Google Flights, Kiwi, Aviasales).

📥 Input

FieldTypeDescription
startUrlsarrayBulk flight-search URLs (Google Flights, Kiwi.com, Skyscanner, Aviasales) or route tokens like LAX-JFK-2026-08-15 (add a second date for round trips).
originstringOrigin IATA code (e.g. LAX). Used when no URLs are given.
destinationstringDestination IATA code (e.g. JFK).
departDatestringDeparture date YYYY-MM-DD.
returnDatestringOptional return date for round trips.
adultsintegerPassengers, 1–9.
cabinClassstringECONOMY / PREMIUM_ECONOMY / BUSINESS / FIRST.
currencystringISO currency code.
marketstringPoint-of-sale market (e.g. US).
localestringLanguage/locale (e.g. en-US).
maxFlightsintegerMax merged results per route (1–200).
proxyConfigurationobjectApify proxy settings (datacenter/residential rungs).

Example input

{
"startUrls": [
{ "url": "LAX-JFK-2026-08-15" },
{ "url": "https://www.kiwi.com/en/search/results/lhr/cdg/2026-09-01/no-return" }
],
"origin": "LAX",
"destination": "JFK",
"departDate": "2026-08-15",
"adults": 1,
"cabinClass": "ECONOMY",
"currency": "USD",
"maxFlights": 50,
"proxyConfiguration": { "useApifyProxy": true }
}

📤 Output

Each dataset item is one merged flight. Example:

{
"prices": { "google": 277, "cached": 136 },
"bestPrice": 136,
"cheapestSource": "cached",
"sourcesFound": ["cached", "google"],
"currency": "USD",
"airline": "American",
"departTime": "6:05 AM",
"arriveTime": "2:41 PM",
"duration": "5h 36m",
"durationMinutes": 336,
"stops": 0,
"from": { "airport": "LAX" },
"to": { "airport": "JFK" },
"cabinClasses": ["ECONOMY"],
"segments": [ { "from": "LAX", "to": "JFK", "departure": "6:05 AM", "durationMinutes": 336 } ],
"layovers": [],
"baggage": null,
"highlights": { "isBest": true, "isFastest": true, "isCheapest": true },
"links": {
"googleFlights": "https://www.google.com/travel/flights?q=...",
"book": "https://search.aviasales.com/LAX0815JFK1?marker=719034"
},
"origin": "LAX",
"destination": "JFK",
"departDate": "2026-08-15",
"returnDate": null,
"scrapedAt": "2026-06-14T10:04:58Z"
}

The Output tab shows four ready-made table views: ✈️ Flight Deals, 🧩 Segments/Layovers/Baggage, 💰 Price Breakdown by Source, and 🔗 Booking Links.


🚀 How to Use (Apify Console)

  1. Log in at https://console.apify.comActors.
  2. Open Skyscanner Flight Scraper API.
  3. Enter a route (or paste bulk URLs) and pick currency / cabin / passengers.
  4. Click Start and watch the live log fill in per source.
  5. Open the Output tab when the run completes and export to JSON / CSV / Excel.

🤖 Use via API

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"origin":"LAX","destination":"JFK","departDate":"2026-08-15","currency":"USD","maxFlights":50}'

🛡️ Proxy Strategy

The actor sends the first request directly (no proxy). If a source rejects or blocks the request it escalates to a datacenter proxy, and if that is still blocked it switches to a residential proxy (retrying up to 3×) and sticks with residential for the rest of the run. All proxy switches are logged.


💳 Pricing

This actor uses the pay-per-event model. The primary event is flight-result — you are billed per merged flight record saved to the dataset. Searches that find nothing cost nothing beyond the standard run start.


❓ FAQ

Why do Ryanair / EasyJet / Wizz Air / Norwegian sometimes return 0? They are European low-cost carriers. Routes they do not operate (e.g. LAX→JFK) legitimately return no flights — Google Flights, Kiwi and Cached Prices still cover those routes.

Do I need a proxy? No. The actor runs direct by default and only uses proxies if a source blocks it.

Can I search many routes at once? Yes — add multiple URLs/route tokens in startUrls.


Data is collected from publicly available sources only. You are responsible for compliance with applicable laws (GDPR, CCPA) and the target sites' Terms of Service.

🆘 Support & Feedback

Open an issue on the Actor's Issues tab with your input and run ID and we'll help.