Airbnb Availability Calendar & Occupancy Scraper avatar

Airbnb Availability Calendar & Occupancy Scraper

Pricing

from $1.00 / 1,000 calendar days

Go to Apify Store
Airbnb Availability Calendar & Occupancy Scraper

Airbnb Availability Calendar & Occupancy Scraper

Airbnb availability calendar for any listing: 12 months of day-by-day availability, min/max nights, check-in rules, optional nightly prices, monthly occupancy, and booking-change monitoring. HTTP-only, no browser.

Pricing

from $1.00 / 1,000 calendar days

Rating

0.0

(0)

Developer

Patarapong Limvipaveeanan

Patarapong Limvipaveeanan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 days ago

Last modified

Share

What does Airbnb Availability Calendar & Occupancy Scraper do?

Airbnb Availability Calendar Scraper takes Airbnb listing URLs and returns each listing's day-by-day availability calendar for up to 12 months: whether each date is open, whether guests can check in or out that day, minimum and maximum nights, and optionally the nightly price for upcoming bookable days. It also writes a monthly occupancy summary and can run in monitoring mode, outputting only the days that were booked or reopened since the last run.

It reads the calendar Airbnb already serves to its own website, over plain HTTP with no headless browser. One request returns a full year for a listing, so it's fast and cheap: a full year for one listing costs about $0.37. On Apify you also get API access, scheduling, integrations (Google Sheets, Slack, webhooks) and monitoring.

Why scrape Airbnb availability calendars?

  • Occupancy and booking pace: see how many nights competitors have filled this month and next.
  • Revenue management for hosts and property managers: compare your open dates, minimum stays and nightly rates against the listings you compete with.
  • Investment analysis: estimate occupancy and nightly rates for an area before you buy.
  • Booking alerts: schedule a daily run with Only output changed days and get just the newly booked or newly opened dates.
  • Market research and data products: build occupancy datasets without browser automation.

How to scrape an Airbnb calendar

  1. Collect the listing URLs you care about (https://www.airbnb.com/rooms/<id>, any Airbnb domain works).
  2. Paste them into Room URLs and choose how many Months ahead you need.
  3. Tick Include nightly prices if you want nightly rates (the next 30 bookable days by default).
  4. Click Start. Download the calendar as JSON, CSV, Excel or HTML, or fetch it through the Apify API.
  5. For monitoring, save the run as a task, tick Only output changed days and schedule it daily.

Input

FieldDescription
startUrlsAirbnb room URLs like https://www.airbnb.com/rooms/12345. Other URLs are skipped.
monthsMonths of calendar to return, starting today (1-12, default 12).
includePricesAlso return the nightly rate for days guests can check in (default off). Slower: one extra request per priced day.
maxPricedDaysWith prices on: price at most this many bookable check-in days per listing, from today (default 30). Airbnb slows down bursts of price requests, so large values make runs much longer.
onlyChangesMonitoring mode: output only days that became booked or reopened since this Actor's previous run on your account. The first run outputs nothing and saves the baseline.
adults, currencyGuests and currency for prices (default 2, USD).
proxyConfigurationOptional. Usually not needed. Turn on Apify Proxy only if you see repeated HTTP 403 or 429 errors.
{
"startUrls": [
{ "url": "https://www.airbnb.com/rooms/32422325" },
{ "url": "https://www.airbnb.co.uk/rooms/1764409719853216298" }
],
"months": 6,
"includePrices": true,
"currency": "EUR"
}

Output example

One row per listing per day:

{
"listingId": "1764409719853216298",
"url": "https://www.airbnb.com/rooms/1764409719853216298",
"date": "2026-10-13",
"available": true,
"availableForCheckin": true,
"availableForCheckout": true,
"minNights": 3,
"maxNights": 365,
"pricePerNight": 51.23,
"currency": "USD",
"change": null
}

And a monthly summary per listing in the run's key-value store, record OCCUPANCY (free, not charged):

{
"32422325": [
{ "month": "2026-11", "days": 30, "unavailableDays": 8, "occupancyPct": 26.7, "avgPricePerNight": 124.51 }
]
}

Data fields

FieldDescription
date, availableCalendar date and whether it can be booked
availableForCheckin, availableForCheckoutWhether a stay can start or end that day (Airbnb's check-in-day and gap rules)
minNights, maxNightsMinimum and maximum stay starting that day
pricePerNight, currencyNightly rate for the shortest allowed stay from that day, from Airbnb's price breakdown (only with Include nightly prices, only for check-in days)
changebooked or opened compared to the previous run, otherwise null
occupancyPct (OCCUPANCY record)Share of the month's days that are unavailable

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

How much does it cost to scrape Airbnb calendars?

You pay $1 per 1,000 calendar days (plus a tiny start fee per run), nightly prices included, with no subscription. That's about $0.37 for a full year of one listing. In monitoring mode you only pay for days that changed. The Apify free plan's monthly credits cover thousands of days, so you can test for free. Set a maximum cost per run in the run options and the scraper stops cleanly when it's reached.

Tips

  • Occupancy is an estimate. Airbnb's calendar shows a day as unavailable whether it's booked or blocked by the host, and this scraper can't tell the two apart. Hosts who block long periods will look fully occupied.
  • Use Months ahead to pay only for the window you need: 3 months of calendar is a quarter of the cost of 12.
  • Prices are for the shortest allowed stay starting that day, so weekly or monthly discounts aren't reflected.
  • Removed, unlisted or invalid listings are skipped and not charged.

FAQ

Is it legal to scrape Airbnb? This scraper collects only publicly visible calendar data and doesn't log in. It doesn't collect host names, profiles or reviews. Check Airbnb's terms and make sure your use complies with the laws that apply to you, including GDPR.

Need listing details (title, rating, amenities) too? Use our Airbnb Rooms Scraper with the same URLs.

Something broke or you need another field? Open an issue on the Issues tab. Custom solutions are available on request.