Wizz Air Flights Scraper: Fares, Prices, Schedules & API avatar

Wizz Air Flights Scraper: Fares, Prices, Schedules & API

Pricing

from $11.54 / 1,000 results

Go to Apify Store
Wizz Air Flights Scraper: Fares, Prices, Schedules & API

Wizz Air Flights Scraper: Fares, Prices, Schedules & API

Scrape Wizz Air flight prices, fares and schedules for any route across 190+ airports without an API key. Get the cheapest fare per day, every departure time, a 30 day price calendar, one way or round trip, in local and UTC time. Export flight data to JSON, CSV or Excel.

Pricing

from $11.54 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

1

Monthly active users

12 days ago

Last modified

Share

Wizz Air Flights Scraper: Fares, Prices, Schedules & API

Wizz Air Flights Scraper: Fares, Prices, Schedules & API

Scrape Wizz Air flight prices, fares and schedules for any route on the Wizz Air network, with no API key and no login. Get the cheapest fare for every day, every scheduled departure time, and a 30 day price calendar, one way or round trip, in both local and UTC time. This is a Wizz Air flights data API you drive from Apify and export to JSON, CSV or Excel.

Here is one real result, with every field the actor returns for a flight row:

{
"route": "LTN-WAW",
"origin": "LTN",
"originName": "London Luton",
"originCity": "London Luton",
"originCountry": "United Kingdom",
"originCountryCode": "GB",
"originLatitude": 51.8747,
"originLongitude": -0.3683,
"originTimezone": "Europe/London",
"destination": "WAW",
"destinationName": "Warsaw Chopin",
"destinationCity": "Warsaw Chopin",
"destinationCountry": "Poland",
"destinationCountryCode": "PL",
"destinationLatitude": 52.1658,
"destinationLongitude": 20.9672,
"destinationTimezone": "Europe/Warsaw",
"direction": "outbound",
"departureDate": "2026-10-05",
"departureDateTime": "2026-10-05T08:25:00",
"departureDateTimeUtc": "2026-10-05T07:25:00Z",
"dayOfWeek": "Monday",
"daysToDeparture": 30,
"flightsThatDay": 3,
"flightNumber": null,
"arrivalDateTime": null,
"arrivalDateTimeUtc": null,
"duration": null,
"durationMinutes": null,
"stops": 0,
"direct": true,
"carrier": "Wizz Air",
"carrierCode": "W6",
"cabin": "Economy",
"fareType": "Lowest of day",
"isLowestFareOfDay": true,
"price": 36.99,
"originalPrice": 36.99,
"priceReduced": false,
"currency": "GBP",
"priceType": "price",
"available": true,
"hasMacFlight": false,
"source": "timetable",
"deepLink": "https://www.wizzair.com/en-gb/booking/select-flight/LTN/WAW/2026-10-05/null/1/0/0/null",
"url": "https://www.wizzair.com/en-gb/booking/select-flight/LTN/WAW/2026-10-05/null/1/0/0/null",
"observedAt": "2026-09-05T00:47:51.060Z",
"error": null
}

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

This Wizz Air scraper reads the public Wizz Air timetable for a route and returns every flight Wizz Air publishes for each day you scan, not only the cheapest departure. For each date you get the cheapest fare of the day, the currency, and every scheduled departure time, enriched with city, country, coordinates and timezone for both airports and a UTC departure time computed from the airport timezone (daylight saving aware).

By default each scheduled departure time is its own dataset row. Set collapseFares to true to get one row per day with all departure times nested in departureTimes and departureTimesUtc arrays. Set includeReturn to true (or pass a returnDate) to also scan the return leg (destination back to origin) in the same run, tagged direction return.

With withDetails enabled (the default, paying accounts), the actor also emits one 30 day price calendar record per route: the cheapest fare per day with the cheapest and highest dates, average and median price, price spread, estimated savings, and the days of week the route operates. Every row carries a deepLink that opens the exact route and date on wizzair.com.

Why this scraper

  • No API key, no login. You pass airports and dates, you get structured flight data.
  • Every flight, not just the cheapest. The full daily schedule for your date window, one way or round trip.
  • Prices in local and UTC time. Departure times converted to UTC using the origin airport timezone, daylight saving correct.
  • Rich airport metadata. City, country, ISO country code, latitude, longitude and IANA timezone for both ends, from the live Wizz Air airport map (190+ airports).
  • Trip planning built in. Day of week, days to departure, a 30 day price calendar and savings analytics per route.
  • Honest fields. Wizz Air serves the flight number, exact arrival time, duration and per-bundle prices only from a bot-protected booking endpoint that is not reachable over HTTP. Those fields are returned as explicit null rather than faked. See the FAQ.

How it compares

