Airbnb Listings Scraper — Prices, Hosts & Details ($0.50/1k)
Pricing
from $0.50 / 1,000 listing scrapeds
Airbnb Listings Scraper — Prices, Hosts & Details ($0.50/1k)
Scrape Airbnb by city or search URL: nightly/total price, rating, reviews, coordinates, photos, badges. Optional details: description, amenities, house rules, host/superhost, beds/baths/guests, rating breakdown. Auto-splits by price band past Airbnb's ~270 cap. $0.50 per 1,000 listings.
Pricing
from $0.50 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Mohammed Samaan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Airbnb Listings Scraper
Search Airbnb by city or by search URL and get back every listing — price, rating, review count, coordinates and photos — with an optional switch to enrich each one with its full detail page. No browser: it reads the JSON payload Airbnb's own front-end renders, so it's fast and cheap to run.
Who it's for
- Short-term-rental investors comparing nightly rates and occupancy signals across a city before buying
- Property managers and dynamic-pricing tools tracking competitor rates
- Market researchers mapping supply by property type, bedroom count and price
What you get
| Field | What it is |
|---|---|
id / url | Listing ID and link |
name / title | Listing title |
propertyType / roomType | Entire home, private room, etc. (detail) |
city / lat / lng | Location |
pricePerNight / priceTotal / originalPrice / currency | Pricing |
rating / reviewsCount | Overall rating and review count |
ratingBreakdown | Per-category rating (detail) |
isSuperhost / hostId / hostName | Host info (detail) |
bedrooms / beds / bathrooms / maxGuests | Space (search + detail) |
amenities / houseRules | Full lists (detail) |
images | Photo URLs — a few from search, all from detail |
description / highlights | Listing text (detail) |
badges | e.g. Superhost, Guest favorite (search) |
checkIn / checkOut / scrapedAt | Dates the price applies to, timestamp |
Detail-only fields are null until includeDetails is on.
Input
{"locationQueries": ["Dubai"],"maxListingsPerQuery": 200,"currency": "USD","includeDetails": false}
Or paste an Airbnb search URL directly in startUrls to keep its filters.
currency matters — Airbnb otherwise guesses it from your proxy's country,
which mixes currencies across rows if you don't set it. Turn on
includeDetails to fetch each listing's full detail page (billed separately).
Airbnb caps a single search at roughly 270 results; splitByPriceBands
(on by default) automatically re-runs a saturated search across price bands
to go deeper.
Pricing
$0.50 per 1,000 listings scraped, plus $2 per 1,000 listing details
when includeDetails is on and a listing's detail page was actually fetched.
1,000 listings with full details costs $2.50.
How it compares
No browser means no Chromium to boot and no per-second compute charge — just HTTP requests reading the same JSON payload Airbnb's page already loads. That keeps a plain listing scrape cheap; detail enrichment costs more because it's one extra request per listing, priced separately so you only pay for it when you ask for it.
Use with n8n / Make / Zapier
Add an Apify integration node, run this actor with your locations or URLs,
then read the finished dataset back into your workflow — the stable id and
url per listing make it easy to join against a pricing or alerting flow.
FAQ
Does it need a login or cookies? No — everything comes from public pages.
Does it use a browser? No — plain HTTP requests against Airbnb's own server-rendered JSON payload.
Can I get every listing in a big city? Turn on splitByPriceBands and
raise maxListingsPerQuery; for exhaustive coverage, feed one startUrl per
neighbourhood or map area.
Why are cancellationPolicy and instantBook usually null? Airbnb only
exposes those inside its booking flow, not on the listing page, so the actor
doesn't fabricate values for them.
Are reviews included? Not the review text — it lives behind a request whose query hash Airbnb rotates per release, so it isn't included in this version rather than ship something that breaks silently.
What if Airbnb blocks the run? If it serves a block page, the run logs
the page's title so you can see what came back instead of a silent empty
dataset. Use RESIDENTIAL proxy for larger runs.