Airbnb Availability & Occupancy — 12-Month Calendar
Pricing
Pay per usage
Airbnb Availability & Occupancy — 12-Month Calendar
Day-level availability and occupancy rates for any Airbnb listing, up to 12 months ahead. Built for revenue management and market research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Trần Chính
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Name a city, or pass listing URLs or IDs, and get back day-level availability for the next 12 months, plus the occupancy numbers you would otherwise have to compute yourself.
Measured: 4 listings, 365 days each, in 3 seconds — one request per listing.
What you get
{"listing_id": "29754402","listing_url": "https://www.airbnb.com/rooms/29754402","scraped_at": "2026-09-15","days_covered": 365,"days_unavailable": 138,"days_available": 227,"occupancy_rate": 37.8,"occupancy_next_30d": 63.3,"occupancy_next_90d": 48.9,"min_nights_typical": 2,"price_avg": 184.50,"currency": "USD","calendar": [{"date": "2026-10-01", "available": true, "bookable": true,"available_for_checkin": true, "available_for_checkout": false,"min_nights": 2, "max_nights": 1125, "price": null}]}
Turn off Include the day-by-day calendar if you only want the summary row — much smaller datasets when you are scanning a whole market.
Use it for
- Revenue management — see how booked up your competitors are before you set next month's rates
- Market research — average occupancy for a city, neighbourhood or property type
- Investment screening — compare demand across areas before buying
- Seasonality analysis — a full year of forward availability in one pull
What "occupancy" means here, precisely
A day that is unavailable may be booked, or it may be blocked by the host.
Airbnb does not distinguish the two anywhere in its public data, and no scraper
can. So occupancy_rate measures unavailability, which is the standard
industry proxy for occupancy — not a confirmed booking count. Any tool claiming
otherwise is guessing.
occupancy_next_30d and occupancy_next_90d are usually the more useful
figures: far-future months look empty simply because nobody has booked them yet.
Pairs with
- Airbnb Scraper — find listings in a city, feed the IDs in here
- Airbnb Listing Detail — amenities and category ratings
- Airbnb Reviews — full review text
Two ways to use it
Just name a city. Leave Airbnb listings empty, type a location, and the Actor finds the listings itself — nothing to look up first.
{"location": "Lisbon, Portugal", "maxListings": 50}
Or pass listings you already have. Paste room URLs or IDs, for example the
listing_id column from Airbnb Scraper.
{"listings": ["https://www.airbnb.com/rooms/29754402", "1427417218567220620"]}
Input
{"listings": ["https://www.airbnb.com/rooms/29754402"],"months": 12,"includeDailyCalendar": true}
Reliability
- Retries with exponential backoff on network errors
- A listing with no calendar is reported and never charged
- If every listing fails, the run fails loudly instead of returning an empty dataset
Pricing
Pay per listing calendar returned — up to 12 months in that one charge.
FAQ
Why is price often empty?
Airbnb only exposes nightly prices in the calendar for some listings. Use the
Airbnb Scraper for reliable pricing.
Can I go further than 12 months? No — Airbnb's calendar itself stops there.
Is this legal? It reads publicly visible availability only. No personal data, no logged-in pages. How you use the data is your responsibility.