Airbnb Scraper CHEAP [$0.10/1K💰] - Listings · Reviews · Prices
Pricing
from $0.07 / 1,000 reviews
Airbnb Scraper CHEAP [$0.10/1K💰] - Listings · Reviews · Prices
REVIEWS CHEAPEST FOR [$0.10/1K💰] and LISTINGS FOR [$1.5💰] Scrape Airbnb rentals in your chosen destinations. Extract descriptions, locations, prices per night, ratings, reviews count, host details, amenities and more. Download scraped data in various formats including HTML, JSON and Excel.
Pricing
from $0.07 / 1,000 reviews
Rating
5.0
(1)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
0
Monthly active users
19 days ago
Last modified
Categories
Features
Share
Airbnb Scraper (Listings, Prices & Hosts)
Scrape Airbnb listings with prices, host details, reviews, and availability for any location worldwide. Get structured data without API access. Free-tier billing is $1.50 per 1,000 listings and $0.10 per 1,000 reviews.
Use Cases
- Travel Research — Compare prices and amenities across thousands of listings.
- Market Analysis — Analyze pricing trends, occupancy, and competition in specific areas.
- Investment Decisions — Evaluate short-term rental potential for real estate investments.
- Host Benchmarking — Compare your listing against competitors on price and reviews.
- Academic Research — Collect data for tourism, housing, and economic studies.
How It Works

