Airbnb Search Scraper
Pricing
from $2.00 / 1,000 listings
Airbnb Search Scraper
Scrapes Airbnb search results with full filter support: dates, guests, price, room type, property type, amenities, booking options, and category tags.
Pricing
from $2.00 / 1,000 listings
Rating
0.0
(0)
Developer
electra bot
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Search Airbnb listings by location and filters — and get name, price (with discounts), rating, review count, coordinates, room type, Superhost and Guest-favourite badges, and photos — as JSON, CSV, or Excel.
No browser, no API key. Full filter support: dates, guests, price range, bedrooms, beds, bathrooms, room type, Superhost.
Pay per result — you're charged per listing delivered.
What can I use it for?
- Market & pricing research — what do comparable stays charge in a city, on your dates? Prices come parsed as numbers, not strings.
- Short-let investment analysis — ratings, review counts, and coordinates let you map supply, demand, and quality by neighbourhood.
- Competitor monitoring — track a market's listings, prices, and badges over time.
- Travel and comparison sites — build inventory feeds with images and deep links.
- Data science / AI — geo-coded, structured listing data ready for modelling.
Input
| Field | Required | Description |
|---|---|---|
| Location | ◐ | e.g. Lisbon, Portugal. Provide this or a search URL. |
| …or an Airbnb search URL | ◐ | Paste a ready-made Airbnb search link (with your own filters or map bounds). |
| Check-in / Check-out | – | YYYY-MM-DD. Prices are only exact when dates are set — otherwise Airbnb shows indicative pricing. |
| Adults / Children / Infants / Pets | – | Guest counts (affects availability and price). |
| Min / Max price | – | Per-night price band. |
| Min bedrooms / beds / bathrooms | – | Size filters. |
| Room types | – | Entire home/apt, Private room, Shared room, Hotel room. |
| Superhost only | – | Restrict to Superhost listings. |
| Currency | – | ISO code (USD, EUR, GBP…). Default USD. |
| Max listings | – | 1–1,000 (default 100). Each listing is one billable result. |
| Proxy configuration | – | Automatic by default: datacenter proxy first, escalating to RESIDENTIAL only if Airbnb blocks it. |
Output
One record per listing:
{"listingId": "45307024","url": "https://www.airbnb.com/rooms/45307024","name": "THE miniPENTHOUSE terrace & SPA","roomType": "Room in Lisbon","locationLine": "Home Out 303 - Suite w/WC + balcony","details": ["2 bedrooms", "12–17 Jan"],"rating": 4.93,"reviewsCount": 45,"priceLabel": "$1,079","price": 1079.0,"originalPrice": 1199.0,"currency": "$","priceQualifier": "for 5 nights","isGuestFavorite": true,"isSuperhost": false,"badges": ["Guest favourite"],"latitude": 38.6929,"longitude": -9.298,"imageUrls": ["https://a0.muscache.com/im/pictures/..."],"thumbnailUrl": "https://a0.muscache.com/im/pictures/..."}
| Field | Description |
|---|---|
price / originalPrice | Parsed numbers, not display strings — sort and average them directly. Discounted stays show both. |
rating / reviewsCount | Parsed out of Airbnb's rating label |
latitude / longitude | Map listings, cluster by neighbourhood, compute distances |
isGuestFavorite / isSuperhost | Quality signals |
imageUrls | Full-size photo URLs |
Why this scraper is reliable
- Reads Airbnb's own structured data — the actor parses the GraphQL payload Airbnb embeds in its search pages, so you get exactly the values the site shows, not text scraped off the screen.
- No browser — one request per page of 18 listings. Fast and cheap.
- Fails loudly on format changes — if Airbnb changes its page structure, the run reports schema drift explicitly instead of quietly returning an empty dataset. (A scraper that silently returns nothing when a site changes is worse than one that stops: you'd never know your data was wrong.) A daily automated check on our side catches this before you do.
- Block-aware with automatic escalation — datacenter proxy first, then residential, then a fresh IP, before ever giving up.
- Prices parsed across locales —
$1,234.50,€1.234,50,₹1,07,897all become correct numbers. - Batch-safe — listings are saved incrementally, deduplicated across pages, and runs are checkpointed: an interruption never loses finished work or double-charges you.
Tips & limits
- Set check-in/check-out dates for exact prices. Without dates, Airbnb shows indicative pricing that can differ from a real booking quote.
- Airbnb's search returns roughly 270–300 listings per query. To cover a whole city, split it into neighbourhoods (or paste map-bounded search URLs) rather than raising Max listings.
pricereflects Airbnb's displayed total for the selected dates and guests (seepriceQualifier, e.g. "for 5 nights").
Use it from code
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("electrabot.info/airbnb-search-scraper").call(run_input={"location": "Lisbon, Portugal", "checkIn": "2026-09-01","checkOut": "2026-09-05", "adults": 2, "maxResults": 200})rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())avg = sum(r["price"] for r in rows if r["price"]) / len(rows)print(f"average: {avg:.0f}")
FAQ
Why are some prices null? Occasionally a listing shows no price (unavailable for your dates). The record is still returned with everything else.
Can I search a map area instead of a city name? Yes — draw the area on Airbnb, copy the URL, and paste it into Airbnb search URL.
Does it get amenities / host details / full descriptions? Those live on each listing's own page, not in search results. Tell us in the Issues tab if you need a detail-page scraper.
Is scraping Airbnb legal? This actor accesses only publicly available search results. You are responsible for complying with applicable laws and Airbnb's Terms of Service.
Disclaimer
This is an unofficial tool. It is not affiliated with, endorsed by, sponsored by, or in any way officially connected to Airbnb, Inc. "Airbnb" and related names, marks, and logos are trademarks of their respective owners and are used here for descriptive purposes only.
This actor accesses only publicly available information. You are responsible for ensuring your use complies with applicable laws, Airbnb's Terms of Service, and applicable rate-limiting rules. Use it ethically and at your own risk.