# Kiwi Flights Scraper (`solidcode/kiwi-scraper`) Actor

\[💰 $1.5 / 1K] Search Kiwi.com for flights and travel itineraries. Get full outbound and return legs with every segment — airports, airlines, departure and arrival times, layovers, and total duration. Filter by stops, cabin class, baggage, and currency, with prices in your currency plus EUR.

- **URL**: https://apify.com/solidcode/kiwi-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Travel, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 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

## Kiwi Flights Scraper

Search Kiwi.com for flight itineraries and pull every option as clean, structured data — full outbound and return legs, every connecting segment with its airport, airline, and times, layover nights, total trip duration, and prices in both your chosen currency and EUR. Built for travel agencies, fare-comparison sites, deal-alert builders, and travel data analysts who need ready-to-use itinerary data without parsing a booking site by hand.

### Why This Scraper?

- **Dual pricing on every itinerary** — each row carries the fare in your selected currency *and* in EUR (`priceEur`), so you can compare routes across markets without running a separate conversion.
- **46 display currencies** — bill in US Dollar, Euro, British Pound, Japanese Yen, UAE Dirham, Indian Rupee, Brazilian Real, and 39 more, while the EUR figure stays constant for cross-market analysis.
- **Four cabin classes including First** — Economy, Premium Economy, Business, and First, not just the usual Economy/Business pair.
- **Full per-segment breakdown** — every connecting flight is listed with its origin and destination airport (code, name, city), departure and arrival times in both local and UTC, operating airline, and flight number.
- **One-way and round-trip in one actor** — leave the return date empty for one-way; set it and you get separate outbound and inbound legs with independent stop counts (`outboundStops`, `inboundStops`) and layover nights.
- **Direct, ≤1-stop, or ≤2-stop filters** — restrict itineraries to nonstop only, or cap connections at one or two, so you only collect the routings you can sell.
- **Cabin and checked baggage built into the fare** — request 0–1 cabin bags and 0–2 checked bags per passenger so the price you see already includes the luggage your travelers need.
- **City-or-IATA place input** — type "Prague" or "PRG", "New York" or "JFK"; the actor resolves names and metro codes to the right airports for you.
- **A ready-to-open booking link on every row** — `bookingUrl` is an absolute Kiwi.com link, so any itinerary can be opened or handed to a customer in one click.

### Use Cases

**Fare Comparison & Price Monitoring**
- Track the cheapest fare on a route day by day to spot price drops
- Compare the same trip across cabin classes to size up upgrade value
- Benchmark fares in local currency while normalizing on EUR
- Monitor how direct fares compare to one- and two-stop alternatives

**Travel Agency Tooling**
- Pull bookable itineraries with luggage already priced in for client quotes
- Surface the best-ranked options for a requested route and date in seconds
- Build internal quoting tools backed by per-segment airline and timing data
- Offer one-way and round-trip options side by side from a single search

**Deal & Alert Products**
- Power fare-drop alerts that fire when a route dips below a threshold
- Feed newsletters and Telegram/Slack bots with fresh, structured deals
- Flag rare nonstop options on routes that usually require a connection
- Detect cheap multi-stop routings worth promoting to budget travelers

**Travel Market Research**
- Map which airlines serve a route and how their fares and durations differ
- Study layover patterns and overnight connections across markets
- Analyze pricing spreads between cabin classes for revenue research
- Compare connection time vs. total trip duration across competing routings

**Corporate Travel & OTA Aggregation**
- Collect compliant itineraries within a stops and cabin-class policy
- Aggregate Kiwi options into a multi-source meta-search front end
- Standardize fares into a single EUR baseline for cross-region reporting
- Pre-package fares with cabin and checked baggage for travel desks

### Getting Started

#### Simple One-Way Search

Just a route and a departure date — leave the return date empty for one-way:

