Skip to content
Kokai
Language
Sections of this page
Open the app

How it works

Search flights with your trip dates and the nearest airports

Kokai doesn’t sell tickets or check prices: it searches its own list of 3,244 airports, offline, for the ones nearest your destination and for your departure airport, and builds the search link for seven websites (Google Flights, Skyscanner, Kayak, Momondo, eDreams, Trip.com and Aviasales) with the trip dates and travellers already filled in. Nothing leaves your device until you tap one.

Reviewed on 10 min read

In a nutshell

Where it is
The «Buscar vuelos» (“Search flights”) button in the trip’s «Resumen» (“Summary”), if the trip hasn’t ended, and in «Documentos» (“Documents”).
Airports
3,244, the ones with scheduled flights and an IATA code, from OurAirports (public domain). They’re built into the app.
Destination airports
Those less than 150 km from the destination placed on the map, up to four; small ones count as if they were twice as far away.
Websites
Seven: Google Flights, Skyscanner, Kayak, Momondo, eDreams, Trip.com and Aviasales. Return or one way.
What gets filled in
Departure and arrival airport, dates and travellers (1 to 9). Google Flights doesn’t accept travellers in the link.
What leaves your device
Nothing until you tap a link. Only if you type a city that isn’t on the list is it looked up in Nominatim to find its airports.
Price
Free. Kokai charges nothing and takes no commission, unless a link one day becomes an affiliate link, and then it says so.

What it does and what it doesn’t

Searching for a flight is nearly always the same: choose where you’re leaving from, where you’re going, the dates and how many of you are travelling, and repeat it on three or four websites to compare. Kokai already knows your trip’s destination, dates and travellers, so it saves you the repetitive part: it opens each search engine with all of that already typed in.

  • Yes: it finds the airports near the destination, remembers your departure airport on that device and opens seven search engines with the search done.
  • No: it doesn’t show prices, compare fares or schedules, buy tickets or alert you when a price drops. Each website does all that, under its own terms.
  • Afterwards: when you buy, add the ticket PDF in Documents. Kokai reads it on your device, without AI, and reminds you of the flight the day before.

Why links and not a search inside the app

Showing prices inside Kokai would need a flight API or reading other sites’ results pages. Checked on September 17, 2026, neither route works for an app that has no search server and doesn’t want your trip to go through one:

RouteWhat happens today
Amadeus for DevelopersIts self-service portal, the one that gave out free keys, “was decommissioned on July 17”: its website now only offers the enterprise portal.
Kiwi.com (Tequila)Its developer portal doesn’t let you in: it replies with a 403 error.
SkyscannerIts search APIs are for its commercial partners, with usage and design rules; what it does publish for anyone is the format of its links.
DuffelIt’s an API for selling tickets: it requires an account, and each booking is paid for. An app that sells nothing doesn’t need it.
Reading the results pagesIt goes against those websites’ terms, the browser prevents it (a web app can’t read pages from another domain) and it would mean sending your trip to a server to do it for you.

A link, on the other hand, needs nobody’s permission, works the same in the browser and on a phone, and sends nothing until you tap it. It’s the same thing Accommodation does with Booking.com or Airbnb.

The airport list, offline

Kokai includes the airport list from OurAirports, an open data project in the public domain. Of its more than 80,000 airfields, it keeps the ones you can buy a ticket for: large and medium airports, with scheduled flights and a three-letter IATA code. That’s 3,244.

What it keeps for each one
The IATA code, name, city, country, coordinates (to three decimal places, about 100 m), whether it’s large, and its other names (“Lisboa” and “Portela” for Lisbon, “Londres” for Heathrow).
How much space it takes
278 KB, 112 KB compressed. It only loads when you open the flight search, not when you open the app.
How it’s updated
With npm run aeropuertos, which downloads the list again and trims it. The one in the app is from September 17, 2026.

Names come in English, as OurAirports publishes them (“Lisbon Humberto Delgado Airport”); the country comes in the app’s language. The IATA code is what’s sent to each search engine, and it’s the same in every language.

