Airbnb Scraper — Calendar, Availability, Prices & Reviews
Pricing
from $1.40 / 1,000 results
Airbnb Scraper — Calendar, Availability, Prices & Reviews
Search Airbnb by city and get complete, verified data — no login. Real-location validation (never pays for generic results), full map-grid coverage past the 270-listing cap, exact prices, host profiles, per-day calendar (12mo), guest reviews, and new-listing monitoring for scheduled runs.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Kevin Savani
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Search Airbnb by city, neighborhood, or map area and get complete, verified listing data — no login, no cookies, no account risk. Real prices with dates, per-day availability calendars up to 12 months out, guest reviews, host profiles, and full-city coverage past Airbnb's ~270-listing search cap. Use it as an Airbnb calendar scraper, an availability scraper, a bulk/full-coverage listings scraper, or a new-listing monitor for scheduled market alerts.
Use Cases
Airbnb Calendar Scraper
Fetch per-day availability up to 12 months ahead — available, check-in allowed, and minimum-nights for every date. Run it as an Airbnb calendar scraper to model occupancy, spot open windows for a specific stay length, or feed a dynamic-pricing model with real availability data.
Airbnb Availability Scraper
Combine calendarMonths with checkIn/checkOut to check exact-date availability and pricing together — an Airbnb availability scraper that tells you not just whether a listing is bookable on your dates, but what it actually costs.
Airbnb Price Scraper with Real, Dated Totals
Airbnb has no dateless nightly rate. Set checkIn/checkOut and guest counts to get the exact stay total — nightly rate, cleaning fee, taxes, and discounts broken out line by line, in your chosen currency. A true Airbnb price scraper, not a rounded estimate.
Full-City Airbnb Scraper Past the 270-Listing Cap
A single Airbnb search maxes out at ~270 results. Enable fullCoverage and the resolved map area is recursively split into sub-areas until every listing is collected — a bulk Airbnb scraper built for short-term-rental supply analysis across an entire city.
Airbnb Monitor for New-Listing Alerts
Schedule this actor with onlyNewListings and a monitoringId and it becomes an Airbnb monitor — only listings never seen in a previous run for that market are returned, so you get alerted the moment new supply appears in an area you track.
Airbnb Host Data Scraper
Every enriched listing includes the host's name, Superhost status, rating, review count, months hosting, profile URL, and bio — an Airbnb host data scraper for vetting hosts at scale or studying who's operating in a market.
Vacation Rental Market Research
Search any city or neighborhood and pull prices, ratings, badges, host data, and availability for the whole local supply — built for short-term-rental investment research, competitor pricing for property managers, and academic market studies.
No-Login Airbnb Scraper
No account, cookies, or session tokens required. Every listing id and url is verified to resolve to a real /rooms/… page, and a location that Airbnb can't resolve fails loudly instead of silently charging you for generic results from the wrong place.
Who Uses This
| Use Case | Who It's For |
|---|---|
| STR supply & pricing analysis across a whole city | Property managers, real-estate investors |
| Dynamic-pricing and revenue-management inputs | Pricing tool builders, revenue managers |
| New-listing alerts for a market | Market researchers, competitive intel teams |
| Host and listing vetting | Due-diligence, compliance, and research teams |
| Travel deal and price-drop monitoring | Travel agents, deal-alert builders |
| Academic and market-sizing research | Analysts, researchers |
What's New
Initial release
- Full-city coverage past Airbnb's ~270-listing search cap via recursive map-grid splitting.
- Real, dated price breakdowns (nightly rate, cleaning fee, taxes, discounts).
- Per-day availability calendars up to 12 months out.
- New-listing monitoring mode for scheduled market alerts.
Output
{"id": "8272629","url": "https://www.airbnb.com/rooms/8272629","name": "Eastside Bungalow - Keep Austin Cozy!","title": "Guesthouse in Austin","coordinates": { "latitude": 30.26, "longitude": -97.71 },"price": {"display": "$604","qualifier": "for 5 nights","breakdown": [{ "description": "5 nights x $120.65", "price": "$603.23" }]},"rating": { "value": 4.96, "count": 262 },"badges": ["Guest favorite"],"photos": ["https://a0.muscache.com/im/pictures/…"],"resolvedLocation": "Austin, TX","searchQuery": "Austin, Texas"}
With includeDetails each listing adds: full description, all images, host (name, Superhost status, rating, review count, months hosting, profile URL, about), houseRules, personCapacity, and cancellation policy details.
With calendarMonths each listing adds a calendar array of per-day availability. With includeReviews, a reviews array with reviewer, rating, date, and host responses.
Fields are properly typed, and a listing whose detail fetch fails still ships with its core search fields plus a detailError note — the run never crashes on one bad listing.
How to Use
1. In the Input tab, add one or more locationQueries (cities, neighborhoods, or areas) and/or startUrls for specific listings.
2. Set checkIn/checkOut and guest counts if you want real dated prices; enable includeDetails, calendarMonths, or includeReviews for enrichment.
3. Click Start — results stream into the Dataset tab as each location and listing completes.
Input format:
| Field | Type | Example |
|---|---|---|
locationQueries | array of strings | ["Austin, Texas"] |
startUrls | array of URL objects | [{ "url": "https://www.airbnb.com/rooms/48145872" }] |
checkIn / checkOut | YYYY-MM-DD string | "2026-10-05" / "2026-10-10" |
adults / children / infants / pets | integer | 2 |
maxItems | integer | 100 |
fullCoverage | boolean | true |
includeDetails | boolean | true |
calendarMonths | integer, 0-12 | 6 |
includeReviews | boolean | true |
onlyNewListings + monitoringId | boolean + string | true + "joshua-tree" |
currency / locale | select | "USD" / "en" |
Market snapshot with real prices:
{"locationQueries": ["Austin, Texas"],"checkIn": "2026-10-05", "checkOut": "2026-10-10", "adults": 2,"maxItems": 100, "includeDetails": true}
Every listing in a city (STR supply analysis):
{"locationQueries": ["Austin, Texas"],"fullCoverage": true, "maxItems": 5000}
New-listing alerts (schedule daily):
{"locationQueries": ["Joshua Tree, California"],"onlyNewListings": true, "monitoringId": "joshua-tree"}
Specific listings by URL:
{"startUrls": [{ "url": "https://www.airbnb.com/rooms/48145872" }],"checkIn": "2026-10-05", "checkOut": "2026-10-10","calendarMonths": 6, "includeReviews": true}
Proxy
The actor comes with a built-in proxy that works out of the box — no configuration needed. Just run it.
Pricing
$2 per 1,000 listings scraped ($0.002 per listing).
You're charged only for listings actually returned — a location Airbnb can't resolve fails the run instead of billing you for generic results from the wrong place.
| Listings scraped | Estimated cost |
|---|---|
| 100 | ~$0.20 |
| 1,000 | ~$2.00 |
| 10,000 | ~$20.00 |
Schedule & Automate
Use Apify's built-in Scheduler to run this actor on a cron — daily, weekly, or hourly — for new-listing monitoring or recurring market snapshots. Connect the dataset to Google Sheets, Zapier, Make, or any webhook via the Apify API.
Integrations & Automation
Plugs into the entire Apify integrations ecosystem and any tool that speaks HTTP:
- Make (docs) — trigger Airbnb searches from any Make scenario.
- Zapier (docs) — pipe listings into CRMs, alerts, or spreadsheets.
- Google Sheets — auto-export every run's dataset to a live market-tracking Sheet.
- Slack (docs) — get notified when a scheduled monitoring run finds new listings.
- Airbyte (docs) — sync listings to your data warehouse (Snowflake, BigQuery, Redshift, Postgres).
- Apify API — full programmatic control via the
apify-clientSDKs for Node.js and Python, or direct REST calls. - Webhooks (docs) — fire an HTTP endpoint when a run finishes, fails, or finds new listings.
Strict input schema and fail-loud location validation make this a safe building block for agent and MCP pipelines — a failed location never produces silent junk data.
Honest Limitations
- Prices require dates. Without
checkIn/checkOut, listings are returned without stay totals — Airbnb itself has no dateless price. - Host contact details (phone/email) are login-walled by Airbnb and out of scope.
- Currency and language are pinned via
currency/localeinputs, independent of proxy location.
FAQ
Do I need to log in or provide cookies? No. The actor works with no Airbnb account, cookies, or session tokens.
What happens if I misspell a city or search somewhere Airbnb can't resolve?
The run fails loudly with a clear error instead of silently returning generic listings from the wrong place — every locationQuery is validated against Airbnb's own resolved geography.
Can I get every listing in a city, not just the first ~270?
Yes. Enable fullCoverage — the resolved map area is recursively split into sub-areas until every listing in it is collected.
Does it return real prices, or estimates?
Real, dated totals. Set checkIn/checkOut and guest counts and each listing returns the exact nightly rate, cleaning fee, taxes, discounts, and stay total in your chosen currency.
Can I get availability without booking dates?
Yes — set calendarMonths (up to 12) to get a per-day calendar of availability, check-in eligibility, and minimum nights, independent of checkIn/checkOut.
Can I monitor a market for new listings?
Yes. Enable onlyNewListings with a monitoringId and schedule the actor — each run returns only listings never seen before under that monitor.
Does it return guest reviews and host information?
Yes, with includeDetails and includeReviews enabled: host name, Superhost status, rating, review count, months hosting, profile URL, bio, and a list of guest reviews with reviewer, rating, date, and host responses.
Can I scrape specific listings by URL instead of searching?
Yes — pass startUrls with Airbnb room URLs, in addition to or instead of locationQueries.
Do I need my own proxy? No. The actor works out of the box — a built-in proxy handles it automatically. No setup or configuration required.
Can I export results to a spreadsheet? Yes. After the run completes, go to Storage → Dataset → Export → choose CSV, Excel, or JSON, or auto-export to Google Sheets via the Apify integration.
Can I run this via API? Yes — use the Apify API or the official Node.js/Python SDKs to trigger runs and retrieve results programmatically.
Is it legal to scrape public Airbnb listings? The actor only extracts publicly available listing data — what Airbnb displays to any visitor without an account. It does not bypass login walls or extract private guest/host information. You are responsible for compliance with Airbnb's Terms of Service and applicable laws when using the extracted data.
⭐ Bookmark This Actor & Leave a Review
If this actor saves you time:
- ⭐ Click the star at the top of the actor page to bookmark it — it makes the actor easier for you to find later and helps other Apify users discover it.
- 📝 Leave a review — even one sentence on what you use it for helps prioritize the next feature.
Your bookmarks and reviews directly improve this actor's discoverability across the Apify Store.
Related Apify Actors
Looking for more scraping power? You may also like:
- Airbnb Scrapers — the full catalog of Airbnb data actors
- Travel & Hospitality Scrapers — booking sites, flights, and hotel data
- Real Estate Scrapers — listings, valuations, and property data across platforms
Support & Feedback
Found a bug or want a new field or input option supported?
- Open an issue on the actor's Issues tab in the Apify Console.
- Feature requests are welcome — especially for new enrichment fields or search filters.