Recipes

Code Examples

JavaScript, Python, and cURL examples for the Direct Travel API.

Examples for the unified search, which returns one stay per property with a suppliers map across Booking.com, VRBO, Expedia, and Hotels.com in a single request.

# searches all suppliers at once — no provider required
curl -H "X-API-KEY: <API_KEY>" \
  "https://api.stay22.com/v2/accommodations?address=Paris"
# get <API_KEY> at hub.stay22.com — or omit the header for demo mode

Each result carries a suppliers.<name> map; suppliers.<name>.link is a Stay22 deeplink that carries your aid:

{
  "meta": { "page": 1, "pageSize": 10, "total": 29758, "hasMore": true, "currency": "USD" },
  "results": [
    {
      "id": "42f1014f...0000",
      "url": "https://www.stay22.com/allez/roam/...?aid=<AID>",
      "name": "Appartement aux portes de Paris",
      "suppliers": {
        "booking": { "id": "15711178", "link": "https://www.stay22.com/allez/booking/15711178?aid=<AID>" }
      }
    }
  ],
  "_links": { "next": "https://api.stay22.com/v2/accommodations?address=Paris&page=2" }
}

See Response & supplier model.

Paginate

To page through results, follow _links.next until it is absent (see Pagination).

async function* allStays(params) {
  let url = `https://api.stay22.com/v2/accommodations?${new URLSearchParams(params)}`;
  while (url) {
    const res = await fetch(url, { headers: { 'X-API-KEY': process.env.API22_API_KEY } });
    const { results, _links } = await res.json();
    yield* results;
    url = _links.next ?? null;
  }
}

Filter by supplier

curl -H "X-API-KEY: <API_KEY>" \
  "https://api.stay22.com/v2/accommodations?address=Paris&provider=booking"

Add dates for live prices

With checkin/checkout, each supplier gains a price (see Pricing & quotes):

import requests, os

res = requests.get(
    'https://api.stay22.com/v2/accommodations',
    headers={'X-API-KEY': os.getenv('API22_API_KEY')},
    params={'address': 'New York City', 'checkin': '2026-07-01', 'checkout': '2026-07-04'},
)
data = res.json()

Cluster a dense map viewport

curl -H "X-API-KEY: <API_KEY>" \
  "https://api.stay22.com/v2/accommodations?nelat=48.90&nelng=2.42&swlat=48.80&swlng=2.25&cluster=auto"

See Clustering.

On this page