# Ryanair Flights Scraper: Fares, Seats & Schedules (`scrapers_lat/ryanair-flights-scraper`) Actor

Scrape Ryanair fares and flight availability between 230+ European airports by IATA code and date. Extract price, currency, flight number, seats left, duration, stops and booking deep link. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/ryanair-flights-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Travel, Automation
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 fare results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<!-- actor-banner -->
[![Ryanair Flights Scraper: Fares, Seats & Schedules](https://scrapers.lat/banners/ryanair-flights-scraper.png)](https://console.apify.com/actors/2NIEb8Af0ofyeKGgJ/input)
<!-- /actor-banner -->

## Ryanair Flights Scraper: Fares, Seats & Schedules

> Extract Ryanair fares and live flight availability between any two of its 230+ European airports, with prices, seats left and schedules.

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-230%2B%20airports-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>20 fields</strong><br>per flight</td>
<td align="center"><strong>230+ airports</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### What you get

Each record is one Ryanair fare or flight between two airports on a given day, with the price, seats left, schedule and a direct booking link. Pick a route by IATA code, a date range and one-way or round trip, and the scraper returns the cheapest fare per day plus the full list of flights with availability.

- **origin**: departure airport IATA code
- **originName**: departure airport name
- **destination**: arrival airport IATA code
- **destinationName**: arrival airport name
- **departureDateTime**: local departure date and time
- **arrivalDateTime**: local arrival date and time
- **departureDateTimeUtc\***: departure time in UTC
- **arrivalDateTimeUtc\***: arrival time in UTC
- **flightNumber**: Ryanair flight number (for example FR271)
- **price**: adult fare amount
- **publishedPrice\***: standard fare before any discount
- **currency**: currency of the price
- **fareClass\***: fare type for the quoted price
- **seatsLeft\***: seats remaining at this fare, when the number is limited
- **duration\***: total flight time
- **stops\***: number of stops (0 for direct Ryanair flights)
- **operatedBy\***: operating carrier when the flight is not a standard Ryanair service
- **direction**: outbound or inbound leg
- **deepLink**: direct link to book this flight on Ryanair
- **observedAt**: when this fare was last seen by the scraper

*\*These fields only appear when Fetch flight availability details is set to true.*

### Who is it for

| Use case | Who benefits |
|---|---|
| Track fares on a route over a date range | Travelers and deal hunters |
| Monitor seat availability and price moves | Travel agencies and resellers |
| Build a flight price comparison or alert tool | Travel app and metasearch builders |
| Analyze low cost carrier pricing across Europe | Aviation and pricing analysts |
| Feed fares into a corporate travel dashboard | Travel managers |

### Frequently Asked Questions

**Which airports and routes does this cover?**  
It covers Ryanair's full European and North African network, more than 230 airports across roughly 37 countries. You choose any origin and destination by IATA code, such as STN to DUB or BCN to BGY. If Ryanair does not fly the route on the chosen day, that day returns no fare.

**How many fares can it return per run?**  
The Max Items setting caps the number of fare records, which are the cheapest fare per day on each leg. When availability details are enabled, every flight on those days is also returned, so a single day can produce several flight records with seats left and durations.

**Can I scan a date range or only one day?**  
Both. Set a Departure date from and Departure date to and the scraper checks each day in the range and returns that day's cheapest fare. For round trips, add a return date range and it scans the inbound leg the same way.

**Why is the fare price in euros but the detail price in another currency?**  
The fare scan uses the currency you select. The per flight availability detail is priced in the route's home market currency, which Ryanair fixes by route, so a UK route shows GBP. Each record carries its own currency field so the value is always clear.

**What happens when a flight is sold out or data is missing?**  
Sold out flights are still returned with seatsLeft of zero and a sold_out flag. When Ryanair reports plenty of seats it does not publish an exact count, so seatsLeft is left empty rather than guessed. Any failed day is recorded with an error field instead of stopping the run.

<!-- example-tasks -->
### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [Ryanair Berlin to Dublin Flight Fares Scraper](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-berlin-dublin): Scrape Ryanair fares from Berlin Brandenburg (BER) to Dublin (DUB). Get daily one-way prices, flight numbers and seat availability.
- [Ryanair Dublin to Barcelona Flight Fares Scraper](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-dublin-barcelona): Scrape Ryanair fares and flight times from Dublin (DUB) to Barcelona (BCN). Compare daily one-way prices, seat availability and durations.
- [Ryanair London Stansted to Rome Flight Fares Scraper](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-london-stansted-rome-ciampino): Scrape Ryanair fares from London Stansted (STN) to Rome Ciampino (CIA). Get daily one-way prices, flight numbers and seat availability.
- [Ryanair Madrid to Dublin Flight Fares Scraper](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-madrid-dublin): Scrape Ryanair fares and schedules from Madrid (MAD) to Dublin (DUB). Get daily one-way prices, flight numbers and seat availability.
- [Ryanair Manchester to Alicante Flight Fares Scraper](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-manchester-alicante): Scrape Ryanair fares from Manchester (MAN) to Alicante (ALC). Compare daily one-way prices, flight times and seat availability.
- [Ryanair Milan Bergamo to Paris Flight Fares Scraper](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-milan-bergamo-paris-beauvais): Scrape Ryanair fares from Milan Bergamo (BGY) to Paris Beauvais (BVA). Compare daily one-way prices, times and seat availability.
- [Ryanair Porto to London Stansted Flight Fares Scraper](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-porto-london-stansted): Scrape Ryanair fares from Porto (OPO) to London Stansted (STN). Compare daily one-way prices, times and seat availability.
- [Ryanair Dublin to Lanzarote Flights](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-dublin-lanzarote): Ryanair Dublin to Lanzarote Flights
- [Ryanair London to Dublin Flights](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-london-dublin): Ryanair London to Dublin Flights
- [Ryanair London to Malaga Flights](https://apify.com/scrapers_lat/ryanair-flights-scraper/examples/ryanair-london-malaga): Ryanair London to Malaga Flights

<!-- /example-tasks -->

<!-- x402 -->
### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).
<!-- /x402 -->

<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [Eventbrite Events Scraper](https://apify.com/scrapers_lat/eventbrite-scraper): Extract events, dates, venues and ticket details from Eventbrite.
- [Google News Scraper](https://apify.com/scrapers_lat/google-news-scraper): Collect news headlines, sources and links by keyword and region.
- [TikTok Creative Center Scraper](https://apify.com/scrapers_lat/tiktok-creative-center-scraper): Pull trending hashtags, songs and ads from TikTok Creative Center.
- [Instagram Scraper](https://apify.com/scrapers_lat/instagram-scraper): Scrape Instagram profiles, posts and engagement data.
- [YouTube Scraper](https://apify.com/scrapers_lat/youtube-scraper): Extract video metadata, channels and statistics from YouTube.
- [Reddit Scraper](https://apify.com/scrapers_lat/reddit-scraper): Collect posts, comments and subreddit data from Reddit.

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with Ryanair. It only accesses data that is publicly available on the platform. Use it in accordance with Ryanair's terms of service.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of fare records to collect. Optional.
## `withDetails` (type: `boolean`):

When enabled, the scraper makes a second request per day to retrieve every flight with seats left, duration, operating carrier and fare types. Adds a separate details event per flight.
## `origin` (type: `string`):

Departure airport IATA code.
## `destination` (type: `string`):

Arrival airport IATA code.
## `departureDateFrom` (type: `string`):

Earliest outbound date (YYYY-MM-DD).
## `departureDateTo` (type: `string`):

Latest outbound date (YYYY-MM-DD). Leave empty to use the same day as Departure date from.
## `tripType` (type: `string`):

One-way or round trip.
## `returnDateFrom` (type: `string`):

Earliest inbound date (YYYY-MM-DD). Round trips only.
## `returnDateTo` (type: `string`):

Latest inbound date (YYYY-MM-DD). Round trips only.
## `currency` (type: `string`):

Currency for the fare scan prices.
## `adults` (type: `integer`):

Number of adult passengers (affects seat availability counts).

## Actor input object example

```json
{
  "maxItems": 10,
  "withDetails": true,
  "origin": "STN",
  "destination": "DUB",
  "tripType": "oneWay",
  "currency": "EUR",
  "adults": 1
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "origin": "STN",
    "destination": "DUB"
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/ryanair-flights-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "origin": "STN",
    "destination": "DUB",
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/ryanair-flights-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "origin": "STN",
  "destination": "DUB"
}' |
apify call scrapers_lat/ryanair-flights-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/ryanair-flights-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Ryanair Flights Scraper: Fares, Seats & Schedules",
        "description": "Scrape Ryanair fares and flight availability between 230+ European airports by IATA code and date. Extract price, currency, flight number, seats left, duration, stops and booking deep link. Export to JSON, CSV or Excel.",
        "version": "0.1",
        "x-build-id": "od1DmPVfaHX20OvXT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~ryanair-flights-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-ryanair-flights-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~ryanair-flights-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-ryanair-flights-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~ryanair-flights-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-ryanair-flights-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "origin",
                    "destination",
                    "departureDateFrom"
                ],
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of fare records to collect. Optional."
                    },
                    "withDetails": {
                        "title": "Fetch flight availability details",
                        "type": "boolean",
                        "description": "When enabled, the scraper makes a second request per day to retrieve every flight with seats left, duration, operating carrier and fare types. Adds a separate details event per flight.",
                        "default": true
                    },
                    "origin": {
                        "title": "Origin airport",
                        "enum": [
                            "AAR",
                            "ABZ",
                            "ACE",
                            "AGA",
                            "AGP",
                            "AHO",
                            "ALC",
                            "AMM",
                            "AMS",
                            "AOI",
                            "ARN",
                            "ATH",
                            "BBU",
                            "BCN",
                            "BDS",
                            "BEM",
                            "BER",
                            "BFS",
                            "BGY",
                            "BHX",
                            "BIQ",
                            "BJV",
                            "BLQ",
                            "BNX",
                            "BOH",
                            "BOJ",
                            "BRE",
                            "BRI",
                            "BRQ",
                            "BRS",
                            "BRU",
                            "BSL",
                            "BTS",
                            "BUD",
                            "BVA",
                            "BVE",
                            "BZG",
                            "BZR",
                            "CAG",
                            "CCF",
                            "CDT",
                            "CFU",
                            "CGN",
                            "CHQ",
                            "CIA",
                            "CLJ",
                            "CPH",
                            "CRL",
                            "CRV",
                            "CTA",
                            "CUF",
                            "CWL",
                            "DBV",
                            "DLE",
                            "DLM",
                            "DUB",
                            "EDI",
                            "EFL",
                            "EGC",
                            "EIN",
                            "EMA",
                            "ERH",
                            "ESU",
                            "EXT",
                            "FAO",
                            "FCO",
                            "FDH",
                            "FEZ",
                            "FKB",
                            "FMM",
                            "FMO",
                            "FNC",
                            "FNI",
                            "FRL",
                            "FSC",
                            "FUE",
                            "GDN",
                            "GLA",
                            "GNB",
                            "GOA",
                            "GOT",
                            "GRO",
                            "HAM",
                            "HEL",
                            "HER",
                            "HHN",
                            "IAS",
                            "IBZ",
                            "INI",
                            "JMK",
                            "JSI",
                            "JTR",
                            "KGS",
                            "KIR",
                            "KLU",
                            "KLX",
                            "KRK",
                            "KSC",
                            "KTW",
                            "KUN",
                            "LBA",
                            "LBC",
                            "LCA",
                            "LCJ",
                            "LDE",
                            "LDY",
                            "LEI",
                            "LGW",
                            "LIG",
                            "LIL",
                            "LIS",
                            "LNZ",
                            "LPA",
                            "LPL",
                            "LRH",
                            "LTN",
                            "LUX",
                            "LUZ",
                            "LXS",
                            "MAD",
                            "MAH",
                            "MAN",
                            "MLA",
                            "MME",
                            "MMX",
                            "MRS",
                            "MXP",
                            "NAP",
                            "NCE",
                            "NCL",
                            "NDR",
                            "NOC",
                            "NQY",
                            "NRN",
                            "NTE",
                            "NUE",
                            "NWI",
                            "OLB",
                            "OPO",
                            "ORK",
                            "OSI",
                            "OSL",
                            "OSR",
                            "OTP",
                            "OUD",
                            "OZZ",
                            "PAD",
                            "PDV",
                            "PED",
                            "PEG",
                            "PFO",
                            "PGF",
                            "PIK",
                            "PIS",
                            "PLQ",
                            "PMF",
                            "PMI",
                            "PMO",
                            "POZ",
                            "PRG",
                            "PSA",
                            "PSR",
                            "PUY",
                            "PVK",
                            "QSR",
                            "RAK",
                            "RBA",
                            "RDZ",
                            "REG",
                            "REU",
                            "RHO",
                            "RIX",
                            "RJK",
                            "RMI",
                            "RMU",
                            "RVN",
                            "RZE",
                            "SCN",
                            "SCQ",
                            "SDR",
                            "SFT",
                            "SJJ",
                            "SKG",
                            "SNN",
                            "SOF",
                            "SPU",
                            "STN",
                            "SUF",
                            "SVQ",
                            "SZG",
                            "SZY",
                            "SZZ",
                            "TFS",
                            "TGD",
                            "TIA",
                            "TLL",
                            "TLS",
                            "TNG",
                            "TPS",
                            "TRF",
                            "TRN",
                            "TRS",
                            "TSF",
                            "TTU",
                            "TUF",
                            "VAR",
                            "VCE",
                            "VIE",
                            "VIL",
                            "VIT",
                            "VLC",
                            "VNO",
                            "VOL",
                            "VRN",
                            "VST",
                            "VXO",
                            "WAW",
                            "WMI",
                            "WRO",
                            "XCR",
                            "ZAD",
                            "ZAG",
                            "ZAZ",
                            "ZTH"
                        ],
                        "type": "string",
                        "description": "Departure airport IATA code."
                    },
                    "destination": {
                        "title": "Destination airport",
                        "enum": [
                            "AAR",
                            "ABZ",
                            "ACE",
                            "AGA",
                            "AGP",
                            "AHO",
                            "ALC",
                            "AMM",
                            "AMS",
                            "AOI",
                            "ARN",
                            "ATH",
                            "BBU",
                            "BCN",
                            "BDS",
                            "BEM",
                            "BER",
                            "BFS",
                            "BGY",
                            "BHX",
                            "BIQ",
                            "BJV",
                            "BLQ",
                            "BNX",
                            "BOH",
                            "BOJ",
                            "BRE",
                            "BRI",
                            "BRQ",
                            "BRS",
                            "BRU",
                            "BSL",
                            "BTS",
                            "BUD",
                            "BVA",
                            "BVE",
                            "BZG",
                            "BZR",
                            "CAG",
                            "CCF",
                            "CDT",
                            "CFU",
                            "CGN",
                            "CHQ",
                            "CIA",
                            "CLJ",
                            "CPH",
                            "CRL",
                            "CRV",
                            "CTA",
                            "CUF",
                            "CWL",
                            "DBV",
                            "DLE",
                            "DLM",
                            "DUB",
                            "EDI",
                            "EFL",
                            "EGC",
                            "EIN",
                            "EMA",
                            "ERH",
                            "ESU",
                            "EXT",
                            "FAO",
                            "FCO",
                            "FDH",
                            "FEZ",
                            "FKB",
                            "FMM",
                            "FMO",
                            "FNC",
                            "FNI",
                            "FRL",
                            "FSC",
                            "FUE",
                            "GDN",
                            "GLA",
                            "GNB",
                            "GOA",
                            "GOT",
                            "GRO",
                            "HAM",
                            "HEL",
                            "HER",
                            "HHN",
                            "IAS",
                            "IBZ",
                            "INI",
                            "JMK",
                            "JSI",
                            "JTR",
                            "KGS",
                            "KIR",
                            "KLU",
                            "KLX",
                            "KRK",
                            "KSC",
                            "KTW",
                            "KUN",
                            "LBA",
                            "LBC",
                            "LCA",
                            "LCJ",
                            "LDE",
                            "LDY",
                            "LEI",
                            "LGW",
                            "LIG",
                            "LIL",
                            "LIS",
                            "LNZ",
                            "LPA",
                            "LPL",
                            "LRH",
                            "LTN",
                            "LUX",
                            "LUZ",
                            "LXS",
                            "MAD",
                            "MAH",
                            "MAN",
                            "MLA",
                            "MME",
                            "MMX",
                            "MRS",
                            "MXP",
                            "NAP",
                            "NCE",
                            "NCL",
                            "NDR",
                            "NOC",
                            "NQY",
                            "NRN",
                            "NTE",
                            "NUE",
                            "NWI",
                            "OLB",
                            "OPO",
                            "ORK",
                            "OSI",
                            "OSL",
                            "OSR",
                            "OTP",
                            "OUD",
                            "OZZ",
                            "PAD",
                            "PDV",
                            "PED",
                            "PEG",
                            "PFO",
                            "PGF",
                            "PIK",
                            "PIS",
                            "PLQ",
                            "PMF",
                            "PMI",
                            "PMO",
                            "POZ",
                            "PRG",
                            "PSA",
                            "PSR",
                            "PUY",
                            "PVK",
                            "QSR",
                            "RAK",
                            "RBA",
                            "RDZ",
                            "REG",
                            "REU",
                            "RHO",
                            "RIX",
                            "RJK",
                            "RMI",
                            "RMU",
                            "RVN",
                            "RZE",
                            "SCN",
                            "SCQ",
                            "SDR",
                            "SFT",
                            "SJJ",
                            "SKG",
                            "SNN",
                            "SOF",
                            "SPU",
                            "STN",
                            "SUF",
                            "SVQ",
                            "SZG",
                            "SZY",
                            "SZZ",
                            "TFS",
                            "TGD",
                            "TIA",
                            "TLL",
                            "TLS",
                            "TNG",
                            "TPS",
                            "TRF",
                            "TRN",
                            "TRS",
                            "TSF",
                            "TTU",
                            "TUF",
                            "VAR",
                            "VCE",
                            "VIE",
                            "VIL",
                            "VIT",
                            "VLC",
                            "VNO",
                            "VOL",
                            "VRN",
                            "VST",
                            "VXO",
                            "WAW",
                            "WMI",
                            "WRO",
                            "XCR",
                            "ZAD",
                            "ZAG",
                            "ZAZ",
                            "ZTH"
                        ],
                        "type": "string",
                        "description": "Arrival airport IATA code."
                    },
                    "departureDateFrom": {
                        "title": "Departure date from",
                        "type": "string",
                        "description": "Earliest outbound date (YYYY-MM-DD)."
                    },
                    "departureDateTo": {
                        "title": "Departure date to",
                        "type": "string",
                        "description": "Latest outbound date (YYYY-MM-DD). Leave empty to use the same day as Departure date from."
                    },
                    "tripType": {
                        "title": "Trip type",
                        "enum": [
                            "oneWay",
                            "round"
                        ],
                        "type": "string",
                        "description": "One-way or round trip.",
                        "default": "oneWay"
                    },
                    "returnDateFrom": {
                        "title": "Return date from",
                        "type": "string",
                        "description": "Earliest inbound date (YYYY-MM-DD). Round trips only."
                    },
                    "returnDateTo": {
                        "title": "Return date to",
                        "type": "string",
                        "description": "Latest inbound date (YYYY-MM-DD). Round trips only."
                    },
                    "currency": {
                        "title": "Currency",
                        "enum": [
                            "EUR",
                            "GBP",
                            "USD",
                            "PLN",
                            "SEK",
                            "DKK",
                            "NOK",
                            "CHF",
                            "HUF",
                            "RON",
                            "BGN",
                            "CZK"
                        ],
                        "type": "string",
                        "description": "Currency for the fare scan prices.",
                        "default": "EUR"
                    },
                    "adults": {
                        "title": "Adults",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "Number of adult passengers (affects seat availability counts).",
                        "default": 1
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
