Skip to content

Full stay lookup

This recipe shows how to grab a complete Stay row in a single request.

The call

Terminal window
curl https://api.stayingapi.com/v1/stays/1135700964697993602 \
-H "Authorization: Bearer sk_live_..."
import httpx
stay = httpx.get(
"https://api.stayingapi.com/v1/stays/1135700964697993602",
headers={"Authorization": "Bearer sk_live_..."},
timeout=30,
).json()["data"]
print(stay["title"])
print(stay["pricing"]["price"], stay["pricing"]["currency"])
print(f"{len(stay['photos'])} photos, {len(stay['reviews'])} reviews")

Output

The response includes every key from the canonical Stay shape. Heavy sub-resources (reviews, availability) are inlined, capped at sensible defaults (50 most-recent reviews, ~365 days of availability).

{
"data": {
"id": "1135700964697993602",
"url": "https://airbnb.com/rooms/1135700964697993602",
"title": "Beachfront flat in Estoril",
"property_type": "Apartment",
"room_type": "Entire home",
"person_capacity": 4,
"star_rating": 4.92,
"reviews_count": 117,
"location": { "latitude": 38.71, "longitude": -9.40, "address": "Cascais, Portugal", "city": "Cascais", "country": "Portugal" },
"host": { "id": "host_xyz", "name": "Maria", "is_superhost": true, "rating": 4.96 },
"pricing": { "price": 184, "currency": "USD", "rate_type": "per_night" },
"photos": [{ "url": "https://...", "caption": null }, /* ... */],
"reviews": [/* up to 50 most-recent */],
"amenities": [{ "category": "Bathroom", "items": ["Hair dryer", "Shampoo"] }],
"availability": [/* per-date rows */]
}
}

Slim the response

If you only need a subset, use fields=:

Terminal window
curl "https://api.stayingapi.com/v1/stays/1135700964697993602?fields=id,title,pricing,host.is_superhost" \
-H "Authorization: Bearer sk_live_..."

Next