Skyscanner Flight Price Scraper API avatar

Skyscanner Flight Price Scraper API

Pricing

from $2.50 / 1,000 flight scrapeds

Go to Apify Store
Skyscanner Flight Price Scraper API

Skyscanner Flight Price Scraper API

Scrape Skyscanner-style flight prices by route and date. Get bestPrice, cheapestSource, provider quotes, airline, stops, segments, ratings, and booking links. Supports one-way and round-trip fares with optional Ryanair and Travelpayouts sources.

Pricing

from $2.50 / 1,000 flight scrapeds

Rating

0.0

(0)

Developer

Elliot Padfield

Elliot Padfield

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Flight Price Scraper - Live Fares & Cheap Dates

Scrape Skyscanner-style flight fare prices by route and date and return clean, price-comparison rows with prices, bestPrice, cheapestSource, provider details, schedule fields, segment details, baggage notes, and booking links.

This Actor is built for fare-alert products, travel newsletters, route-price monitoring, OTA research, and internal travel-price audits. It uses Skyscanner's public web result API through Chrome TLS impersonation, not browser automation.

What it does

  • Searches one-way or round-trip fares for a route and date.
  • Returns one row per fare or merged itinerary.
  • Supports Skyscanner web flight results with no API key.
  • Returns provider/OTA quotes inside prices and providerDetails.
  • Supports Ryanair live fare-calendar prices as an optional secondary source.
  • Supports optional Travelpayouts cached fare rows when you provide travelpayoutsToken.
  • Can return exact-date fares or cheap-date rows across the departure month.
  • Outputs a competitor-friendly schema: prices, bestPrice, cheapestSource, sourcesFound, segments, baggage, and links.
  • Saves results to the default Apify dataset for JSON, CSV, Excel, XML, API, Zapier, and Make.com exports.

Sources

SourceStatusNotes
SkyscannerLive, no tokenUses Skyscanner's public web result API through curl_cffi Chrome impersonation. Best default source.
RyanairLive, no tokenUses Ryanair's public fare-finder JSON endpoint. Useful secondary source for Ryanair-served routes.
TravelpayoutsOptional tokenUses cached fare-search prices from Travelpayouts/Aviasales. Requires your API token.

Important: Skyscanner is protected by PerimeterX. Plain curl is blocked. This Actor uses curl_cffi to send Chrome-shaped TLS/HTTP requests. If Skyscanner changes its bot controls, the adapter may need updating.

Input

FieldTypeDefaultDescription
originstringSTNOrigin airport IATA code.
destinationstringDUBDestination airport IATA code.
departDatestring2026-07-15Departure date in YYYY-MM-DD format.
returnDatestring-Optional return date. Omit for one-way.
adultsinteger1Adult passenger count.
teensinteger0Teen passenger count.
childreninteger0Child passenger count.
infantsinteger0Infant passenger count.
cabinClassstringECONOMYECONOMY, PREMIUM_ECONOMY, BUSINESS, or FIRST. Ryanair only supports economy.
currencystringGBPThree-letter ISO currency code.
sourcesstring[]["skyscanner"]Sources to query: skyscanner, ryanair, travelpayouts.
searchModestringexactDateexactDate or departureMonth.
maxFlightsinteger50Maximum rows saved after merge and sorting.
travelpayoutsTokenstring-Required only when using travelpayouts.
skyscannerMarketstringUKSkyscanner market header, such as UK or US.
skyscannerLocalestringen-GBSkyscanner locale header, such as en-GB or en-US.
skyscannerOriginEntityIdstring-Optional override if Skyscanner route entity resolution fails.
skyscannerDestinationEntityIdstring-Optional override if Skyscanner route entity resolution fails.
includeRawDatabooleanfalseAttach raw source fragments for debugging.
proxyobjectdisabledOptional Apify Proxy settings.

Examples

