Kiwi Flights Scraper
Pricing
from $1.50 / 1,000 results
Kiwi Flights Scraper
[π° $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.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
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 β
bookingUrlis 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:
{"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:
{"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:
{"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.
{"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) orNYC(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
returnDateis what tells the actor to search one-way fares. - Bill locally, compare globally β set
currencyto your customer's local currency for quoting, and use the always-presentpriceEurfield as a stable baseline when comparing routes across markets. - Price in the bags you actually need β set
cabinBagsandcheckedBagsso 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
maxResultsis higher; run separate searches across dates to widen coverage. - Loosen stops to find cheaper routings β set
maxStopsto "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.