Airbnb Scraper — Listings, Prices, Reviews & Availability
Pricing
from $2.00 / 1,000 airbnb listings
Airbnb Scraper — Listings, Prices, Reviews & Availability
Scrape Airbnb listings by location or URL. Export prices, ratings, photos, amenities, host data, reviews, and availability calendars for short-term rental and market research.
Pricing
from $2.00 / 1,000 airbnb listings
Rating
0.0
(0)
Developer
DataForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🏡 Airbnb Scraper — Listings, Prices, Reviews & Availability
Create structured Airbnb datasets from destinations and room URLs. Collect prices, ratings, listing locations, photos, property details, amenities, host profiles, guest reviews, and availability metrics for travel research and short-term rental analysis.
✅ Destination search and direct room URLs
✅ Pricing, ratings, capacity, and property details
✅ Hosts, amenities, reviews, and calendar metrics
✅ Automatic input detection and listing deduplication
✅ Separate analysis-ready dataset views
💡 Why this Actor
Many Airbnb scrapers stop at the listing card — a name, a price, a rating. This one goes to the data that short-term-rental operators, analysts, and investors actually decide on:
- 📅 Availability & occupancy signals — available vs. blocked days plus 30 / 90 / 365-day metrics, not just a nightly price
- 📊 Review intelligence — full guest review text and a per-listing summary (rating breakdown, category ratings, sentiment) instead of raw dumps
- 🧩 Analysis-ready split datasets — listings, pricing, hosts, amenities, and reviews in separate clean tables, so no nested-array wrangling in your spreadsheet or BI tool
- 🔎 Search or audit in one field — mix destinations and exact room URLs in the same
querieslist; the Actor auto-detects each - 🧭 Honest statuses, no fake errors —
detailStatus/reviewsStatus/calendarStatustell you exactly what each listing returned; an unavailable optional stage never turns a real listing into an error row
⚡ Fast for wide price/supply scans, 🔎 Full when you need hosts, amenities, reviews, and calendars — pick the depth per run so you only pay for the data you use.
📸 Sample output

