# 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.

- Address: https://kokai.app/en/buscar-alojamiento/
- Reviewed on: 2026-09-17
- Language: en

## 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](https://kokai.app/en/pdf-de-reservas/)).

## 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.

### Example: Lisbon, October 3–6, 2026, 2 adults

**Booking.com**

```
https://www.booking.com/searchresults.html?ss=Lisboa&checkin=2026-10-03&checkout=2026-10-06&group_adults=2&no_rooms=1&group_children=0&lang=es
```

**Airbnb**

```
https://www.airbnb.com/s/Lisboa/homes?query=Lisboa&checkin=2026-10-03&checkout=2026-10-06&adults=2&locale=es
```

**Expedia** (with “Lisboa, Portugal”)

```
https://www.expedia.com/Hotel-Search?destination=Lisboa%2C+Portugal&startDate=2026-10-03&endDate=2026-10-06&adults=2&rooms=1
```

**Hotels.com**

```
https://www.hotels.com/Hotel-Search?destination=Lisboa%2C+Portugal&startDate=2026-10-03&endDate=2026-10-06&adults=2&rooms=1
```

**Vrbo**

```
https://www.vrbo.com/search?destination=Lisboa%2C+Portugal&startDate=2026-10-03&endDate=2026-10-06&adults=2
```

**Agoda** (`los=3`: three nights)

```
https://www.agoda.com/?textToSearch=Lisboa&checkIn=2026-10-03&checkOut=2026-10-06&los=3&rooms=1&adults=2
```

**Trip.com**

```
https://www.trip.com/hotels/list?searchWord=Lisboa&checkin=2026-10-03&checkout=2026-10-06&adult=2&children=0&crn=1
```

**Kayak**

```
https://www.kayak.com/hotels/Lisboa/2026-10-03/2026-10-06/2adults
```

**Google Hotels** (the search is “hoteles en Lisboa del 3 al 6 de octubre de 2026”, that is, “hotels in Lisbon from October 3 to 6, 2026”)

```
https://www.google.com/travel/search?q=hoteles+en+Lisboa+del+3+al+6+de+octubre+de+2026&hl=es
```

> 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:

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://`.

### Example: A made-up configuration

```
{"booking": {"parametros": {"aid": "123456", "label": "ejemplo"}}, "airbnb": {"envoltorio": "https://red.example/r?u={url}"}}
```

With it, the Booking.com link for Lisbon ends like this:

```
...&group_children=0&lang=es&aid=123456&label=ejemplo
```

And the Airbnb one becomes the network’s link, with Airbnb’s inside it:

```
https://red.example/r?u=https%3A%2F%2Fwww.airbnb.com%2Fs%2FLisboa%2Fhomes%3Fquery%3DLisboa%26checkin%3D2026-10-03%26checkout%3D2026-10-06%26adults%3D2%26locale%3Des
```

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](https://kokai.app/en/alojamiento/#buscar-en-otras-webs) 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

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”.

## 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

- [Demand API: prerequisites for trying out the API](https://developers.booking.com/demand/docs/getting-started/try-out-the-api) — Booking.com for Developers
- [API Terms of Service](https://www.airbnb.com/help/article/3418) — Airbnb Help Center
- [Trip.com Affiliate Program](https://www.trip.com/partners/index) — Trip.com
- [Travel Creator Program (Expedia, Hotels.com, Vrbo)](https://creator.expediagroup.com/) — Expedia Group
- [KAYAK Affiliate Network](https://affiliates.kayak.com/) — KAYAK
- [Search for hotels on Google](https://support.google.com/travel/answer/6276008?hl=en) — Google Travel Help
- [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) — MDN Web Docs
- [URL Standard: application/x-www-form-urlencoded](https://url.spec.whatwg.org/#application/x-www-form-urlencoded) — WHATWG

