Aviasales Flight Routes Scraper avatar

Aviasales Flight Routes Scraper

Pricing

from $3.50 / 1,000 aviasales flight routes scrapers

Go to Apify Store
Aviasales Flight Routes Scraper

Aviasales Flight Routes Scraper

Collect route and fare records from public Aviasales pages. Get displayed prices, currencies, links, and visible itinerary details. Run with a public HTTPS Aviasales URL and maxResults; no buyer API key or login. Pricing: $0.0035 per saved item plus $0.00005 per Actor Start on the Free plan.

Pricing

from $3.50 / 1,000 aviasales flight routes scrapers

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

5

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

Share

Scrape route cards and featured fare cards publicly rendered on Aviasales Russian home and route pages, including displayed prices, currencies, links, and visible itinerary text. No buyer API key or Aviasales login is required. Pricing: $0.0035 per saved dataset item on the Free plan, plus $0.00005 per Actor Start event on the Free plan.

  • Extract route titles, origins, destinations, IATA codes, displayed prices, currencies, and Aviasales links from one public page.
  • Collect featured fare cards (flight_offer records) with offer labels and itinerary summaries, only when the page renders fare links.
  • Compare displayed route prices for travel research using records saved to an Apify dataset.
  • Repeat runs to monitor displayed route prices and featured fares, then export the collected records.

What you get

Each run requests one public Aviasales page and parses its server-rendered HTML. It can save route_card records from route links and flight_offer records from publicly rendered fare links. The Actor saves only records with a visible title, price, currency, and Aviasales link.

Prices are the values displayed during the run and may change later. Fare-specific labels and itinerary details are included only when those values are rendered on the page.

FieldTypeRecordDescription
record_typestringAllRecord type: route_card or flight_offer.
titlestringAllRoute or route-page heading shown by Aviasales.
originstringRoute and some fare recordsOrigin city name shown on the page.
destinationstringRoute and some fare recordsDestination city name shown on the page.
origin_iatastringWhen availableOrigin airport code from the Aviasales route URL or page path.
destination_iatastringWhen availableDestination airport code from the Aviasales route URL or page path.
priceintegerAllPrice displayed for the route or fare card.
currencystringAllCurrency inferred from the displayed price symbol.
offer_typestringFare recordsVisible fare-card label, such as cheapest, convenient, or direct, when rendered.
offer_detailsstringFare recordsVisible date, time, duration, and transfer summary for a fare card.
urlstringAllAviasales page linked from the route or fare card.
source_urlstringAllPublic Aviasales page from which the record was parsed.
scraped_atstringAllUTC time when the Actor collected the record.

Sample output

The sample below is one route_card record from the dataset sample.

{
"record_type": "route_card",
"title": "Москва — Коломбо",
"origin": "Москва",
"destination": "Коломбо",
"price": 24373,
"currency": "RUB",
"url": "https://www.aviasales.ru/routes/mow/cmb",
"source_url": "https://www.aviasales.ru/",
"origin_iata": "MOW",
"destination_iata": "CMB",
"scraped_at": "2026-10-30T08:33:04.141083+00:00"
}

Pricing

The live billing model is pay per event. The Actor charges for the following events:

EventBilling unit and conditionFree-plan price
apify-default-dataset-itemOne saved scraped result with all fields$0.0035 per event on the Free plan
apify-actor-startCharged when the Actor starts running$0.00005 per event on the Free plan

The primary charge is the saved dataset item. For example, 1,000 saved results = $3.50 and 10,000 saved results = $35.00 on the Free plan, before the separate Actor Start event.

The Apify Free plan includes $5 of monthly platform usage credit. After one $0.00005 Actor Start event, that credit covers 1,428 saved dataset items at $0.0035 per item on the Free plan.

Platform usage—compute, Apify Proxy traffic including residential traffic, and storage—is included in the event prices and paid by the Actor developer. Platform usage is not billed to you separately. This Actor does not add custom Actor.charge events.