CapabilityThis actormscraper/wizzair-scraper (deprecated)Universal / multi-source flight scrapers
Wizz Air focusedYesYesPartial (one of several sources)
Origin + destination + date inputYesYesYes
Flexible date window (scan N days)Yes (1 to 60)NoRare
One way and round tripYesOne wayVaries
Passenger mix (adults, children, infants)YesYesRare
Cheapest fare per dayYesNoSometimes
Every departure time of the dayYesPer flightNo
30 day price calendar and savings analyticsYesNoNo
Local and UTC departure timeYesLocal onlyVaries
Airport city, country, coordinates, timezoneYesNoRare
Price band filter (min and max)YesNoNo
Deep link to bookYesNoNo
No charge on failure, spend capYesn/aVaries

We accept every input the direct Wizz Air competitor accepted (origin, destination, date, passengers, one way or round trip) and return the reliably available outputs plus the calendar, coordinates, timezone, UTC time, day of week and savings analytics on top. The older direct competitor is deprecated because it depended on the per-flight booking endpoint that Wizz Air has since locked behind bot protection.

Quickstart

Open the actor, paste this into the input, and press Run. It scans the LTN to WAW route for a week and returns every published flight plus a 30 day price calendar.

{
"origin": "LTN",
"destination": "WAW",
"departureDate": "2026-10-05",
"dateRangeDays": 7,
"withDetails": true,
"maxFlights": 50
}

Only origin and destination are required. Leave departureDate empty to default to about a month from today. Set includeReturn to true, or pass a returnDate, to also scan the way back.

Input reference

FieldTypeRequiredDefaultDescription
originstringyesBUDDeparture airport IATA code. One of 190+ Wizz Air airports.
destinationstringyesLTNArrival airport IATA code. Must be a Wizz Air airport the origin connects to.
departureDatestringno(about +1 month)First departure date to scan (YYYY-MM-DD). Must be today or later. Leave empty to default to about a month from today.
dateRangeDaysintegerno7How many consecutive days starting at departureDate to fetch fares for (1 = only that day, 60 = two months).
returnDatestringno(empty)If set, also fetch the return leg (destination back to origin) starting at this date (YYYY-MM-DD). Leave empty for one way.
includeReturnbooleannofalseAlso scan the return leg. If no returnDate is set it defaults to a week after departure.
collapseFaresbooleannofalseBy default every scheduled departure time is a separate row. Enable this for one row per day with all departure times in departureTimes / departureTimesUtc arrays.
withDetailsbooleannotrueWhen enabled, for each route the scraper also emits a 30 day price calendar (cheapest fare per day) as a separate details record. Paying accounts only. Turn off to only return the dates you requested.
maxPriceintegerno(none)Only return fares at or below this price (in the fare currency). Leave empty for no upper limit.
minPriceintegerno(none)Only return fares at or above this price (in the fare currency). Leave empty for no lower limit.
adultCountintegerno1Number of adult passengers used to price the fares.
childCountintegerno0Number of child passengers (age 2 to 14).
infantCountintegerno0Number of infant passengers (under 2).
maxFlightsintegerno10Maximum number of flight fare records to collect across all routes and dates. Free Apify accounts are capped at 10 per run.

Common aliases from other flight scrapers are also accepted: originAirport / from, destinationAirport / to, dateFrom / date, inboundDate, mode (ROUND), flexDays, adults / children / infants, and maxItems / maxResults.

Output reference

The run writes flight rows (one per departure time by default, or one per day when collapseFares is true) and, when withDetails is on, one price calendar record per route. Values are null when the source value is absent.

FieldTypeDescription
routestringRoute as ORIGIN-DESTINATION, for example LTN-WAW.
originstringDeparture airport IATA code.
originName / originCitystringDeparture airport / city name.
originCountrystringDeparture country.
originCountryCodestringDeparture ISO country code.
originLatitude / originLongitudenumberDeparture airport coordinates.
originTimezonestringDeparture airport IANA timezone.
destinationstringArrival airport IATA code.
destinationName / destinationCitystringArrival airport / city name.
destinationCountrystringArrival country.
destinationCountryCodestringArrival ISO country code.
destinationLatitude / destinationLongitudenumberArrival airport coordinates.
destinationTimezonestringArrival airport IANA timezone.
directionstringoutbound for the requested leg, return for a return-leg row.
departureDatestringDeparture date (YYYY-MM-DD).
departureDateTimestringLocal scheduled departure (YYYY-MM-DDTHH:mm:ss). One row per departure time.
departureDateTimeUtcstringSame departure in UTC, computed from the origin timezone (daylight saving aware).
departureTimes / departureTimesUtcarrayOnly in collapseFares mode: all local / UTC departure times of the day.
dayOfWeekstringDay of week of departure, for example Monday.
daysToDepartureintegerWhole days between the run and departure.
flightsThatDayintegerNumber of scheduled departures that day.
flightNumberstringWizz Air flight number. null: served only by the bot-protected booking endpoint.
arrivalDateTime / arrivalDateTimeUtcstringScheduled arrival. null: served only by the bot-protected booking endpoint.
duration / durationMinutesstring / integerFlight duration. null: served only by the bot-protected booking endpoint.
stopsintegerNumber of stops. Wizz Air point-to-point flights are 0.
directbooleantrue for Wizz Air point-to-point flights.
carrier / carrierCodestringOperating carrier, Wizz Air / W6.
cabinstringCabin. Wizz Air is Economy.
fareTypestringFare label for this row, Lowest of day.
isLowestFareOfDaybooleantrue, the price is the cheapest published fare for that date.
pricenumberCheapest fare of the day in currency.
originalPricenumberPre-discount price when exposed, otherwise same as price.
priceReducedbooleantrue when the fare is below its original price.
currencystringISO currency code of the prices.
priceTypestringWizz Air price type flag when exposed.
availablebooleantrue when a fare is published for the date.
hasMacFlightbooleanWhether a metropolitan-area (MAC) flight is part of that day.
sourcestringData source of the row: timetable.
deepLink / urlstringWizz Air booking URL for the exact route and date.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed route fetch, a single item with a populated error field is written instead.