The airports nearest the destination

If the trip’s destination is placed on the map, Kokai measures the straight-line distance from that point to each airport on the list and offers up to four less than 150 km away, with their distance. It picks the first one on its own.

A large airport 40 km away usually has more flights than a small one 15 km away, so when sorting, small airports count as if they were twice as far away. If there are none within 150 km, the nearest one is offered, wherever it is.

Destination placed in…What it offers, in order
LisbonLIS (6.6 km away) and CAT, Cascais (18.7 km away)
Vilafranca del PenedèsBCN, Barcelona (32 km away), REU, Reus (50 km away), GRO, Girona (108 km away) and ILD, Lleida (106 km away)
Ciutadella de MenorcaMAH, Menorca (36 km away) and PMI, Palma (106 km away)
KyotoITM, Osaka Itami (39 km away), UKB, Kobe (65 km away), KIX, Kansai (81 km away) and NGO, Chubu (96 km away)
Flores Island (Azores)FLW, Santa Cruz das Flores (6 km away)

The distance is in a straight line, not by road. Before choosing a distant airport, check how you get from it to the destination: sometimes the cheapest one is the one that costs most afterwards.

Where you’re leaving from

The «Desde dónde sales» (“Where you’re leaving from”) field searches by code, city or name, ignoring accents and capital letters. First comes the exact code (“MAD”), then cities or other names starting with what you typed (“Londres”, London in Spanish, gives Heathrow) and then airports with any word starting that way (“Humberto” gives Lisbon); when tied, large airports come first.

It searches by words, not fragments: “oporto” doesn’t find the Italian airports whose name contains “aeroporto”. If what you typed isn’t on the list (a city without an airport, or a name in another language such as “Oporto” or “Nueva York”), «Buscar aeropuertos cerca de «…»» (“Search for airports near “…””) appears: Kokai places that location on the map with Nominatim, as it does with the trip’s destination, and offers its nearby airports.

The departure airport is remembered on that device for the next trip. It isn’t copied to your account or to your other devices.

The seven websites and the format of each link

Each link was opened in Chromium on September 17, 2026, from Madrid to Lisbon, October 3 to 8, with 2 adults, return and one way, checking what each website filled in:

WebsiteFormatWhat it fills in
Google Flightsgoogle.com/travel/flights?q=… with the search written in English: Flights to LIS from MAD on 2026-10-03 through 2026-10-08Airports and dates. Not travellers: it searches for one person
Skyscannerskyscanner.net/g/referrals/v1/flights/day-view/ with origin, destination, outboundDate, inboundDate, adultsv2 and localeThe format is the one published in its documentation; its website doesn’t let an automated browser in and couldn’t be opened
Kayakkayak.es/flights/MAD-LIS/2026-10-03/2026-10-08/2adults (kayak.com in English)Airports, dates and travellers
Momondomomondo.es/flight-search/MAD-LIS/2026-10-03/2026-10-08/2adultsAirports, dates and travellers
eDreamsedreams.es/travel/#results/type=R;from=MAD;to=LIS;dep=…;ret=…;adults=2 (type=O and no ret for one way)Airports, dates and travellers
Trip.comes.trip.com/flights/showfarefirst with dcity, acity, ddate, rdate, triptype (rt or ow) and quantityAirports, dates and travellers
Aviasalesaviasales.com/search/MAD0310LIS08102: origin, outbound day and month, destination, return day and month, and travellersAirports, dates and travellers

Left out were Kiwi.com, which finds nothing with airport codes (it wants city names in its own language, such as madrid-espana), and Expedia, which doesn’t publish its link format and wouldn’t open either. Websites change their addresses without warning: if a link stops filling something in, write to us through the contact form.

Dates, return trips and travellers

  • «Ida» (“Outbound”) and «Vuelta» (“Return”) start with the trip dates, and you can change them without touching the trip: for example, to see whether coming back a day later is cheaper.
  • With «Solo ida» (“One way”) the return disappears. If the return is before the outbound date, no links are generated until you fix it.
  • «Viajeros» (“Travellers”) starts with the trip’s travellers. Search engines receive 1 to 9, all as adults: children and infants are adjusted on each website.
  • Without a departure or arrival airport, or with both the same, Kokai tells you what’s missing instead of showing broken links.

