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

Guide

Open Booking.com, Airbnb or Expedia with your dates already filled in

Many accommodation websites accept the destination, dates and travellers in the address of their own search page, so building that link is enough to open them with the search already done, with no API and no account. Kokai does it for nine websites; Expedia, Hotels.com and Vrbo need “City, Country”, Agoda fills in the search form without searching, and Google Hotels doesn’t accept travellers. The formats were checked on September 14, 2026 and may change without notice.

Reviewed on 9 min read

In a nutshell

Websites
Nine: Booking.com, Airbnb, Expedia, Hotels.com, Vrbo, Agoda, Trip.com, Kayak and Google Hotels.
How
A link to their search page with the destination, dates and travellers in the address. No API, no account and nothing sent until it’s opened.
Dates
In YYYY-MM-DD format everywhere, except Google Hotels, which understands them written out in the search.
What they don’t fill in
Agoda fills in the search form and you still have to tap “Search”. Google Hotels doesn’t accept the number of travellers.
Checked
On September 14, 2026, opening each link in Chromium with Lisbon, October 3 to 6, 2026 and 2 adults.
Left out
Hostelworld (returns a 404 without its city number) and Trivago (loses the dates). HomeToGo, not checked.
Affiliates
Optional, only if the app is built with them. When it has them, it says so next to the links.

Why a link and not an API

There are two ways to offer accommodation from another app: connect to the booking website to bring in prices and availability, or open its search page with the search already written. Kokai does the second, for three reasons:

  • The APIs aren’t open. According to its documentation, Booking.com’s API for showing its inventory (Demand API) requires being registered as a Managed Affiliate Partner. Airbnb’s API terms offer it within programmes aimed mainly at services for hosts, and Kokai hasn’t found an open way to search for accommodation from another app.
  • Privacy. Connecting would mean your trip’s dates and destination going through a third party every time you look at the screen. With a link, nothing leaves your device until you tap it.
  • It works for all of them. An address with parameters is what each website’s own search uses when you press “Search”, and it can be built for any of them without agreements.

What you lose: prices don’t reach the app. You see them on each website and, if you book, the confirmation PDF brings them back (see Booking PDFs).

Each website’s format

Whatever is in braces is replaced with the search details. The other parameters are fixed. The language is the app’s.

WebsiteAddress and parametersWhat it fills inCaveat
Booking.combooking.com/searchresults.html with ss, checkin, checkout, group_adults, no_rooms=1, group_children=0 and langDestination, dates, adultsIn English, lang=en-gb.
Airbnbairbnb.com/s/{destino}/homes with query, checkin, checkout, adults and localeDestination, dates, adultsThe destination goes in the path and is repeated in query.
Expediaexpedia.com/Hotel-Search with destination, startDate, endDate, adults and rooms=1Destination, dates, adultsNeeds “City, Country”.
Hotels.comhotels.com/Hotel-Search with the same parameters as ExpediaDestination, dates, adultsNeeds “City, Country”.
Vrbovrbo.com/search with destination, startDate, endDate and adultsDestination, dates, adultsNeeds “City, Country”.
Agodaagoda.com/ with textToSearch, checkIn, checkOut, los (nights), rooms=1 and adultsThe search formIt only searches with its city number: with text, you still have to tap “Search”.
Trip.comtrip.com/hotels/list with searchWord, checkin, checkout, adult, children=0 and crn=1Destination, dates, adultsNone.
Kayakkayak.com/hotels/{destino}/{entrada}/{salida}/{n}adults, all in the pathDestination, dates, adultsNo parameters after ?.
Google Hotelsgoogle.com/travel/search with q and hlDestination and datesThe dates are written inside q. Travellers can’t be set.

The nine links, for Lisbon from October 3 to 6

These are the links Kokai generates for Lisbon, with the country known (Portugal), check-in on October 3, 2026, check-out on the 6th (three nights), 2 travellers and the app in Spanish. They are the output of the same function the app uses, not written by hand.

In the parameters, a space is written + and a comma %2C. In the path (Airbnb and Kayak), a space is %20: “San Sebastián” becomes San%20Sebasti%C3%A1n. If you build these links in another program, let its URL library do the encoding.

Expedia, Hotels.com and Vrbo: “City, Country”

The three Expedia Group websites interpret the destination in their own way, and with just the city name they can pick the wrong place: during testing, “Lisboa” on its own ended up in Wales. With “Lisboa, Portugal” they find the right city.

That’s why Kokai adds the country on those three websites, and only on them, when all of the following are true:

  • the trip’s destination is placed on the map and its name ends in a country (“Lisboa · Sintra, Portugal”);
  • the search term doesn’t already contain a comma (“Oporto, Portugal” is left as it is);
  • and it isn’t the country itself (searching “Portugal” doesn’t give “Portugal, Portugal”).

If the destination isn’t placed, the link goes without a country: check the destination on the website before looking at results.

Agoda and Google Hotels, halfway there

Agoda only runs the search with its internal city number. With the name, it opens its page with the destination, dates, nights (los) and adults in the form, and you still have to tap “Search”.

Google Hotels doesn’t read dates from separate parameters, but it does understand them written into the search, the way a person would type them. Kokai writes them according to the language:

