Vacation Rental Calendar & Occupancy (Airbnb listings)
Pricing
Pay per event
Vacation Rental Calendar & Occupancy (Airbnb listings)
Airbnb occupancy & availability scraper: day-by-day calendar, min nights and monthly occupancy % for many listings per run. STR market data, $0.06 per listing-month.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Bogdan Glisici
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Airbnb occupancy and availability scraper for STR market data. Paste any number of Airbnb listing URLs. You get each listing's vacation rental calendar day by day (available or blocked, check-in and check-out rules, minimum and maximum nights) and a monthly occupancy % that's ready to use. No login, no coding, export to Excel, CSV, JSON or Google Sheets.
Keywords: airbnb occupancy, airbnb calendar scraper, vacation rental calendar, availability scraper, STR market data, short-term rental occupancy rate, booked nights, minimum stay.
Who it's for
- Short-term-rental investors checking how busy comparable listings are before buying.
- Hosts and property managers tracking competitors' occupancy and minimum-stay rules.
- Analysts building market dashboards (Google Sheets, Make, Zapier, API).
Why this actor
| This actor | Typical calendar scrapers | |
|---|---|---|
| Listings per run | Unlimited list of URLs or IDs | Often one URL per run |
| Monthly occupancy % | ✅ Computed for you | ❌ You calculate it |
| Past days of the current month | Excluded by default, so they don't inflate occupancy | Usually counted as "unavailable" |
| Months beyond the host's booking window | Flagged likelyOutsideBookingWindow | Reported as 100% "booked" |
| Bad / deleted listings | Clear error row, and the run continues | Run fails or returns nothing |
| Summary-only mode | ✅ (outputDays: false) | ❌ |
Use cases
- STR investment due diligence: check real booked-night patterns of 10–50 comparable listings before buying a property.
- Competitor tracking for hosts: see how fast competitors fill weekends and holidays, and how they set minimum stays.
- Revenue management: schedule weekly runs and watch booking pace (
availableNightsfalling over time). - Market research and dashboards: feed monthly occupancy into Google Sheets, Looker Studio or BI tools.
- Property managers: prospect for owners whose listings show low occupancy.
Input
{"listings": ["https://www.airbnb.com/rooms/45156004", "12440509"],"monthsAhead": 3,"outputDays": true,"includePastDays": false,"currency": "USD","maxConcurrency": 2,"proxyConfiguration": { "useApifyProxy": true }}
Output
Each row has a type field: day, month or error. Use the dataset views Daily calendar, Monthly occupancy and Errors.
Month row
{"type":"month","listingId":"45156004","month":"2026-11","daysCounted":30,"availableNights":15,"blockedNights":15,"occupancyPct":50.0,"avgMinNights":2.0}
Day row
{"type":"day","listingId":"12440509","date":"2026-11-06","available":true,"availableForCheckin":true,"availableForCheckout":true,"minNights":1,"maxNights":1125}
Example output (monthly summary)
| listingId | month | daysCounted | availableNights | blockedNights | occupancyPct | avgMinNights |
|---|---|---|---|---|---|---|
| 45156004 | 2026-10 | 20 | 4 | 16 | 80.0 | 1.9 |
| 45156004 | 2026-11 | 30 | 15 | 15 | 50.0 | 2.0 |
| 12440509 | 2026-11 | 30 | 18 | 12 | 40.0 | 1.0 |
| 12440509 | 2026-12 | 31 | 12 | 19 | 61.3 | 1.4 |
Real results from a test run on listings in Brașov, Romania, on 12 Oct 2026.
FAQ
Can I scrape Airbnb occupancy for a whole city? Paste the listing URLs (for example from a search page). A city-level estimator is coming soon. Is an account or Airbnb login needed? No. Only public calendar data is used. How fresh is the data? Live at run time. Schedule it daily or weekly for history.
Important: what "occupancy" means
Airbnb's public calendar shows whether a night is blocked. It does not say whether a guest booked it or the host blocked it. occupancyPct = blocked nights ÷ nights counted. Treat it as an upper-bound estimate of real bookings. It is most reliable for active listings over the next 1 to 3 months.
Pricing
Pay per event: $0.06 per listing-month. That covers all day rows and the summary for that month. A 3-month check of one listing costs $0.18. Errors are not charged.
Tips
- For large runs (hundreds of listings), use Apify Residential proxy and keep
maxConcurrencyat 2 to 3. - Schedule a weekly run and compare
availableNightsto see booking pace.
Limitations
- Nightly prices are not included in v0.1. Airbnb no longer exposes prices in the public calendar response.
- If Airbnb changes its internal calendar query, the actor reports a clear error until it is updated.
Airbnb is a trademark of Airbnb, Inc. This tool is independent and not affiliated with Airbnb.