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.
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.
| Website | Address and parameters | What it fills in | Caveat |
|---|---|---|---|
| Booking.com | booking.com/searchresults.html with ss, checkin, checkout, group_adults, no_rooms=1, group_children=0 and lang | Destination, dates, adults | In English, lang=en-gb. |
| Airbnb | airbnb.com/s/{destino}/homes with query, checkin, checkout, adults and locale | Destination, dates, adults | The destination goes in the path and is repeated in query. |
| Expedia | expedia.com/Hotel-Search with destination, startDate, endDate, adults and rooms=1 | Destination, dates, adults | Needs “City, Country”. |
| Hotels.com | hotels.com/Hotel-Search with the same parameters as Expedia | Destination, dates, adults | Needs “City, Country”. |
| Vrbo | vrbo.com/search with destination, startDate, endDate and adults | Destination, dates, adults | Needs “City, Country”. |
| Agoda | agoda.com/ with textToSearch, checkIn, checkOut, los (nights), rooms=1 and adults | The search form | It only searches with its city number: with text, you still have to tap “Search”. |
| Trip.com | trip.com/hotels/list with searchWord, checkin, checkout, adult, children=0 and crn=1 | Destination, dates, adults | None. |
| Kayak | kayak.com/hotels/{destino}/{entrada}/{salida}/{n}adults, all in the path | Destination, dates, adults | No parameters after ?. |
| Google Hotels | google.com/travel/search with q and hl | Destination and dates | The 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 language | Search sent in q |
|---|---|
| Spanish | hoteles en Lisboa del 3 al 6 de octubre de 2026 |
| Spanish, across two months | hoteles en Lisboa del 29 de septiembre al 6 de octubre de 2026 |
| English | hotels in Lisboa from October 3, 2026 to October 6, 2026 |
| Catalan | hotels 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
| Website | What happened |
|---|---|
| Hostelworld | Its search needs its city number: with the name, the link returns a 404 error. |
| Trivago | It opens the search, but loses the dates. |
| HomeToGo | Not 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:
- Copy the example link and open it in a private window, so a previous search doesn’t interfere.
- 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.
- 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
aidandlabelfor Booking.com,AllianceidandSIDfor Trip.com andafor 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 withhttps://.
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.
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.
- Demand API: prerequisites for trying out the API Booking.com for Developers
- API Terms of Service Airbnb Help Center
- Trip.com Affiliate Program Trip.com
- Travel Creator Program (Expedia, Hotels.com, Vrbo) Expedia Group
- KAYAK Affiliate Network KAYAK
- Search for hotels on Google Google Travel Help
- URLSearchParams MDN Web Docs
- URL Standard: application/x-www-form-urlencoded WHATWG
Keep reading
- AccommodationHow Kokai organises accommodation by night: bookings, undecided options, gaps, double bookings, free cancellation alerts and the hotel address offline.
- Booking PDFsWhat Kokai reads from a booking confirmation PDF offline without AI: 65 brands, 8 classes, labels in 7 languages, dates, price, cancellation and an example.
- Plan a tripA five-night trip to Lisbon and Sintra planned from start to finish: places, accommodation, a timed plan, documents, packing list, alerts and On the road mode.
- GuidesPractical guides with examples: plan a trip step by step, which documents to carry offline, read PDF bookings and search for stays with dates.
- GlossaryTravel glossary: what a geofence, a stay, a booking reference, GPS hysteresis or PMTiles is. 35 travel and map terms, with the figures Kokai uses.