```json
{
    "origin": "Prague",
    "destination": "New York",
    "departureDate": "2026-07-15"
}
````

#### Round-Trip with Cabin & Stops

Add a return date, pick a cabin class, and limit connections:

```json
{
    "origin": "LON",
    "destination": "JFK",
    "departureDate": "2026-08-10",
    "returnDate": "2026-08-20",
    "cabinClass": "BUSINESS",
    "maxStops": "1"
}
```

#### Full Advanced Search

Set baggage, currency, and a result cap:

```json
{
    "origin": "Berlin",
    "destination": "Tokyo",
    "departureDate": "2026-09-05",
    "returnDate": "2026-09-19",
    "cabinClass": "PREMIUM_ECONOMY",
    "maxStops": "2",
    "cabinBags": "1",
    "checkedBags": "1",
    "currency": "USD",
    "maxResults": 50
}
```

### Input Reference

#### Route & Dates

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `origin` | string | `"Prague"` | Where you're flying from — a city or airport name (e.g. "Prague") or an IATA code (e.g. "PRG"). |
| `destination` | string | `"New York"` | Where you're flying to — a city or airport name (e.g. "New York") or an IATA code (e.g. "JFK"). |
| `departureDate` | string | `""` | The day you want to depart, in YYYY-MM-DD format. A departure date is required to search for flights. |
| `returnDate` | string | `""` | The day you want to fly back, in YYYY-MM-DD format. Leave empty for a one-way trip. |

#### Cabin & Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `cabinClass` | select | `Economy` | Travel class: Economy, Premium Economy, Business, or First. |
| `maxStops` | select | `Any number of stops` | Limit connections: Any number of stops, Direct flights only, Up to 1 stop, or Up to 2 stops. |
| `cabinBags` | select | `0 cabin bags` | Cabin (carry-on) bags per passenger included in the fare: 0 or 1. |
| `checkedBags` | select | `0 checked bags` | Checked bags per passenger included in the fare: 0, 1, or 2. |

#### Localization & Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `currency` | select | `Euro` | Currency for displayed prices (46 options). Prices are always also returned in EUR for comparison. |
| `maxResults` | integer | `100` | How many itineraries to return. Kiwi delivers results in pages of about 50, so a single search returns roughly 50 itineraries. Set to 0 for as many as Kiwi returns. |

### Output

Each result is one flat itinerary row. Round-trip itineraries include both outbound and inbound legs; one-way itineraries include only the outbound leg.

```json
{
    "originCode": "PRG",
    "originCity": "Prague",
    "destinationCode": "JFK",
    "destinationCity": "New York",
    "departureTime": "2026-07-15T10:25:00",
    "arrivalTime": "2026-07-15T18:40:00",
    "returnTime": "2026-07-22T20:15:00",
    "airlines": ["British Airways", "American Airlines"],
    "outboundStops": 1,
    "inboundStops": 1,
    "durationHours": 11.25,
    "layoverNights": 0,
    "price": 612.0,
    "currency": "USD",
    "priceEur": 564.0,
    "cabinClass": "ECONOMY",
    "segments": [
        {
            "leg": "outbound",
            "fromCode": "PRG",
            "fromCity": "Prague",
            "fromName": "Václav Havel Airport Prague",
            "toCode": "LHR",
            "toCity": "London",
            "toName": "London Heathrow",
            "departureTime": "2026-07-15T10:25:00",
            "departureTimeUtc": "2026-07-15T08:25:00Z",
            "arrivalTime": "2026-07-15T11:40:00",
            "arrivalTimeUtc": "2026-07-15T10:40:00Z",
            "airline": "British Airways",
            "airlineCode": "BA",
            "operatingAirline": "British Airways",
            "flightNumber": "BA851",
            "cabinClass": "ECONOMY",
            "durationHours": 2.25
        }
    ],
    "bookingUrl": "https://www.kiwi.com/en/booking?token=..."
}
```

#### Itinerary & Route

| Field | Type | Description |
|-------|------|-------------|
| `originCode` | string | Departure airport IATA code |
| `originCity` | string | Departure city name |
| `destinationCode` | string | Arrival airport IATA code |
| `destinationCity` | string | Arrival city name |
| `departureTime` | string | Outbound departure local time |
| `arrivalTime` | string | Outbound arrival local time |
| `returnTime` | string | Inbound departure local time (round-trip only; null for one-way) |
| `airlines` | string\[] | Unique airline names across the whole itinerary |
| `outboundStops` | number | Number of stops on the outbound leg (0 = direct) |
| `inboundStops` | number | Number of stops on the inbound leg (null for one-way) |
| `durationHours` | number | Total itinerary duration in hours |
| `layoverNights` | number | Overnight stays during connections |
| `bookingUrl` | string | Absolute Kiwi.com link to book this itinerary |

#### Pricing & Cabin

| Field | Type | Description |
|-------|------|-------------|
| `price` | number | Fare in your selected currency |
| `currency` | string | Currency code for `price` |
| `priceEur` | number | Fare in EUR, always returned for cross-market comparison |
| `cabinClass` | string | Cabin class searched (ECONOMY, PREMIUM\_ECONOMY, BUSINESS, FIRST) |

#### Segments

`segments` is an array of per-flight detail objects, in travel order, covering both legs.

| Field | Type | Description |
|-------|------|-------------|
| `leg` | string | "outbound" or "inbound" |
| `fromCode` / `toCode` | string | Origin / destination airport IATA code |
| `fromCity` / `toCity` | string | Origin / destination city name |
| `fromName` / `toName` | string | Full origin / destination airport name |
| `departureTime` / `arrivalTime` | string | Local departure / arrival time |
| `departureTimeUtc` / `arrivalTimeUtc` | string | UTC departure / arrival time |
| `airline` | string | Marketing airline name |
| `airlineCode` | string | Marketing airline code |
| `operatingAirline` | string | Operating airline name |
| `flightNumber` | string | Flight number |
| `cabinClass` | string | Cabin class on this segment |
| `durationHours` | number | Segment duration in hours |

### Tips for Best Results

- **Use IATA city codes for metro-area searches** — codes like `LON` (all London airports) or `NYC` (all New York airports) span multiple airports in one search, widening your options versus a single-airport code.
- **Leave the return date empty for one-way** — there's no separate toggle; an empty `returnDate` is what tells the actor to search one-way fares.
- **Bill locally, compare globally** — set `currency` to your customer's local currency for quoting, and use the always-present `priceEur` field as a stable baseline when comparing routes across markets.
- **Price in the bags you actually need** — set `cabinBags` and `checkedBags` so the fare already reflects the luggage your travelers carry, instead of quoting a fare that excludes them.
- **One search returns roughly 50 ranked itineraries** — Kiwi front-loads the best-ranked options, so a single fixed-date search returns about 50 rows even if `maxResults` is higher; run separate searches across dates to widen coverage.
- **Loosen stops to find cheaper routings** — set `maxStops` to "Up to 1 stop" or "Up to 2 stops" to surface connection-based fares that are often well below the nonstop price.
- **Search a date window** — to track a route over time or find the cheapest day, run the actor once per candidate date rather than expecting one run to cover a range.
- **Fares are quoted for one adult** — each search prices a single adult traveler; multiply or re-run per traveler profile if you need fares for a group.

### Pricing

**From $1.50 per 1,000 results** — a flat, predictable per-result price for fully structured flight itineraries. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.18 | $0.17 | $0.16 | $0.15 |
| 1,000 | $1.80 | $1.70 | $1.60 | $1.50 |
| 10,000 | $18.00 | $17.00 | $16.00 | $15.00 |
| 100,000 | $180.00 | $170.00 | $160.00 | $150.00 |

A "result" is one itinerary row in the output dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate flight-fare research, price comparison, and travel product development. Users are responsible for complying with applicable laws and Kiwi.com's Terms of Service. Collect only publicly available pricing and itinerary data, and do not use the output for spam, misrepresentation, or any unlawful purpose. </content> </invoke>

# Actor input Schema

## `origin` (type: `string`):

Where you're flying from — a city or airport name (e.g. 'Prague') or an IATA airport code (e.g. 'PRG').

## `destination` (type: `string`):

Where you're flying to — a city or airport name (e.g. 'New York') or an IATA airport code (e.g. 'JFK').

## `departureDate` (type: `string`):

The day you want to depart, in YYYY-MM-DD format (e.g. '2026-07-15'). A departure date is required to search for flights.

## `returnDate` (type: `string`):

The day you want to fly back, in YYYY-MM-DD format. Leave empty for a one-way trip.

## `cabinClass` (type: `string`):

Which travel class to search for.

## `maxStops` (type: `string`):

Limit how many stops each itinerary can have.

## `cabinBags` (type: `string`):

Number of cabin (carry-on) bags per passenger to include in the fare.

## `checkedBags` (type: `string`):

Number of checked bags per passenger to include in the fare.

## `currency` (type: `string`):

Currency for displayed prices. Prices are also always returned in EUR for comparison.

## `maxResults` (type: `integer`):

How many flight itineraries to return. Kiwi delivers results in pages of about 50, so a single search returns roughly 50 itineraries even if you ask for fewer. Set to 0 for as many as Kiwi returns.

## Actor input object example

```json
{
  "origin": "Prague",
  "destination": "New York",
  "cabinClass": "ECONOMY",
  "maxStops": "any",
  "cabinBags": "0",
  "checkedBags": "0",
  "currency": "EUR",
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of itineraries with route, dates, airlines, stops, duration, and price.

# 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 = {
    "origin": "Prague",
    "destination": "New York",
    "departureDate": "",
    "returnDate": "",
    "cabinClass": "ECONOMY",
    "maxStops": "any",
    "cabinBags": "0",
    "checkedBags": "0",
    "currency": "EUR",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/kiwi-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 = {
    "origin": "Prague",
    "destination": "New York",
    "departureDate": "",
    "returnDate": "",
    "cabinClass": "ECONOMY",
    "maxStops": "any",
    "cabinBags": "0",
    "checkedBags": "0",
    "currency": "EUR",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/kiwi-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 '{
  "origin": "Prague",
  "destination": "New York",
  "departureDate": "",
  "returnDate": "",
  "cabinClass": "ECONOMY",
  "maxStops": "any",
  "cabinBags": "0",
  "checkedBags": "0",
  "currency": "EUR",
  "maxResults": 100
}' |
apify call solidcode/kiwi-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kiwi Flights Scraper",
        "description": "[💰 $1.5 / 1K] Search Kiwi.com for flights and travel itineraries. Get full outbound and return legs with every segment — airports, airlines, departure and arrival times, layovers, and total duration. Filter by stops, cabin class, baggage, and currency, with prices in your currency plus EUR.",
        "version": "1.0",
        "x-build-id": "BCG8ZoHqOc5P47GzQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~kiwi-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-kiwi-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/solidcode~kiwi-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-kiwi-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/solidcode~kiwi-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-kiwi-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",
                "properties": {
                    "origin": {
                        "title": "From",
                        "type": "string",
                        "description": "Where you're flying from — a city or airport name (e.g. 'Prague') or an IATA airport code (e.g. 'PRG')."
                    },
                    "destination": {
                        "title": "To",
                        "type": "string",
                        "description": "Where you're flying to — a city or airport name (e.g. 'New York') or an IATA airport code (e.g. 'JFK')."
                    },
                    "departureDate": {
                        "title": "Departure date",
                        "type": "string",
                        "description": "The day you want to depart, in YYYY-MM-DD format (e.g. '2026-07-15'). A departure date is required to search for flights."
                    },
                    "returnDate": {
                        "title": "Return date",
                        "type": "string",
                        "description": "The day you want to fly back, in YYYY-MM-DD format. Leave empty for a one-way trip."
                    },
                    "cabinClass": {
                        "title": "Cabin class",
                        "enum": [
                            "ECONOMY",
                            "PREMIUM_ECONOMY",
                            "BUSINESS",
                            "FIRST"
                        ],
                        "type": "string",
                        "description": "Which travel class to search for.",
                        "default": "ECONOMY"
                    },
                    "maxStops": {
                        "title": "Maximum stops",
                        "enum": [
                            "any",
                            "0",
                            "1",
                            "2"
                        ],
                        "type": "string",
                        "description": "Limit how many stops each itinerary can have.",
                        "default": "any"
                    },
                    "cabinBags": {
                        "title": "Cabin bags",
                        "enum": [
                            "0",
                            "1"
                        ],
                        "type": "string",
                        "description": "Number of cabin (carry-on) bags per passenger to include in the fare.",
                        "default": "0"
                    },
                    "checkedBags": {
                        "title": "Checked bags",
                        "enum": [
                            "0",
                            "1",
                            "2"
                        ],
                        "type": "string",
                        "description": "Number of checked bags per passenger to include in the fare.",
                        "default": "0"
                    },
                    "currency": {
                        "title": "Currency",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "CAD",
                            "AUD",
                            "NZD",
                            "CHF",
                            "JPY",
                            "CNY",
                            "HKD",
                            "SGD",
                            "TWD",
                            "KRW",
                            "INR",
                            "THB",
                            "MYR",
                            "IDR",
                            "PHP",
                            "BRL",
                            "MXN",
                            "CLP",
                            "COP",
                            "SEK",
                            "NOK",
                            "DKK",
                            "ISK",
                            "PLN",
                            "CZK",
                            "HUF",
                            "RON",
                            "RSD",
                            "UAH",
                            "TRY",
                            "ZAR",
                            "AED",
                            "SAR",
                            "QAR",
                            "KWD",
                            "BHD",
                            "OMR",
                            "JOD",
                            "ILS",
                            "AMD",
                            "KZT",
                            "UZS",
                            "KGS"
                        ],
                        "type": "string",
                        "description": "Currency for displayed prices. Prices are also always returned in EUR for comparison.",
                        "default": "EUR"
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many flight itineraries to return. Kiwi delivers results in pages of about 50, so a single search returns roughly 50 itineraries even if you ask for fewer. Set to 0 for as many as Kiwi returns.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