How to use

  1. Enter a public HTTPS Aviasales home page or route page on the aviasales.ru domain in startUrl.
  2. Set maxResults to the maximum number of route and fare records to save. The accepted minimum is 1.
  3. Keep the default proxyConfiguration (RESIDENTIAL Apify proxy enabled), or change the proxy settings. To connect directly, explicitly set useApifyProxy to false.
  4. Run the Actor to request one public page, parse its server-rendered HTML, and save supported records.
  5. Review the dataset for route_card and flight_offer records, including displayed prices, links, and any visible fare details.
  6. Repeat the run through Apify Schedules, using daily as a starting point for displayed route prices and featured fares.

Example input:

{
"startUrl": "https://www.aviasales.ru/",
"maxResults": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Export the dataset as JSON or CSV, or read it through the Apify dataset API.

Input parameters

ParameterWhat it doesDefault
startUrlPublic HTTPS Aviasales home page or route page on the aviasales.ru domain to request.https://www.aviasales.ru/
maxResultsMaximum number of route and fare records to save.50
proxyConfigurationApify proxy settings. RESIDENTIAL Apify proxy is enabled by default; set useApifyProxy to false to connect directly.{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}

Limits and edge cases

ConditionWhat the buyer seesWhat to do
The run receives a valid page with supported cardsThe Actor saves records in page order until maxResults is reached.Set maxResults high enough for the records you want, subject to the page contents.
The selected page contains no supported route or fare cardsThe run raises an error stating that the page returned no supported Aviasales route or flight-offer cards.Check the URL, proxy setting, and whether the public page layout has changed.
A card has no visible title, price, currency, or Aviasales linkThat card is not saved.Use a public page where the required values are rendered in the HTML.
A fare card does not render a date, time, duration, transfer, or other itinerary textThe Actor does not invent the missing value; only visible fare information is collected.Use a route page that renders the itinerary details you need.
The page contains values outside the supported public HTML structureThe corresponding route or fare card may be absent from the dataset.Check the page output and try the relevant public home or route page.
startUrl is not an HTTPS URL on aviasales.ru or its subdomainURL validation fails before the page request.Provide an HTTPS Aviasales home page or route-page URL.
maxResults is zero or negativeThe Actor logs a warning and requests no records.Use an integer of at least 1.
The page returns HTTP 408, 425, 429, or a 5xx responseThe fetch operation retries up to three attempts; if it still fails, the run raises an error.Check the target URL and proxy setting, then run again if appropriate.
The public page is empty or cannot be fetchedThe run ends with an error before records are saved.Check the URL, the public page availability, and the optional proxy configuration.
Multiple parsed anchors have the same record type, URL, and priceThey are kept as one record.Review the source page if you need to investigate repeated cards.
You need all Aviasales routes rather than the cards on one selected pageThe Actor makes one public page request per run, and complete route coverage is not proven.Select the relevant route page or schedule separate runs for the pages you need.

FAQ

How much does it cost to scrape Aviasales?

The price is $0.0035 per saved dataset item on the Free plan, plus $0.00005 per Actor Start event on the Free plan. 1,000 results = $3.50 on the Free plan, before the separate Actor Start event.

What happens if the dataset is empty?

The Actor raises an error when the requested public page contains no supported Aviasales route or flight-offer cards. Check that the URL is a public Aviasales home or route page, then check the optional proxy setting and whether the page layout has changed.

Why did my Aviasales run not work?

The Actor accepts only HTTPS URLs on the aviasales.ru domain or its subdomains. HTTP 408, 425, 429, and 5xx responses are retried up to three attempts; other request or parsing failures can end the run with an error. Verify the URL, inspect the run log, and try the public page again.

Does this Actor scrape live booking results or invent missing fare details?

It parses route cards and featured fare cards publicly rendered in the page HTML. It does not invent dates, fares, airlines, or other fields that are absent from the page. Prices reflect what Aviasales displayed during that run.

The Actor accesses publicly rendered Aviasales pages on aviasales.ru and does not require a login. Whether a particular use is legal or allowed depends on the source terms, applicable law, and your use case; review those requirements before using the collected data.