A real run's output — exportable to JSON, CSV, or Excel.
✨ What can be collected?
🏠 Listing information
- Listing ID and canonical Airbnb URL
- Name, title, and displayed location
- Room type and property type
- Guest capacity
- Bedrooms, beds, and bathrooms
- Listing badges and highlights
💰 Pricing
- Displayed price
- Price per night
- Total price
- Original or crossed-out price when published
- Currency
- Date-aware prices when a stay range is provided
🛏️ Property details
- Complete public description
- Amenities
- House rules
- Safety information
- Check-in details
- Property highlights
👤 Host information
- Host name and profile information
- Superhost status
- Response rate and response time
- Host highlights
- Public host statistics returned by Airbnb
⭐ Reviews and availability
- Guest review text
- Review date and reviewer information
- Review count and rating
- Category ratings
- Available and blocked calendar days
- 30, 90, and 365-day availability metrics
🖼️ Media
- Main listing image
- Listing photo collections
- Image captions when available
🎛️ Scraping modes
⚡ Fast mode
Fast mode is designed for destination discovery, price scans, and larger listing samples. It collects structured Airbnb search-card data.
Fast mode can return:
- Listing ID and URL
- Listing title and displayed location
- Displayed price and currency
- Rating and total review count
- Capacity, bedrooms, beds, and bathrooms
- Room type and badges
- Main image and photo collection
reviewsStatus=not_requestedcalendarStatus=not_requested
{"mode": "fast","queries": ["Prague"],"adults": 2,"maxItemsPerQuery": 20,"currency": "EUR"}
🔎 Full mode
Full mode performs detailed property enrichment and requests the supported public listing sections, review data, host information, and calendar metrics.
Full mode can return:
- Complete property description
- Detailed amenities and highlights
- Host profile and response information
- House rules and safety information
- Guest reviews and review summaries
- Category ratings
- Calendar availability and occupancy-style metrics
- Explicit detail, review, and calendar statuses
{"mode": "full","queries": ["Barcelona"],"maxItemsPerQuery": 10,"maxReviewsPerListing": 25,"currency": "EUR"}
When an optional listing section is unavailable, the real listing row is preserved and its status explains what was returned.
🧭 How it works
┌──────────────────────────────────────┐│ queries ││ • destination ││ • neighborhood ││ • region ││ • Airbnb room URL │└──────────────────┬───────────────────┘│▼┌──────────────────────┐│ Automatic detection │└──────────┬───────────┘│┌────────┴────────┐▼ ▼Destination search Direct room fetch└────────┬────────┘▼Property • host • reviews • calendar│▼Normalize and remove duplicates│▼Listings and related datasets
The queries list is required. Destinations and Airbnb room URLs can be placed in the same list.
🚀 More input examples
Search several destinations
{"mode": "fast","queries": ["Prague", "Vienna", "Budapest"],"maxItemsPerQuery": 25,"adults": 2,"currency": "EUR","locale": "en"}
Date-aware search
{"mode": "fast","queries": ["New York"],"dateRange": "2026-09-10/2026-09-15","adults": 2,"children": 1,"maxItemsPerQuery": 20,"currency": "USD"}
Scrape known rooms
{"mode": "full","queries": ["https://www.airbnb.com/rooms/123456789","https://www.airbnb.com/rooms/987654321"],"maxReviewsPerListing": 10,"currency": "USD"}
Apply property filters
{"mode": "full","queries": ["Lisbon"],"maxItemsPerQuery": 20,"minPrice": 80,"maxPrice": 250,"minBedrooms": 2,"minBathrooms": 1,"roomType": "Entire home/apt","maxReviewsPerListing": 5,"currency": "EUR"}
🧩 Input fields
| Field | Type | Description |
|---|---|---|
mode | string | Selects one of the collection modes described above |
queries | string[] | Required destinations or Airbnb room URLs |
dateRange | string | Optional YYYY-MM-DD/YYYY-MM-DD stay range |
adults | integer | Number of adult guests |
children | integer | Number of children |
infants | integer | Number of infants |
pets | integer | Number of pets |
maxItemsPerQuery | integer | Maximum listings collected for each source |
maxReviewsPerListing | integer | Reviews collected per listing in Full mode |
minPrice, maxPrice | integer | Optional displayed-price range |
minBedrooms | integer | Minimum bedrooms |
minBathrooms | integer | Minimum bathrooms |
minBeds | integer | Minimum beds |
roomType | string | Entire place, private room, shared room, or hotel room |
currency | string | USD or EUR |
locale | string | Airbnb locale such as en, de, fr, es, or it |
proxy | object | Apify Proxy configuration |
Empty inputs, unknown fields, unsupported modes, malformed external URLs, invalid dates, and out-of-range limits are rejected before a run is created.
📦 Output structure
Each default dataset row represents one unique Airbnb listing.
{"id": "123456789","url": "https://www.airbnb.com/rooms/123456789","name": "Apartment in Prague","displayLocation": "Prague, Czechia","roomType": "Entire rental unit","personCapacity": 4,"bedrooms": 2,"beds": 2,"bathrooms": 1,"ratingValue": 4.91,"reviewsCount": 184,"displayPrice": "€145 night","pricePerNight": 145,"currency": "EUR","imageUrl": "https://...","scrapeMode": "full","detailStatus": "ok","reviewsStatus": "ok","calendarStatus": "ok"}
📚 Related datasets
Default dataset├── 🏡 Listings├── 💰 Pricing├── 👤 Hosts and ratings└── 📅 Calendar metricsRelated datasets├── ⭐ Reviews├── 📊 Review summaries├── 👤 Hosts├── 🛏️ Amenities└── 📋 Property information and house rules
These flattened views are convenient for spreadsheets, BI tools, database imports, and API integrations.
🚦 Status fields
| Field | Meaning |
|---|---|
scrapeMode | Selected collection mode |
detailStatus | Listing detail collection result |
reviewsStatus | Guest review collection result |
calendarStatus | Calendar collection result |
not_requested means the stage was intentionally not used. An unavailable optional stage does not turn a valid listing into a fake error row.
💡 Popular use cases
- 📊 Short-term rental market analysis
- 💰 Price and availability monitoring
- 🏙️ Destination research
- 🏡 Property-market research datasets
- ⭐ Guest review analysis
- 👤 Host portfolio research
- 📈 Travel and real-estate dashboards
⚠️ Public-data availability
Airbnb normally does not expose a private host phone number, private email address, or exact street address before a booking. Displayed location precision, pricing, reviews, and calendar coverage depend on the listing, dates, locale, currency, and market.
The actor exports only public information returned for the listing and never invents hidden contact details.
Use exported data responsibly and comply with applicable travel, privacy, and platform rules.