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.
Unified search
# 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 modeEach 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.