✈️ Skyscanner Flight Scraper API
Pricing
from $3.99 / 1,000 results
✈️ 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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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 call | Google Flights + Kiwi + cached fares + 4 low-cost carriers, merged & deduplicated. |
| 💰 True cheapest price | bestPrice + cheapestSource + per-source price breakdown for every flight. |
| 🔗 Bulk input | Paste many flight URLs or route tokens, or use the simple single-route form. |
| 🛡️ Smart proxy ladder | Starts direct (no proxy), auto-escalates to datacenter, then sticky residential only if blocked. |
| ⚡ Fast & cheap | Pure HTTP — no Playwright/Chromium. A typical search finishes in seconds. |
| 💾 Live results | Every 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
| Field | Type | Description |
|---|---|---|
startUrls | array | Bulk 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). |
origin | string | Origin IATA code (e.g. LAX). Used when no URLs are given. |
destination | string | Destination IATA code (e.g. JFK). |
departDate | string | Departure date YYYY-MM-DD. |
returnDate | string | Optional return date for round trips. |
adults | integer | Passengers, 1–9. |
cabinClass | string | ECONOMY / PREMIUM_ECONOMY / BUSINESS / FIRST. |
currency | string | ISO currency code. |
market | string | Point-of-sale market (e.g. US). |
locale | string | Language/locale (e.g. en-US). |
maxFlights | integer | Max merged results per route (1–200). |
proxyConfiguration | object | Apify 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)
- Log in at https://console.apify.com → Actors.
- Open Skyscanner Flight Scraper API.
- Enter a route (or paste bulk URLs) and pick currency / cabin / passengers.
- Click Start and watch the live log fill in per source.
- 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.
⚖️ Cautions / Legal
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.