Airbnb Scraper - Listings, Prices & Ratings
Pricing
from $3.00 / 1,000 results
Airbnb Scraper - Listings, Prices & Ratings
Extract Airbnb listings from any search URL with price per night, rating, review count, capacity and GPS coordinates. Prices come with their period and night count, so a total for the stay is never compared against a nightly rate.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Juan ignacio Veltri
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Airbnb Scraper — Listings, Prices & Ratings
Paste an Airbnb search URL. Get every listing as clean, structured data — with prices you can actually compare.
Works on any Airbnb country domain: .com, .es, .com.ar, .mx, .com.br, .co.uk, .fr, .de, .it.
The price problem this solves
Airbnb shows "$337 for 5 nights" when your search has dates, and "$67 per night" when it does not. Most scrapers store the number and drop the qualifier, so a five-night total ends up in the same column as a nightly rate. Every average, every filter, every comparison you build on top of that is wrong.
This Actor always returns three fields together:
"price": { "amount": 337, "currency": "USD", "raw": "$337 USD for 5 nights" },"pricePeriod": "stay","priceNights": 5
So 337 / 5 = 67 is a number you can trust. The maxPricePerNight filter does that division for you — a cheap listing is never excluded just because the stay is long.
What you get per listing
| Field | Example |
|---|---|
name | Dana Apartments |
propertyType | Rental unit in Madrid |
rating | 4.78 |
reviewsCount | 222 |
price + pricePeriod + priceNights | 337 · stay · 5 |
capacity, bedrooms, beds, bathrooms | when the listing states them |
location.latitude / longitude | exact coordinates |
isSuperhost | true / false |
images | full-resolution URLs |
How to use it
Scrape a destination
Set your dates, guests and filters on Airbnb, then copy the URL:
{"startUrls": [{ "url": "https://www.airbnb.com/s/Madrid--Spain/homes" }],"maxItems": 300}
Well-rated listings under a nightly budget
{"startUrls": [{ "url": "https://www.airbnb.com/s/Barcelona--Spain/homes" }],"minRating": 4.5,"minReviews": 50,"maxPricePerNight": 120,"onlySuperhost": true}
Monitor new listings
Schedule it with includeSeen off — each run returns only listings that appeared since the last one.
About the 300-result cap
Airbnb limits every search to roughly 300 results. That is the site's limit, not this Actor's, and no scraper can go past it on a single URL.
To cover a whole city, split the search and pass several URLs — by neighbourhood, by price band, or by date range. The run log tells you when a search has been exhausted so you know when to split.
Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
startUrls | array | example URL | Airbnb search result URLs |
nameKeywords | array | [] | Keep listings whose name matches any word |
minRating | integer | — | Minimum rating, 0–5 |
minReviews | integer | — | Minimum review count |
maxPricePerNight | integer | — | Compared per night, not per stay |
onlySuperhost | boolean | false | Only Superhost listings |
maxItems | integer | 200 | Hard stop. Your cost control |
maxPagesPerUrl | integer | 15 | Pages per URL (~18 listings each) |
includeSeen | boolean | true | false returns only listings new since the last run |
proxyTier | enum | datacenter | Starts cheap, escalates only if blocked |
maxProxyTier | enum | residential | Set to datacenter to never spend residential bandwidth |
maxRequestsPerMinute | integer | 40 | Throttle. Often more effective than switching proxies |
Cost
Charged per listing saved. Listings removed by your filters or already seen are not charged.
The Actor starts on datacenter proxies and escalates to residential only when it detects an anti-bot challenge, so you do not pay for residential bandwidth unless the site actually demands it.
FAQ
Why do some listings have no rating? Because they are new and have no reviews yet. The field comes back null and reviewsCount is 0, rather than being guessed as zero stars.
Why is capacity sometimes empty? Airbnb only states guests, bedrooms and beds on some cards. Missing values are returned as null instead of being inferred.
Why fewer results than Airbnb shows? Either maxItems, or Airbnb's own ~300-result cap. Split the search into several URLs to go wider.
Is this legal? Only public search results are extracted — the same information any visitor sees without logging in. No login is bypassed and no personal data is collected.
Support
Found a search URL that does not parse? Open an issue with the URL. Reports with a URL get fixed fastest.