App languageSearch sent in q
Spanishhoteles en Lisboa del 3 al 6 de octubre de 2026
Spanish, across two monthshoteles en Lisboa del 29 de septiembre al 6 de octubre de 2026
Englishhotels in Lisboa from October 3, 2026 to October 6, 2026
Catalanhotels a Lisboa del 3 al 6 d’octubre del 2026

The number of travellers isn’t understood when written this way, so it isn’t sent. Choose it on Google’s page after opening it.

The ones that were tested and left out

WebsiteWhat happened
HostelworldIts search needs its city number: with the name, the link returns a 404 error.
TrivagoIt opens the search, but loses the dates.
HomeToGoNot checked.

A website only makes the list if, when the link is opened, it fills in what it promises.

How it was checked, and why it may stop working

On September 14, 2026 each link was opened in Chromium with Lisbon, October 3 to 6 and 2 adults, and we looked at what each website filled in: the destination, both dates and the travellers.

None of these websites publishes these parameters as something stable: they belong to their own search and may change without notice. To check one today:

  1. Copy the example link and open it in a private window, so a previous search doesn’t interfere.
  2. See whether the destination is the one you expected (with Expedia, that it isn’t Wales) and whether the dates and travellers are filled in.
  3. If something is missing, do the search by hand on that website and compare the address it leaves you with the one in the example.

Affiliate links

An affiliate link is the same link with a tag from whoever shares it, so the website pays them a commission if you book. It doesn’t cost you any more. Kokai is ready to carry them, but only if the app is built with them: without that setting, the links are exactly the ones above.

They’re configured in VITE_AFILIADOS, a JSON with one entry per website, in one of two ways:

  • Parameters added to the link, the ones the programme gives you when you sign up. The expected ones are aid and label for Booking.com, Allianceid and SID for Trip.com and a for Kayak; confirm them with each programme.
  • A wrapper: the address of an affiliate network that redirects to the website (Awin, Partnerize or Travelpayouts work this way), with {url} where the encoded link goes. It has to start with https://.

Badly written JSON, or a wrapper without {url} or that isn’t https, is ignored: the links come out without an affiliate tag, never broken. And when any of them carries one, the app says so next to them: «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”).

Each programme has its own terms, and almost all of them require a notice next to the link. Expedia Group (Expedia, Hotels.com, Vrbo) provides its programme’s links through its own tool. For now Kokai hasn’t decided to use affiliates.

Where they are in Kokai

On each trip’s Accommodation screen («Alojamiento»): on every «Falta alojamiento para…» (“Accommodation missing for…”) card, with those nights already set, and on the «Buscar en otras webs» (“Search other websites”) button, which starts with the first nights without accommodation. An undecided option has «Ver precios en otras webs» (“See prices on other websites”), which searches by its name.

  • «Dónde buscar» (“Where to search”) starts with the first part of the destination. With “Lisboa y Sintra”, each part appears as a shortcut.
  • «Entrada» (“Check-in”), «Salida» (“Check-out”) and «Viajeros» (“Travellers”) can be changed before opening anything. Check-out has to be at least one day later.
  • Links open in the browser. Nothing leaves your device until you tap one.

When you book, add the confirmation PDF with «Desde el PDF de la reserva» (“From the booking PDF”): the dates, price and cancellation are read automatically, on your device.

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 go to «Alojamiento» (“Accommodation”; on your phone, inside «Más», “More”).
  2. Tap «Buscar en otras webs» (“Search other websites”). Change «Dónde buscar» (“Where to search”), «Entrada» (“Check-in”), «Salida» (“Check-out”) or «Viajeros» (“Travellers”).
  3. Tap «Expedia»: the search opens with “City, Country” if the trip’s destination is placed on the map.
  4. Tap «Agoda» and notice that the form is filled in, but you still have to press its “Search”.

Open the app

Frequently asked questions

Why can’t I see prices inside Kokai?

Because Kokai doesn’t connect to booking websites: it only opens their search. Prices are shown on each website, and if you book, the confirmation PDF brings the price into the app.

Can I use these links without Kokai?

Yes. Change the destination, dates (YYYY-MM-DD) and travellers in the examples and open them in your browser. As long as each website doesn’t change its format, they work just the same.

Why did Expedia take me to another city?

Because it interprets the name in its own way. Write the destination as “City, Country” (“Lisboa, Portugal”). Kokai does it automatically if the trip’s destination is placed on the map.

Does Kokai get a commission if I book?

Only if the version you use was built with affiliate links, and then it says so next to the links. If that sentence doesn’t appear, no.

Is anything sent to those websites before I tap a link?

No. The link is built on your device; the website receives the destination, dates and travellers only when you open it.

Sources and references

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

  1. Demand API: prerequisites for trying out the API Booking.com for Developers
  2. API Terms of Service Airbnb Help Center
  3. Trip.com Affiliate Program Trip.com
  4. Travel Creator Program (Expedia, Hotels.com, Vrbo) Expedia Group
  5. KAYAK Affiliate Network KAYAK
  6. Search for hotels on Google Google Travel Help
  7. URLSearchParams MDN Web Docs
  8. URL Standard: application/x-www-form-urlencoded WHATWG

Keep reading

This page in Markdown, to read it with other programs