The Actor resolves each location, queries Airbnb's internal search API for matching stays, then opens each listing through Airbnb's property-detail API to collect pricing, amenities, rules, ratings and host data. Reviews are optional and written to a separate dataset.
Each listing row carries 34 top-level fields, including listing ID, URL, title, nightly price, rating, review count, property/room type, capacity, amenities, badges, coordinates, photos and host profile. Professional-host business contact details are read from the regional legal notice; private-host contact data is never exposed.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
locationQueries | array[string] | No | [] | Locations to search (e.g., "Paris, France") |
listingUrls | array[string] | No | [] | Direct listing URLs or IDs to scrape without a search |
maxListingsPerLocation | integer | No | 20 | Max listings to scrape per location |
includeHostDetails | boolean | No | true | Scrape detailed host information |
scrapeReviews | boolean | No | false | Also fetch guest reviews (saved to the reviews dataset) |
maxReviewsPerListing | integer | No | 10 | Max reviews to scrape per listing (1–100) |
checkIn / checkOut | string | No | auto | Stay dates (YYYY-MM-DD) |
adults | integer | No | 1 | Number of adults |
disclosureDomain | string (dropdown) | No | www.airbnb.fr | Airbnb regional domain used for property details. Required to receive the professional-host legal notice (business email, phone, company name, registry number, address) — Airbnb does not serve it on www.airbnb.com. Pick any region from the list (France, Germany, Spain, Italy, Portugal, Netherlands, Poland, Ireland, Belgium, Austria, UK) |
proxyConfiguration | object | No | off | Not required for API-based scraping |
Output
Two separate datasets are created on every run:
Listings dataset (default) — one row per listing:
| Field | Type | Description |
|---|---|---|
id / url | string | Listing ID and URL |
title / subtitle | string | Listing title |
description | string | Full listing description |
pricePerNight / originalPricePerNight | number | Nightly prices |
rating / reviewsCount | number | Guest rating and total review count |
superhost | boolean | Host is a Superhost |
latitude / longitude | number | Listing coordinates |
beds / bathrooms | string | Bed/bath info |
propertyType / roomType | string | Property type |
personCapacity | number | Max guests |
overview / amenities / houseRules | array | Key facts, amenities, rules |
badges / photos | array | Search badges and photo URLs |
categoryRatings | array | Per-category guest ratings |
isGuestFavorite / isNewListing | boolean | Badges |
host | object | Host profile — see host fields below |
location / checkIn / checkOut / adults | — | Search context |
host object fields (when includeHostDetails is enabled):
| Field | Type | Description |
|---|---|---|
id / profileUrl | string | Host user ID and public profile URL |
name / about / highlights | string / array | Profile name, bio and highlights |
isSuperhost / isVerified / rating / reviewsCount / yearsHosting | — | Host reputation |
responseRate / responseTime | string | Airbnb response metrics |
isBusinessHost / hostType | boolean / string | BUSINESS for professional hosts, INDIVIDUAL for private ones |
email / phone | string | Business contact details from Airbnb's professional-host legal notice (business hosts only) |
companyName / registrationNumber / businessAddress | string | Company name, registry number (RCS/SIRET/VAT) and business address (business hosts only) |
About host email & phone: Airbnb deliberately hides contact details for private hosts — there is no way to obtain them. For professional traders Airbnb publishes a legal notice that can contain the company name, business email, phone number, registry number and address. This actor reads that notice and exposes it as
host.email,host.phone,host.companyName,host.registrationNumberandhost.businessAddress.Two rules apply:
- The notice is only served on non-
.comAirbnb domains (any region works — France, Germany, Spain, UK, …), never onwww.airbnb.com. The property-details request therefore defaults towww.airbnb.fr; pick another region in thedisclosureDomaindropdown if needed.- The content depends on what the trader disclosed, not on the domain. Properties whose trader filled in the mandatory EU/EEA trader information (hotels, agencies, companies — including many UK hotels) get email/phone; small private or unregistered hosts do not, and their fields stay
null. Real-world coverage is roughly 50–70% of business hosts in European cities (hotels highest), andINDIVIDUALhosts are alwaysnull.
Reviews dataset (reviews) — one row per review:
| Field | Type | Description |
|---|---|---|
listingId / listingUrl / listingTitle | string | Parent listing reference |
reviewId | string | Review ID |
rating | number | Guest rating (1–5) |
text | string | Review text (English translation if the original is in another language) |
date / createdAt | string | Review date |
language | string | Original review language |
reviewer | object | Reviewer name, superhost status, location, picture URL |
location / checkIn / checkOut / adults | — | Search context |
Example Input
{"locationQueries": ["Santorini, Greece", "Amalfi Coast, Italy"],"maxListingsPerLocation": 30,"includeHostDetails": true,"scrapeReviews": true,"maxReviewsPerListing": 10}
Example Output
[{"id": "12345678","url": "https://www.airbnb.com/rooms/12345678","title": "Sea View Villa with Infinity Pool","pricePerNight": 285,"rating": 4.92,"reviewsCount": 127,"superhost": true,"beds": "2 bedrooms","bathrooms": "2 baths","amenities": ["Pool", "WiFi", "Kitchen", "Air conditioning"],"locationText": "Oia, Santorini, Greece","host": {"id": "581847163","profileUrl": "https://www.airbnb.com/users/show/581847163","name": "Maria K.","isSuperhost": true,"isBusinessHost": true,"hostType": "BUSINESS","email": "contact@seavillarentals.gr","phone": "+30 22860 71234","companyName": "Sea Villas OE","registrationNumber": "800123456","businessAddress": "Oia, 84702 Santorini, Greece","rating": 4.9,"reviewsCount": 312,"yearsHosting": 7,"responseRate": "Response rate: 100%","responseTime": "Responds within an hour"}}]
Integrations
- Google Sheets — Export listings to Google Sheets for collaborative analysis.
- Webhooks — Send results to any HTTP endpoint on completion.
- Zapier / Make — Automate workflows with 5,000+ app integrations.
- Slack — Get notified when scraping finishes with summary stats.
Related Actors
- Booking.com Scraper — Scrape hotel listings from Booking.com.
- VRBO Scraper — Extract vacation rental data from VRBO.
- Google Maps Scraper — Scrape business listings from Google Maps.
FAQ
Does this require Airbnb API access? No. The Actor calls Airbnb's internal search and property-detail APIs over HTTP, so no API key or developer account is needed.
Can I scrape specific dates and availability? The actor captures the default availability displayed. For specific date ranges, custom configurations may be needed.
How accurate are the prices? Prices reflect what is displayed on Airbnb at scrape time. Taxes, fees, and dynamic pricing may cause variations.
Is there a free tier? Yes. Apify's free plan includes monthly credit; at the current free-tier rates ($1.50 per 1,000 listings and $0.10 per 1,000 reviews), that covers thousands of listing rows before platform usage costs.
Do I get host email addresses and phone numbers?
For professional traders, often yes: Airbnb publishes a legal notice containing the trader's company name, business email, phone number, registry number and address, and the actor maps those to host.email, host.phone, host.companyName, host.registrationNumber and host.businessAddress. The notice is never served on www.airbnb.com (use a regional domain — disclosureDomain), and it is only populated when the trader actually submitted that information: hotels and registered companies usually have it (including many UK hotels), while private or unregistered hosts return null. Private hosts (hostType: "INDIVIDUAL") never have it, because Airbnb does not expose their contact details anywhere public.
Can I scrape listings from multiple countries? Yes. Provide location queries for any country where Airbnb operates.
SEO Keywords
airbnb scraper, airbnb listing scraper, scrape airbnb, airbnb data extraction, airbnb prices scraper, airbnb host scraper, airbnb api alternative, extract airbnb listings, airbnb market analysis, airbnb price comparison, airbnb vacation rental data, airbnb scraping tool, airbnb reviews scraper, airbnb availability checker, airbnb investment data, scrape airbnb without api, airbnb competitor analysis, airbnb pricing data, apify airbnb scraper, airbnb research tool
For AI Agents
Purpose: Scrape Airbnb listings with prices, host details, reviews, and availability for any location.
Minimal Input JSON:
{"locationQueries": ["Paris, France"],"maxListingsPerLocation": 10}
Output Fields: id, url, title, description, pricePerNight, originalPricePerNight, rating, reviewsCount, superhost, beds, bathrooms, propertyType, personCapacity, amenities, houseRules, photos, locationText, latitude, longitude, host (name, id, profileUrl, isSuperhost, isVerified, rating, reviewsCount, yearsHosting, responseRate, responseTime, about, highlights, isBusinessHost, hostType, email, phone, companyName, registrationNumber, businessAddress)
Behaviors:
- Accepts location names or search queries
- Fetches search results page by page via Airbnb's internal API
- Optionally extracts detailed host information, including business contact details (email/phone) from the professional-host legal notice
- Stores results in dataset for export
Billing: Pay-per-event - one LISTING event per listing and one REVIEW event per scraped review. Free-tier prices are $1.50 per 1,000 listings and $0.10 per 1,000 reviews; higher Apify tiers are lower.
Legal Disclaimer
This Actor is developed and maintained independently and is not affiliated with, endorsed by, or connected to Airbnb, Inc. in any way. The Actor accesses only publicly available data in compliance with applicable laws. Users are responsible for ensuring their use of this Actor complies with Airbnb's Terms of Service and all relevant regulations. The developer assumes no liability for misuse.