Price calendar record

Real price calendar record from a live run (route LTN to WAW, withDetails true). One is written per route:

{
"route": "LTN-WAW",
"origin": "LTN",
"originName": "London Luton",
"destination": "WAW",
"destinationName": "Warsaw Chopin",
"direction": "outbound",
"recordType": "priceCalendar",
"calendarFrom": "2026-10-05",
"calendarTo": "2026-11-03",
"currency": "GBP",
"cheapestDate": "2026-10-06",
"cheapestPrice": 28.99,
"highestPrice": 105.99,
"averagePrice": 42.99,
"medianPrice": 36.99,
"priceSpread": 77,
"savingsPercent": 73,
"operatingDaysOfWeek": ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"daysWithFlights": 30,
"dailyPrices": [
{ "date": "2026-10-05", "price": 36.99, "flightsAvailable": 3 },
{ "date": "2026-10-06", "price": 28.99, "flightsAvailable": 3 }
],
"deepLink": "https://www.wizzair.com/en-gb/booking/select-flight/LTN/WAW/2026-10-06/null/1/0/0/null",
"observedAt": "2026-09-05T00:47:58.999Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~wizzair-flights-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"origin":"LTN","destination":"WAW","departureDate":"2026-10-05","dateRangeDays":7,"withDetails":true,"maxFlights":50}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~wizzair-flights-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"origin":"BUD","destination":"LTN","includeReturn":true,"collapseFares":true}'

Apify CLI:

apify call scrapers_lat/wizzair-flights-scraper \
--input '{"origin":"LTN","destination":"WAW","departureDate":"2026-10-05","returnDate":"2026-10-12"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per record returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a route fetch errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run and do not receive the price calendar. Upgrade for a higher maxFlights and the calendar.
  • Row count. By default each scheduled departure time is one row. Set collapseFares to true for one row per day. Price calendar details records are a separate billable event; set withDetails to false to skip them.

FAQ and troubleshooting

Does it return every flight or only the cheapest? Every flight Wizz Air publishes on the route for each day you scan, read from the public timetable. Each departure time is a row carrying the cheapest published fare for that date.

Why are flightNumber, arrivalDateTime and duration null? Wizz Air serves those per-flight details only from its booking-search endpoint, which is protected by a bot-mitigation layer (Kasada) and is not reachable over plain HTTP. Rather than ship fabricated values, the actor returns them as explicit null. Everything sourced from the open timetable (schedule, cheapest daily fare, currency, departure times) is real and complete.

What is the price calendar record? When withDetails is on, each route also gets one details record (recordType priceCalendar) with a 30 day cheapest-fare-per-day breakdown, the cheapest and highest dates, average and median price, price spread, estimated savings and operating days of week. Turn withDetails off to skip it.

How do I get local and UTC departure times? Every row includes departureDateTime (local) and departureDateTimeUtc (UTC), converted using the origin airport IANA timezone with daylight saving handled correctly.

How do I get the return leg too? Set includeReturn to true, or pass a returnDate. Return-leg rows are tagged direction return.

A run returned 0 records. Why? Wizz Air may not fly the requested route, or there are no flights in the date range. Confirm both airports are on the Wizz Air network and that the origin connects to the destination. Zero-result runs are not charged.

Is this an official Wizz Air tool? No. This actor is independent and has no affiliation with Wizz Air. It reads only data that is publicly available on wizzair.com. Use it in accordance with Wizz Air's terms.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for public platforms: company registries, government data, finance, travel, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Wizz Air. Accesses only publicly available data. Use in accordance with Wizz Air's terms of service.