Affiliate links

Like the accommodation links, the flight links are ready for affiliate programmes, which pay a commission to whoever brings them a purchase without the price changing. They’re switched on when the app is built (VITE_AFILIADOS), with each programme’s parameters or with the link of a network that redirects. Kayak, Trip.com and Google share their configuration with the accommodation ones, because the programme is the same.

Today the app is published without affiliates. If a link ever is one, this appears below the list: «Algunos son enlaces de afiliado: si reservas desde ellos, Kokai puede recibir una comisión, sin que te cueste más.» (“Some are affiliate links: if you book through them, Kokai may receive a commission, at no extra cost to you.”)

What leaves your device

WhenWho receives itWhat
When you open «Buscar vuelos»NobodyThe airport list is built into the app, and the nearby ones are worked out on the device
When you tap «Buscar aeropuertos cerca de «…»»Nominatim, by the OpenStreetMap FoundationOnly the text you typed
When you tap a search engineThat websiteThe two airport codes, the dates, the travellers and the language, in the link’s address

The rest of the trip (places, plan, documents) doesn’t go in any link. What each website does with your search is set out in its terms and privacy policy. More in Your data.

Check it yourself

You don’t have to take any of this on trust: these are the steps to see it in the app with your own eyes.

  1. Open a trip with dates and with the destination placed on the map, and in the «Resumen» (“Summary”) tap «Buscar vuelos» (“Search flights”).
  2. In «Adónde vas» (“Where you’re going”) the airport nearest the destination is already selected, with the distance for each option.
  3. In «Desde dónde sales» (“Where you’re leaving from”), type Madrid and choose «MAD · Madrid». Then type Oporto: since it isn’t on the list, «Buscar aeropuertos cerca de «Oporto»» (“Search for airports near “Oporto””) appears.
  4. Look at the dates and travellers: they’re the trip’s. Switch to «Solo ida» (“One way”) and the return disappears.
  5. Tap «Kayak»: it opens in another tab with the airports, dates and travellers already filled in.
  6. Close and reopen «Buscar vuelos»: the departure airport is still selected on that device.

Open the app

Frequently asked questions

Does Kokai tell me which flight is cheapest?

No. It doesn’t check prices: it opens each search engine with your search done, and each website does the comparing. Opening two or three helps you see whether a price is good.

Why does Google Flights search for one person?

Because its address doesn’t accept the number of travellers: you change it on the page itself, at the top, next to “Round trip”. Google Flights prices are per person.

What if my city has no airport?

Type it in «Desde dónde sales» (“Where you’re leaving from”) and tap «Buscar aeropuertos cerca de…» (“Search for airports near…”): Kokai places it on the map and offers the airports less than 150 km away.

Does it work for flights with stopovers or multi-city trips?

It searches from one airport to another, return or one way; each website suggests stopovers. Multi-city trips, for now, are searched on the website.

Does it save the flight I buy?

No, because the purchase happens on the other website. Add the ticket PDF in «Documentos» (“Documents”): it’s read on your device, 15 airlines are recognised (Ryanair, Vueling, Iberia, TAP Air Portugal…), and you get the alert the day before.

Sources and references

The original documentation for what is cited here, checked on this page’s review date.

  1. Open data @ OurAirports OurAirports
  2. ourairports-data (Unlicense, public domain) David Megginson, on GitHub
  3. Referrals: examples (link format) Skyscanner Developers
  4. API usage guidelines Skyscanner Developers
  5. Notice of the self-service portal shutdown Amadeus for Developers
  6. Find plane tickets on Google Flights Google Help
  7. IATA airport code Wikipedia
  8. Nominatim Usage Policy OpenStreetMap Foundation

Keep reading

This page in Markdown, to read it with other programs