Airbnb Scraper: Prices, Calendar, Reviews
Pricing
from $3.20 / 1,000 listings
Airbnb Scraper: Prices, Calendar, Reviews
Scrape Airbnb by location, by pasted search URL or by room ID, with no login. Get nightly and total price in one currency, ratings, amenities, house rules, coordinates, host profiles, a 12-month availability calendar and reviews with host replies. JSON, CSV, Excel, API; empty runs cost $0.
Pricing
from $3.20 / 1,000 listings
Rating
5.0
(3)
Developer
Automation Craft
Maintained by CommunityActor stats
0
Bookmarked
23
Total users
10
Monthly active users
13 days ago
Last modified
Categories
Share
Airbnb Scraper: Prices, Calendar, Reviews
This Airbnb scraper collects listing data three ways with one actor: search a location, paste a search URL, or give room URLs or listing IDs. Turn on only the parts you need, details, availability calendar, reviews, host profile, and pay only for what is actually delivered.
Quick start
- Type a location (for example
Lisbon, Portugal), or paste an Airbnb search URL, or paste room URLs and bare listing IDs. - Optionally set check-in and check-out dates so prices are exact for that stay.
- Pick your currency and press Start. Results land in the dataset as clean JSON, ready to download as CSV or Excel or to read over the Apify API.
A 3-night, 2-adult search of Lisbon with full details costs about half a cent per listing.
What you get
Every listing record includes:
- Prices that are correct: nightly rate AND stay total with the fee breakdown, always in the currency you selected, never silently switched to the proxy country's currency. If Airbnb shows only a stay total, the nightly rate is computed for you. Verified across 13 currencies (USD, EUR, GBP, INR, JPY, BRL, MXN, AUD, THB, ZAR, AED, TRY, KRW).
- Working links: listing ID (as a string, because 19-digit IDs break in spreadsheets and JS tools otherwise) and a canonical room URL that opens.
- Title, name, coordinates, rating and review count, badges (for example Guest favorite), photos.
- With details on (default): description, structured amenities by category, house rules, sub-ratings (cleanliness, location, value and the rest), capacity, and the host: ID, name, profile URL, superhost status, rating average and count, years hosting.
- Calendar add-on: up to 12 months of per-day availability, check-in eligibility, and min or max nights.
- Reviews add-on: newest first, with rating, date, text, reviewer, and the host's reply when one exists.
- Host profile add-on: the host's about text, verification status, and stats.
Example output
{"type": "listing","id": "1547194623602171394","url": "https://www.airbnb.com/rooms/1547194623602171394","title": "Apartment in Lisbon","price": { "nightly": 136.33, "total": 409.0, "nights": 3, "currency": "EUR","breakdown": [{ "description": "3 nights x €126.4", "amount": 379.09 }] },"rating": { "value": 4.91, "reviewCount": 32 },"subRatings": { "cleanliness": 4.88, "location": 4.97, "value": 4.91 },"coordinates": { "latitude": 38.71989, "longitude": -9.12956 },"host": { "id": "8361172", "name": "Camila And Cynthia", "isSuperhost": true,"ratingAverage": 4.86, "yearsHosting": 10,"profileUrl": "https://www.airbnb.com/users/show/8361172" },"amenities": [{ "title": "Kitchen and dining", "values": ["..."] }],"calendar": [{ "month": 8, "year": 2026,"days": [{ "date": "2026-08-01", "available": true, "minNights": 2 }] }],"reviews": [{ "rating": 5, "date": "2026-07-08T15:41:10Z", "text": "...","reviewer": { "name": "Ana" }, "hostReply": null }],"sourceQuery": "Alfama, Lisbon"}
When something cannot be delivered you get a status record instead of a silent nothing, and no charge:
{ "type": "status", "status": "location_not_found", "sourceQuery": "Xyzzyland","message": "Airbnb does not recognize this location. No charge was made for it." }
What this actor does NOT do
Honesty up front, so there are no surprises:
- No emails or phone numbers. Airbnb does not show host contact details publicly; any actor claiming otherwise is guessing from third-party sources.
- Calendar shows availability, not prices. Per-day prices are not in Airbnb's calendar API. For stay pricing, set check-in and check-out dates.
- One currency per run. All prices come back in the currency you select (deterministic). There is no "each listing in its own local currency" mode.
- Flexible-date searches (for example "weekend in August") work by pasting the search URL from airbnb.com. The structured inputs cover exact dates only.
- Homes only. Experiences and Services are not scraped.
- A single Airbnb search returns at most about 280 listings. That is Airbnb's cap, not ours. Turn on Full coverage to go past it (see below).
Why this one over the alternatives
- One actor, whole job. The market leader splits search, room URLs, and reviews across three or four separate actors, most rated under 3 stars. Here everything is one input form.
- Beats the ~280-result cap.
fullCoveragerecursively splits the map into sub-areas until the whole city is collected. Verified live: 397 unique Porto listings in a single run, where a plain search stops at about 280. - Fair pay-per-event, enforced in code and verified by tests:
- Location not recognized: clear status record, $0
- Search returns nothing: status record, $0
- A listing page fails to load: status record, $0
- Charges always equal delivered data, never attempts.
- Monitoring mode for scheduled runs: it remembers what previous runs with the same input already returned and outputs only new listings. New listings cost, repeats do not.
- No browser under the hood. Pure HTTP against Airbnb's own APIs: fast (a 3-listing detailed run takes about 20 seconds), cheap, and stable.
How much does it cost to scrape Airbnb?
You pay per event, so a run costs exactly what it delivers. These are the current prices; Apify Store tiers take 10% off (Silver) or 20% off (Gold) every result event. The Actor start event is the same for everyone.
| Event | Free and Bronze | Silver (10% off) | Gold (20% off) |
|---|---|---|---|
| Actor Start | $0.005 | $0.005 | $0.005 |
| Search result | $0.001 | $0.0009 | $0.0008 |
| Listing | $0.004 | $0.0036 | $0.0032 |
| Calendar | $0.002 | $0.0018 | $0.0016 |
| Review | $0.0005 | $0.00045 | $0.0004 |
| Host profile | $0.002 | $0.0018 | $0.0016 |
Worked examples at the Free and Bronze prices:
- 100 search cards (fast mode,
scrapeDetailsoff): $0.105 - 100 fully detailed listings: $0.505
- 100 detailed listings plus calendar plus 20 reviews each: $1.705
Reviews are about 10x cheaper than the category leader ($0.0005 against $0.005).
Inputs at a glance
| Field | What it does |
|---|---|
locationQueries | Free-text places, geocode-checked (["Lisbon, Portugal"]) |
searchUrls | Any airbnb.com/s/... URL; every URL filter is honored as is |
roomUrlsOrIds | https://www.airbnb.com/rooms/12345 or bare 12345 |
checkIn / checkOut | Exact dates, for stay-accurate nightly and total pricing |
currency / locale | Output currency (ISO code) and language |
adults to pets, priceMin/Max, placeType, minBedrooms/Beds/Bathrooms, amenityIds | Search filters. Price is per night; the conversion to Airbnb's stay-total filter is handled for you |
scrapeDetails | ON = full records; OFF = fast cheap search cards |
includeCalendar + calendarMonths | Availability calendar (1 to 12 months) |
includeReviews + maxReviewsPerListing | Reviews, newest first |
includeHostDetails | Extended host profile |
maxListings | Stop after N listings (0 = no limit) |
fullCoverage | Collect past the ~280 cap via map splitting |
monitoringMode | Output only listings not seen in previous runs |
Tested
Every feature path is verified by a 36-scenario live acceptance suite before each release: 6 continents, 13 currencies, 8 languages, big-city pagination, full-coverage map splitting, tiny villages, the Galapagos, unicode and ambiguous queries, pasted URLs, bare IDs, every add-on, and every $0-fairness path. The release you are running passed 36 of 36.
FAQ
Is it legal to scrape Airbnb data?
This actor collects only publicly visible data: no login, nothing behind authentication. It returns no host emails or phone numbers. You are responsible for making sure your own use complies with your local regulations and with Airbnb's terms.
Does Airbnb have a public API for listings and prices?
Airbnb publishes no open listings API for general use. This actor talks over plain HTTP to the same public endpoints that power airbnb.com, with no login and no browser, which is why a 3-listing detailed run finishes in about 20 seconds.
How do I get Airbnb availability calendar data?
Turn on includeCalendar and set calendarMonths (1 to 12). Each listing then carries per-day availability, check-in eligibility, and min or max nights. The calendar holds availability only; for stay prices set checkIn and checkOut instead.
Can I get a host's email or phone number from Airbnb?
No. Airbnb does not publish host contact details, so this actor never returns them. You do get the host ID, name, profile URL, superhost status, rating average and count, years hosting, and with the host profile add-on the about text, verifications and stats.
How do I scrape Airbnb listings for market research?
Run a location query with your dates and currency, leave scrapeDetails on, and turn on fullCoverage to collect past Airbnb's ~280-result cap for a whole city. Add includeCalendar for occupancy work and includeReviews for guest sentiment. For a weekly supply watch, schedule the run with monitoringMode on so only unseen listings are delivered and charged.
Why does this Actor run with limited permissions?
Least privilege. The actor only reads and writes its own storages: the run's dataset and key-value store, plus one named key-value store it creates itself to hold the monitoring-mode memory between runs. It needs nothing else on your account.
More data tools by Automation Craft
- Website Screenshot Scraper: Full Page, Bulk for capturing the listing pages you collect.
- US Building Permits Scraper - 38 City Sources for new construction and renovation signals.
- US New Business Registrations Scraper - LLC Leads for newly formed property and rental companies.
- UK EPC Register Scraper - Energy Certificates for UK property energy data.
- UK Food Hygiene Ratings Scraper - FSA Register for hospitality venue ratings.
- Google Trends Scraper - Compare and Trending Now for destination demand curves.
- Amazon Product Scraper - Search, Best Sellers for product and price research.
Built on the MIT-licensed pyairbnb by John Balvin, vendored and hardened (geo-domain fallback, retry and backoff, cap-beating map recursion, deterministic currency).