Airbnb Calendar / Availability API
Pricing
from $4.00 / 1,000 calendar days
Airbnb Calendar / Availability API
Get day-by-day Airbnb availability (and nightly price when available) for one or many listings. Input URLs or IDs + date range; output one Dataset row per day. Clean schema export for research, pricing and lead workflows.
Pricing
from $4.00 / 1,000 calendar days
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Airbnb Calendar / Availability API — Day-by-Day Listing Calendar
Airbnb calendar scraper / availability API: get day-by-day availability (and nightly price when Airbnb exposes it) 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 · Pricing when available · Clean CSV/JSON for pricing models
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 | Attach nightly price when present in the calendar payload |
What you get
Availability
date,available(bool), listing id / URL- Blocked / booked nights as unavailable
Pricing (when exposed)
- Nightly amount + currency
- Useful for ADR pipelines when price is filled
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 true |
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": true}
Output example
{"listingId": "860663943931949474","listingUrl": "https://www.airbnb.com/rooms/860663943931949474","date": "2026-10-05","available": true,"price": 142,"currency": "EUR","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 |
price | number|null | Nightly when provided |
currency | string|null | ISO code |
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 pricing tools with night-level availability
- QA that a listing’s open dates match your PMS
Limitations
- Not a search-by-city scraper.
- Prices are often missing on blocked nights or some markets.
- 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.
Why is price null?
Airbnb often omits price on unavailable days or in some locales.
Max range?
366 days from startDate in v0.1.
Keywords
airbnb calendar, airbnb availability api, airbnb availability scraper, listing calendar, nightly availability, airbnb pricing calendar, str calendar api