Airbnb Scraper — Listings, Prices & Availability/Occupancy
Pricing
from $2.00 / 1,000 listings
Airbnb Scraper — Listings, Prices & Availability/Occupancy
Scrape Airbnb listings by location: price/night, rating, reviews, coordinates, room type, photos — plus 365-day availability calendar for occupancy & revenue analysis. No API key.
Pricing
from $2.00 / 1,000 listings
Rating
0.0
(0)
Developer
Ruslan Zotkin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Airbnb Scraper — Listings, Prices & 365-Day Availability (Occupancy / STR Data)
Scrape Airbnb by location into clean, structured data — price per night, rating, reviews, coordinates, room type, photos — plus the 365-day availability calendar for every listing, the raw input for occupancy and revenue analysis. No API key, no login.
Pay only for the results you get — no monthly subscription.
🏅 Reliable availability, where others break. Airbnb loads availability through an internal GraphQL API whose query hash rotates — HTTP-only scrapers go stale and return half-empty data. This actor harvests the current hash with a real browser, then fetches calendars over fast HTTP, so you get complete 365-day availability on every listing.
⚡ Two layers — pick what you pay for
| Layer | Turn on | What you get |
|---|---|---|
| Listings | default | Price/night, total, rating, reviews, coordinates, room type, photos, badges |
| + Availability | Scrape availability calendar = true | 365-day calendar per listing: available vs booked days, unavailable rate (occupancy proxy), min nights, next check-in, month-by-month breakdown |
🎯 Why this scraper
- ✅ Complete 365-day availability — browser-harvested query hash + fast HTTP. Not the "occasionally blocked" partial data of HTTP-only tools.
- ✅ Geo + occupancy ready — coordinates and availability per listing → build heatmaps, occupancy %, revenue estimates by area.
- ✅ Clean, typed data — prices are numbers, dates are ISO, ready for analysis.
- ✅ No API key, no login. Pin currency and country.
- ✅ Cost control — hard
Max listingscap.
📦 Output fields
Listing
| Field | Type | Description |
|---|---|---|
listingId | string | Airbnb listing ID |
url | string | Room URL |
name | string | Listing title |
roomType | string|null | e.g. "1 bedroom", "Entire home" |
pricePerNight | number|null | Nightly price |
priceTotal | number|null | Total for the searched dates, if shown |
currency | string | ISO currency |
rating | number|null | Average rating |
reviewsCount | number|null | Number of reviews |
latitude / longitude | number|null | Coordinates |
badges | array | e.g. Guest favorite, Superhost |
image | string|null | Main photo |
scrapedAt | string | ISO timestamp |
Availability (when enabled)
| Field | Type | Description |
|---|---|---|
horizonDays | number | Days analyzed (~365) |
availableDays | number | Open days |
unavailableDays | number | Booked or host-blocked days |
unavailableRate | number | Share unavailable (occupancy proxy, 0–1) |
minNights | number|null | Minimum stay |
nextAvailableCheckin | string|null | Next bookable check-in date |
byMonth | object | { "2026-07": { available, unavailable } } |
ℹ️
unavailableDayscombines booked and host-blocked days (Airbnb doesn't expose which). For true occupancy, schedule the actor and diff availability over time — days that flip available→unavailable near their date indicate bookings.
🛠️ Input
| Field | Type | Default | Description |
|---|---|---|---|
location | string[] | ["Lisbon, Portugal"] | Places to search, e.g. "Austin, TX" |
startUrls | URL[] | — | Airbnb search (/s/) or room (/rooms/) URLs |
scrapeAvailability | boolean | false | Fetch the 365-day calendar per listing |
maxItems | integer | 50 | Cap on listings (caps cost) |
currency | string | USD | ISO currency code |
adults | integer | 2 | Guests (affects pricing) |
country | string | US | Proxy/geolocation country (ISO-2) |
Example
{"location": ["Lisbon, Portugal"],"scrapeAvailability": true,"maxItems": 100,"currency": "EUR"}
💡 Use cases
- Short-term rental (STR) market research — occupancy proxy, price distribution, supply by area.
- Airbnb investment analysis — estimate revenue (price × booked nights) for a city/zip before buying.
- Host pricing & competition — benchmark nearby listings' prices and availability.
- Geo / heatmaps — coordinates + price + occupancy per listing.
💵 Pricing
Pay-per-event, all platform & proxy costs included:
- Listing (
listing-scraped) - Availability calendar (
listing-availability-scraped)
❓ FAQ
Need an API key? No.
Why is availability reliable here? A real browser harvests Airbnb's rotating query hash; data is then fetched over fast HTTP. HTTP-only scrapers break when the hash rotates.
True occupancy? unavailableRate is a proxy; schedule + diff over time to separate bookings from host blocks.
Is scraping Airbnb legal? This extracts only public listing data. Comply with Airbnb's Terms and local law (GDPR/CCPA); no personal data is collected.
🛟 Support
Open an issue with your run ID for bugs or field requests.