Airbnb API
Stay search with the complete price-item ledger — cleaning and service fees itemised, not hidden behind a nightly rate — plus listing detail and full review bodies. Each a single POST returning structured JSON. Airbnb publishes no API of its own.
50 free credits on signup. No card, nothing to apply for.
{ "data": { "url": "https://www.airbnb.com/s/Austin--TX/homes?checkin=2026-09-08&checkout=2026-09-13", "location": "Austin, TX", "resolved_location": "Austin, TX", "city": "Austin", "state": "Texas", "country": "United States", "place_precision": "city", "coordinates": { "latitude": 30.267152999999997, "longitude": -97.7430608 }, "map_bounds": { "northeast": { "latitude": 30.322557407579666, "longitude": -97.69750775700834 } } }, "response_time": 2540, "credits_used": 1, "credits_remaining": 4714}Live call against the real endpoint — 3 free runs, then it's your own key.
What is the Scavio Airbnb API?
The Scavio Airbnb API is a REST API that returns public Airbnb data as structured JSON. You send a location with check-in and check-out dates, or a listing id, to one of 3 POST endpoints with your API key, and get back stays with stay-total and per-night pricing plus the full fee ledger, listing detail with property type and capacity, or complete review bodies.
- 3
- endpoints, all live in production
- 1
- credit per call, every endpoint
- 0
- public Airbnb APIs to apply for
Three endpoints, the price you actually pay
Search itemises the cost, listing describes the place, reviews say what it is really like.
Stay search
POST /api/v1/airbnb/searchStay-total and per-night price with the complete price-item ledger — cleaning and service fees itemised, which is where the gap between advertised and actual lives.
Listing detail
POST /api/v1/airbnb/listingDescription, property and room type, capacity and room counts — the attributes you need to compare like with like rather than by headline price.
Reviews
POST /api/v1/airbnb/reviewsFull comment bodies with per-review rating and language, not a summary score. Airbnb ratings cluster near five, so the text is where the signal is.
All 3 Airbnb endpoints
Every route is a POST, returns JSON, and takes the same API key. 1 credit per successful call.
| Endpoint | Returns | Credits |
|---|---|---|
Stay search/api/v1/airbnb/search | Stay-total and per-night price with the full price-item ledger, rating | 1 |
Listing detail/api/v1/airbnb/listing | Description, property and room type, capacity, room counts | 1 |
Reviews/api/v1/airbnb/reviews | Full comment bodies, per-review rating, language | 1 |
50 free credits on signup covers 50 calls of any kind. See plans
The total, not the nightly rate
Search returns a stay total and the itemised ledger behind it. The response on the right is a real capture, field names and all.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.airbnb.search(
location="Austin, TX",
checkin="2026-09-08",
checkout="2026-09-13",
)
print(res["data"]["resolved_location"], res["data"]["coordinates"])
# The ledger is where cleaning and service fees hide
for s in res["data"]["stays"]:
print(s["price"]["total"], s["price"]["items"]){
"data": {
"url": "https://www.airbnb.com/s/Austin--TX/homes?checkin=2026-09-08&checkout=2026-09-13",
"location": "Austin, TX",
"resolved_location": "Austin, TX",
"city": "Austin",
"state": "Texas",
"country": "United States",
"place_precision": "city",
"coordinates": {
"latitude": 30.267152999999997,
"longitude": -97.7430608
},
"map_bounds": {
"northeast": {
"latitude": 30.322557407579666,
"longitude": -97.69750775700834
}
}
},
"response_time": 2540,
"credits_used": 1,
"credits_remaining": 4714
}Why not go direct?
There is no first-party option here. Airbnb publishes no public API, so the alternative is building it.
Building it yourself
- Airbnb has no public developer API; partner access is for property-management software only
- Prices are stay-dependent, so every query is a fresh render rather than a cached document
- The fee ledger is assembled client-side, which is what makes naive scrapes report the wrong total
- Aggressive bot detection makes self-scraping unreliable at any useful volume
Scavio Airbnb API
- One API key, issued at signup — nothing to apply for
- Stay-total and per-night price with the fee ledger already itemised
- Full review bodies rather than a rating that clusters near five
- Same key and JSON envelope as 30 other Scavio platforms
Read-only search. Scavio does not book stays or process payments.
What developers build with it
True-cost price comparison
Airbnb's nightly rate is not what a guest pays. The price-item ledger itemises cleaning and service fees, so you can compare an Airbnb stay against a hotel on total cost rather than on the number in the search card.
searchShort-term rental market analysis
Track supply, price bands and property types across a city and watch them move by season or around an event. Coordinates and map bounds let you slice by neighbourhood.
search + listingRevenue management for hosts
Price your own listing against genuinely comparable properties — same room type, same capacity — rather than against whatever the search page happens to show first.
search + listingGuest sentiment analysis
Airbnb ratings cluster near five, so averages tell you almost nothing. Full review bodies run through an LLM surface the cleanliness and check-in complaints the score hides.
reviewsRegulatory and compliance research
Cities restricting short-term rentals need to know what is actually listed. Search plus listing detail gives supply by property type and capacity, with coordinates attached.
search + listingHow to get Airbnb data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Airbnb partner relationship — there is no public API to apply to.
- 2
POST a location and stay dates
Send {"location": "Austin, TX", "checkin": "2026-09-08", "checkout": "2026-09-13"} to https://api.scavio.dev/api/v1/airbnb/search. Prices are per stay, so the dates change the answer.
- 3
Read the price ledger, not the headline
The response wraps the payload under data and echoes the resolved location, coordinates and map bounds. Each stay carries a stay-total and per-night price plus the full price-item ledger, which is where cleaning and service fees appear.
Airbnb API FAQ
What is the Scavio Airbnb API?
+
It is a REST API that returns public Airbnb data as structured JSON. Three POST endpoints cover stay search with the full price ledger, listing detail with property type and capacity, and full review bodies. You authenticate with a Scavio API key.
Who are these endpoints for?
+
Short-term rental analysts and revenue managers; hosts pricing against a real comp set; developers building travel or property features; AI agent builders wiring Airbnb in as an MCP or SDK tool; automation engineers running market scans inside n8n, Zapier or Make; and cities researching rental supply. Same API for all of them.
Does Airbnb have a public API?
+
No. Airbnb has no public developer API — its partner integrations are limited to approved property-management software under commercial agreement. For reading public listings and prices there is no first-party option at all.
Why does the price ledger matter?
+
Because the nightly rate on an Airbnb search card is not what you pay. Cleaning fees, service fees and taxes are added later, and they vary enormously between listings. The ledger itemises them, which is the only way to compare stays or compare against a hotel honestly.
How much does an Airbnb request cost?
+
Every Airbnb endpoint costs 1 credit. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
Do I get full review text or just ratings?
+
Full comment bodies, with a per-review rating and detected language. That matters more here than on most platforms because Airbnb ratings cluster tightly near five, so the average carries very little information and the text carries almost all of it.
Can I book a stay through it?
+
No. These are read-only search endpoints returning what Airbnb displays publicly. Booking requires an account and a checkout flow, which is a different kind of integration.
What does the response look like?
+
The API wraps the payload under a data key and adds credits_used and credits_remaining. A search echoes location, resolved_location, city, state, country, place_precision, coordinates and a map_bounds box, alongside the stays themselves.
Which languages and tools are supported?
+
Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client.
Is scraping Airbnb data legal?
+
Scavio returns publicly available listing and review data and does not authenticate as a user or make bookings. You remain responsible for how you use the data, including compliance with Airbnb's terms and with privacy law where reviewer names are involved. Talk to your own counsel for your specific use case.
Explore more of Scavio
Booking.com API
Property search, rate plans and reviews.
Google Hotels API
Properties and vendor rates.
Zillow API
Listings, price history and Zestimates.
Tripadvisor API
Places, ratings and full reviews.
MCP server
Every platform as a callable tool for agents.
Pricing
Credit packs and plans, no per-platform surcharge.
Start pulling Airbnb data today
50 free credits on signup, no card. Your first request is a POST with a city and dates.