Volaris Flights Scraper: Fares, Cabins & Schedules avatar

Volaris Flights Scraper: Fares, Cabins & Schedules

Pricing

from $12.48 / 1,000 results

Go to Apify Store
Volaris Flights Scraper: Fares, Cabins & Schedules

Volaris Flights Scraper: Fares, Cabins & Schedules

Scrape every Volaris flight between two airports by date in MXN. All flights (not just the cheapest), Regular & VClub fares, price, seats left, times, duration, terminals, stops. One row per fare or collapsed. JSON, CSV, Excel.

Pricing

from $12.48 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

Volaris Flights Scraper: Fares, Cabins & Schedules

Volaris Flights Scraper: Fares, Cabins & Schedules

Here is one real result, with every field the actor returns:

{
"origin": "MEX",
"originName": "MEX",
"destination": "CUN",
"destinationName": "CUN",
"departureDateTime": "2026-09-16T14:50:00",
"arrivalDateTime": "2026-09-16T18:08:00",
"departureDateTimeUtc": "2026-09-16T20:50:00Z",
"arrivalDateTimeUtc": "2026-09-16T23:08:00Z",
"departureTerminal": "1",
"arrivalTerminal": "2",
"flightNumber": "Y4 102",
"currency": "MXN",
"duration": "2h 18m",
"durationMinutes": 138,
"stops": 0,
"operatedBy": "Volaris",
"cabin": "Economy",
"segments": [
{
"flightNumber": "Y4 102",
"origin": "MEX",
"destination": "CUN",
"departureDateTime": "2026-09-16T14:50:00",
"arrivalDateTime": "2026-09-16T18:08:00",
"cabin": "Economy"
}
],
"flightKey": "WTR_IDEwMn4gfn5NRVh_MDkvMTYvMjAyNiAxNDo1MH5DVU5_MDkvMTYvMjAyNiAxODowOH5_",
"direction": "outbound",
"source": "availability",
"deepLink": "https://www.volaris.com/",
"observedAt": "2026-08-16T03:36:05.725Z",
"error": null,
"fareType": "Regular",
"price": 1358,
"publishedPrice": 1039,
"revenueFare": 1038,
"seatsLeft": 8,
"fareClass": "L",
"fareBasisCode": "LLSS2",
"fareKey": "MH5Mfn5ZNH5MTFNTMn4wMDExfn4wfjE4fn5YITA-",
"fareOptions": null,
"isLowestFareOfDay": true
}

The most complete Volaris flight scraper available. It returns every flight on a route each day (not just the cheapest), prices each in both the Regular and VClub fare tiers with live seats left, and gives you one row per fare or a collapsed one row per flight so you can compare exactly the fares you need.

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

Apify Coverage Output Billing

Table of contents

What it does

The actor queries Volaris priced availability for a route and date range, then writes one normalized record per fare to the run's dataset. For every requested day it returns every flight on the route, both nonstop and connecting, with local and UTC departure and arrival times, terminals, duration, stops, seats left, and the total price in your chosen currency.

By default each flight is priced in two fare tiers, so you get one row per fare: Regular (the public walk-up fare) and VClub (the members' discount fare). Set collapseFares to get one row per flight instead, with every fare nested in a fareOptions array and price set to the lowest. Turn on includeReturn to scan the return leg in the same run, tagged direction: "inbound".

Prices for Mexican routes are returned in MXN by default. Times are the airline's scheduled local times, with UTC equivalents provided alongside.

Quickstart

Open the actor, paste this into the input, and press Run. It returns every Volaris flight from Mexico City to Cancun about a month out, priced in Regular and VClub.

{
"origin": "MEX",
"destination": "CUN",
"departureDateFrom": "2026-09-15",
"departureDateTo": "2026-09-16",
"fareTypes": ["Regular", "VClub"],
"maxFlights": 100
}

Leave the dates empty to default to a single day about 30 days out. Only origin and destination are required.

Input reference

FieldTypeRequiredDefaultDescription
originstringyes(none)3-letter IATA code of the departure airport, for example MEX (Mexico City).
destinationstringyes(none)3-letter IATA code of the arrival airport, for example CUN (Cancun).
departureDateFromstringno~30 days outFirst outbound date to scan (YYYY-MM-DD). Defaults to about 30 days out if empty or in the past.
departureDateTostringno= fromLast outbound date to scan, inclusive (YYYY-MM-DD). Defaults to the from date for a single day.
fareTypesarrayno["Regular","VClub"]Which Volaris fare tiers to price. Regular is the public fare; VClub is the members' discount fare. Each tier is its own row unless collapseFares is on.
adultsintegerno1Number of adult passengers (1-9). Affects fare availability.
childrenintegerno0Number of child passengers (0-9).
infantsintegerno0Number of lap infants (0-9).
currencystringnoMXNCurrency code for prices. Volaris prices Mexican routes in MXN.
collapseFaresbooleannofalseOFF: every fare tier is its own row. ON: one row per flight with all fares nested in fareOptions and price = lowest.
includeReturnbooleannofalseAlso scan the return leg (destination to origin), tagged direction: "inbound".
returnDateFromstringno(empty)First return date to scan (YYYY-MM-DD), used only when includeReturn is on.
returnDateTostringno= return fromLast return date to scan, inclusive, used only when includeReturn is on.
maxFlightsintegerno100Maximum fare rows to return (billed results). Free Apify plans are capped at 10 per run.
proxyConfigurationobjectnoResidential MXApify proxy configuration. Residential Mexico is used by default for reliable access.

Output reference

One dataset item per fare (or per flight when collapseFares is on). Types: string, integer, number, object, array, or null when a source value is absent.

FieldTypeDescription
originstringOrigin airport IATA code.
originNamestringOrigin station name or code as returned by the source.
destinationstringDestination airport IATA code.
destinationNamestringDestination station name or code as returned by the source.
departureDateTimestringScheduled local departure time (ISO 8601, no offset).
arrivalDateTimestringScheduled local arrival time (ISO 8601, no offset).
departureDateTimeUtcstringDeparture time in UTC.
arrivalDateTimeUtcstringArrival time in UTC.
departureTerminalstringDeparture terminal, or null if not published.
arrivalTerminalstringArrival terminal, or null if not published.
flightNumberstringFlight number(s), for example Y4 102. Connections join segments with /.
fareTypestringFare tier: Regular or VClub. null in collapsed mode.
cabinstringCabin of service, for example Economy.
pricenumberTotal price including taxes and fees, in currency.
publishedPricenumberPublished fare component before taxes and fees.
revenueFarenumberBase revenue fare component.
currencystringCurrency code of the prices, for example MXN.
seatsLeftintegerSeats remaining in this fare, as reported by the source.
durationstringTotal journey duration, for example 2h 18m.
durationMinutesintegerTotal journey duration in minutes.
stopsintegerNumber of stops (0 = nonstop).
operatedBystringOperating carrier. Always Volaris.
fareClassstringClass of service letter, for example L.
fareBasisCodestringFare basis code, for example LLSS2.
fareKeystringOpaque fare availability key for the priced fare.
fareOptionsarrayIn collapsed mode, all fares of the flight; otherwise null.
segmentsarrayPer-segment flight number, origin, destination, times, and cabin.
flightKeystringOpaque journey key identifying the flight.
directionstringoutbound or inbound.
isLowestFareOfDaybooleantrue when this fare is the lowest across all flights scanned that day.
sourcestringData source tier. Always availability (priced availability).
deepLinkstringLink to the Volaris booking site.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed day, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"origin":"MEX","destination":"CUN","includeReturn":true,"fareTypes":["Regular","VClub"]}), collapsed-fares mode showing both tiers nested:

{
"origin": "MEX",
"destination": "CUN",
"departureDateTime": "2026-09-15T20:45:00",
"arrivalDateTime": "2026-09-15T23:58:00",
"flightNumber": "Y4 110",
"fareType": null,
"cabin": "Economy",
"price": 1257,
"currency": "MXN",
"stops": 0,
"duration": "3h 13m",
"operatedBy": "Volaris",
"direction": "outbound",
"fareOptions": [
{
"fareType": "Regular",
"cabin": "Economy",
"price": 1257,
"publishedPrice": 982,
"revenueFare": 981,
"currency": "MXN",
"seatsLeft": 10,
"fareClass": "A",
"fareBasisCode": "ALSS2"
},
{
"fareType": "VClub",
"cabin": "Economy",
"price": 1258,
"publishedPrice": 983,
"currency": "MXN",
"seatsLeft": 10,
"fareClass": "A",
"fareBasisCode": "ALVC2"
}
],
"isLowestFareOfDay": true,
"source": "availability",
"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~volaris-flights-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"origin":"MEX","destination":"CUN","departureDateFrom":"2026-09-15","departureDateTo":"2026-09-16"}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~volaris-flights-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"origin":"TIJ","destination":"GDL","includeReturn":true,"returnDateFrom":"2026-09-22","returnDateTo":"2026-09-22"}'

Apify CLI:

apify call scrapers_lat/volaris-flights-scraper \
--input '{"origin":"MEX","destination":"CUN","collapseFares":true}'

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 day 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. Upgrade for a higher maxFlights.
  • One row per fare. With the default two fare tiers you get up to two rows per flight. Use collapseFares for one row per flight to reduce the billed row count.

FAQ and troubleshooting

A run returned 0 records. Why? Volaris may not operate that route on the requested date, or the flights are sold out. Try a different date, a nearby route, or widen the date range. Zero-result runs are not charged.

What is the difference between Regular and VClub fares? Regular is the public walk-up fare anyone can buy. VClub is the discounted fare for Volaris V.Club members. Both are returned so you can compare the savings; the actual VClub price requires an active membership at booking.

Why are there two rows for the same flight? By default each fare tier is its own row (fareType differentiates them). Set collapseFares to true to get one row per flight with both tiers nested in fareOptions.

Does it cover connecting flights? Yes. Itineraries with one stop are included, with stops and a segments array describing each leg. flightNumber joins the segment numbers with /.

Can I scan a round trip in one run? Yes. Set includeReturn to true and provide returnDateFrom and returnDateTo. Return-leg rows are tagged direction: "inbound".

Why is a terminal null? Volaris did not publish a terminal for that leg. Missing source values are returned as null, never invented.

Is this an official Volaris tool? No. This actor is independent and has no affiliation with Volaris. It reads only data that is publicly available through the Volaris booking website. Use it in accordance with the Volaris terms of service.

More scrapers at scrapers.lat

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


Independent tool, not affiliated with Volaris. Accesses only publicly available Volaris booking data. Use in accordance with the Volaris terms of service.