Introduction
StayingAPI documentation
One accommodation data API for availability, search and cross-OTA price comparison across Airbnb, Booking.com, Vrbo and Google Hotels — one unified schema, REST + MCP, built for developers and AI agents.
Live vs sandbox — read this first
The sandbox and live share one schema and envelope, but they do not behave identically on the wire. Build against a stay_test_ key, then design for these live differences before you switch to stay_live_:
- Live is asynchronous. Sandbox calls and live cache hits return
200synchronously. A live call that has to scrape returns202with adata.jobId; you pollGET /v1/jobs/{jobId}(free) until it completes, then read the payload fromdata.result— notdata. - Timing is real. A job usually finishes in tens of seconds but can run several minutes (240s+). Budget your polling wait accordingly.
- Use the SDK to feel synchronous. The
@stayingapi/sdkauto-polls a202to completion and returns the finished{ data, meta }for you (raise itsmaxWaitMsfor long live jobs). - Embedded prices are best-effort. A dated search or listing price can be
nullon a scrape miss even though the call still bills; use /v1/price for a guaranteed quote. - IDs are platform-native.
platformListingIdis numeric on Airbnb/Vrbo and a slug string (e.g.luxury-rooms-split) on Booking.com/Google — never assume numeric. - Cursor pagination applies to synchronous results. On an async-returned job,
meta.paginationisnull(see pagination & jobs). - Cache hits still bill at the full endpoint tier, and live credits unlock after email verification.
One unified schema
Airbnb, Booking.com, Vrbo and Google Hotels normalize to the same Property, Price, Availability and Review shapes — code once, query every platform.
Failed calls are free
Failed, empty, blocked and not-found calls are never billed. You only pay for data actually delivered — reliability, at the billing layer.
REST + native MCP
The same capabilities as seven REST endpoints and seven read-only MCP tools, so agents are a first-class, day-one audience.
See it — no sign-up
This is the flagship /v1/price-compare endpoint running against the deterministic sandbox: a real cross-OTA comparison with StayingAPI-computed min and median. Zero credits, no key required.
/v1/price-compareRuns against the deterministic Google Hotels sandbox fixture — a real 200, zero credits.
Run the call to see a live, deterministic sandbox response.
curl -sS "https://api.stayingapi.com/v1/price-compare" \
-H "Authorization: Bearer $STAYINGAPI_KEY"Explore the docs
Getting started
Core concepts
Endpoints
Tools & SDKs
Base URLs
https://api.stayingapi.com/v1; the MCP server at https://mcp.stayingapi.com. Every response is application/json; charset=utf-8, camelCase, HTTPS only.Ready to build?
Get a free key — 300 credits, no credit card. Sandbox keys work instantly; live credits unlock after a one-click email verification.
Get your free key