Airbnb Calendar Availability Scraper — Listing Calendar
Pricing
from $2.80 / 1,000 calendar days
Airbnb Calendar Availability Scraper — Listing Calendar
Scrape Airbnb listing calendars day by day: available, bookable, check-in/out and min nights. Input room URLs or IDs plus a date range; one Dataset row per night. For occupancy pipelines and availability research — not a city search.
Pricing
from $2.80 / 1,000 calendar days
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
13 days ago
Last modified
Categories
Share
Airbnb Calendar / Availability API — Day-by-Day Listing Calendar
Airbnb calendar scraper / availability API: get day-by-day availability for one or many listings. Input URLs or IDs + date range → one Dataset row per day.
Built for hosts, revenue managers and STR tools that already have listing IDs — not a city search scraper (that niche is crowded). This Actor focuses on calendar depth.
Scope: Availability calendar only. Does not search Airbnb by city. Max 50 listings / run and 366 days per listing in v0.1.
Why this Actor: Per-day rows · URLs or numeric IDs · Currency / locale · Clean CSV/JSON for occupancy pipelines
Table of contents
- What this Actor does
- What you get
- Features
- Input
- Output example
- Output fields
- Quick start (API)
- Use cases
- Limitations
- FAQ
- Keywords
What this Actor does
| Step | Action |
|---|---|
| 1 | Resolve each Airbnb URL / ID to a listing |
| 2 | Fetch public availability calendar months |
| 3 | Emit one row per night in your date range |
| 4 | Keep bookable / check-in / min-nights flags when the calendar exposes them |
What you get
Availability
date,available(bool), listing id / URL- Blocked / booked nights as unavailable
Run meta
scrapedAttimestamp for every row
Features
| Capability | Detail |
|---|---|
| Listing-first | URLs (/rooms/{id}) or raw IDs |
| Day grain | One Dataset row per date — easy filters in Sheets / BI |
| Date window | startDate / endDate (ISO) |
| Currency / locale | e.g. EUR + es |
| Batch | Up to 50 listings per run |
Input
| Field | Required | Description |
|---|---|---|
startUrls | Yes | Airbnb listing URLs or IDs |
startDate | No | YYYY-MM-DD (default: today UTC) |
endDate | No | YYYY-MM-DD (default: start + 90d) |
currency | No | Default EUR |
locale | No | Default es |
includePricing | No | Default false (prices are almost never on the public calendar) |
proxyConfiguration | No | Apify Proxy recommended if blocked |
Example
{"startUrls": ["https://www.airbnb.com/rooms/860663943931949474"],"startDate": "2026-10-01","endDate": "2026-12-31","currency": "EUR","locale": "es","includePricing": false}
Output example
{"listingId": "860663943931949474","listingUrl": "https://www.airbnb.com/rooms/860663943931949474","date": "2026-10-05","available": true,"bookable": true,"minNights": 1,"scrapedAt": "2026-09-19T20:00:00.000Z"}
Output fields
| Field | Type | Notes |
|---|---|---|
listingId | string | Numeric Airbnb id |
listingUrl | string | Canonical rooms URL |
date | string | YYYY-MM-DD |
available | boolean | Free to book |
bookable | boolean|null | Reservable if the calendar says so |
minNights | number|null | Minimum stay |
scrapedAt | string | ISO timestamp |
Quick start (API)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_TOKEN>")run = client.actor("YOUR_USERNAME/airbnb-calendar-availability").call(run_input={"startUrls": ["860663943931949474"],"startDate": "2026-10-01","endDate": "2026-10-31","currency": "EUR",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Use cases
- Build occupancy / ADR models (pair with our Occupancy Actor)
- Monitor competitor calendars for a fixed listing set
- Feed occupancy tools with night-level availability
- QA that a listing’s open dates match your PMS
Limitations
- Not a search-by-city scraper.
- This Actor is an availability calendar. Airbnb’s calendar API in this stack does not return reliable nightly amounts.
- Airbnb anti-bot can require proxy on some IPs.
- Respect Airbnb Terms of Service.
FAQ
Can I pass city search URLs?
No — use listing room URLs or IDs only.
Does this return nightly prices?
No. Use it for availability / calendar flags. price may stay null.
Max range?
366 days from startDate in v0.1.
Keywords
airbnb calendar, airbnb availability api, airbnb availability scraper, listing calendar, nightly availability, str calendar api