{
"origin": "LAX",
"destination": "JFK",
"departDate": "2026-07-15",
"currency": "USD",
"skyscannerMarket": "US",
"skyscannerLocale": "en-US",
"sources": ["skyscanner"],
"maxFlights": 20
}

Skyscanner plus Ryanair

{
"origin": "STN",
"destination": "DUB",
"departDate": "2026-07-15",
"currency": "GBP",
"sources": ["skyscanner", "ryanair"],
"maxFlights": 50
}

Add Travelpayouts cached fares

{
"origin": "LAX",
"destination": "JFK",
"departDate": "2026-07-15",
"currency": "USD",
"sources": ["skyscanner", "travelpayouts"],
"travelpayoutsToken": "YOUR_TOKEN",
"maxFlights": 50
}

Output

Each dataset item is a flat JSON record:

{
"prices": {
"skyscanner:Kiwi.com": 19.26,
"skyscanner:Expedia": 31.99,
"skyscanner": 19.26
},
"bestPrice": 19.26,
"cheapestSource": "skyscanner:Kiwi.com",
"sourcesFound": ["skyscanner"],
"currency": "GBP",
"airline": "Ryanair",
"departTime": "2026-07-15T06:30:00",
"arriveTime": "2026-07-15T07:50:00",
"duration": "1h 20m",
"stops": 0,
"from": {
"airport": "STN"
},
"to": {
"airport": "DUB"
},
"departDate": "2026-07-15",
"segments": [
{
"airline": "Ryanair",
"from": "STN",
"to": "DUB",
"departure": "2026-07-15T06:30:00",
"arrival": "2026-07-15T07:50:00",
"duration": "1h 20m",
"cabinClass": "ECONOMY"
}
],
"baggage": {
"includedPersonalItem": 1,
"note": "Ryanair basic fare normally includes one small personal bag only. Ancillary baggage prices are not included."
},
"isSelfTransfer": false,
"links": {
"skyscanner": "https://www.skyscanner.net/transport_deeplink/..."
},
"providerDetails": [
{
"id": "skyp",
"name": "Kiwi.com",
"price": 19.26,
"rating": 4,
"feedbackCount": 11462
}
],
"passengerCount": 1,
"cabinClass": "ECONOMY",
"routeType": "oneWay",
"scrapedAt": "2026-06-01T00:00:00.000Z"
}

Use cases

  • Build Skyscanner-style fare comparison datasets.
  • Build fare alerts for specific routes.
  • Monitor provider/OTA price differences.
  • Monitor Ryanair price changes by day as a secondary source.
  • Feed a cheap-flight newsletter or deal bot.
  • Compare direct airline prices against cached metasearch prices.
  • Export fare history to a warehouse for route analytics.
  • Audit whether a route is cheaper on exact dates or nearby dates.

Performance

The Skyscanner source usually performs one route-page request plus one web-unified-search request. Browser automation is not used, but Chrome TLS impersonation is required.

Recommended launch pricing:

  • Actor start: $0.00005
  • Result event: $0.0025 per saved dataset row ($2.50 / 1,000 results)

Only successful writes to the default dataset should be charged. Failed source requests, warnings, and skipped unavailable fares should not be charged.

Limitations

  • Skyscanner entity resolution works from the public route page for normal airport codes. If it fails, provide skyscannerOriginEntityId and skyscannerDestinationEntityId.
  • Ryanair fare-calendar rows are cheapest-per-day fares, not a complete list of every flight.
  • Travelpayouts requires a token and returns cached fare-search data.
  • Wizz Air and similar low-cost carriers use stronger anti-bot controls; add them as separate adapters once a stable replayable request is captured.
  • This Actor does not book flights or guarantee final checkout price. Airlines can add bags, seats, payment fees, and regional surcharges at checkout.

API example

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~flight-prices-fares-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"origin": "LAX",
"destination": "JFK",
"departDate": "2026-07-15",
"currency": "USD",
"skyscannerMarket": "US",
"skyscannerLocale": "en-US",
"sources": ["skyscanner"],
"maxFlights": 20
}'