Airbnb Scraper - Prices, Ratings, All Results
Pricing
from $1.50 / 1,000 listings
Airbnb Scraper - Prices, Ratings, All Results
Airbnb stays for any place or search URL: total and nightly price for your dates, discounts, rating, reviews, bedrooms, beds, baths, Superhost, photos, coordinates. Goes past Airbnb's 270-result limit by splitting the map. Only-new mode.
Pricing
from $1.50 / 1,000 listings
Rating
0.0
(0)
Developer
Ken Digital
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Airbnb stays as clean rows for any place or search URL: total and nightly price for your dates, original price when discounted, rating, review count, bedrooms, beds, baths, Superhost and Guest favorite badges, free cancellation, photos and coordinates. Airbnb's website stops at 15 pages (270 stays) per search; this actor splits the map into smaller areas until each one fits, so a whole city comes back, not just the first 270.
- Prices for real stays: give check-in and check-out dates and every row carries the total, the nightly rate and the discount.
- All results: past the 270 limit, up to 10,000 stays per search.
- Any place, any URL: type
Lisbon, Portugalor paste a search from airbnb.com with your own filters and map area. - Only new listings remembers what earlier runs delivered, so scheduled runs return and bill only new stays.
- No login, no cookies, no proxy setup.
Quick start
{"searches": ["Lisbon, Portugal"],"checkIn": "2026-11-10","checkOut": "2026-11-13","adults": 2,"roomTypes": ["entireHome"],"maxItems": 1000}
Input
| Field | Type | Default | Description |
|---|---|---|---|
searches | array | required | Places or airbnb.com search URLs. |
checkIn / checkOut | string | YYYY-MM-DD. Both, for prices of a real stay. | |
adults | integer | Number of guests. | |
minPrice / maxPrice | integer | Per night, in the selected currency. | |
roomTypes | array | all | entireHome, privateRoom, sharedRoom, hotelRoom. |
minBedrooms | integer | ||
currency | string | USD | USD, EUR, GBP, CAD, AUD... |
maxItems | integer | 200 | Per search. 0 = every stay (up to 10,000). |
onlyNewListings | boolean | false | Return only stays not delivered by earlier runs of the same search. |
Output
{"listingId": "1739191287312219234","url": "https://www.airbnb.com/rooms/1739191287312219234","name": "Romantic Stay Close to the Eiffel Tower","propertyType": "Apartment","area": "Paris","subtitle": "10-minute walk to the Eiffel Tower","latitude": 48.8493,"longitude": 2.2868,"rating": 5.0,"reviewCount": 6,"bedrooms": 1,"beds": 1,"baths": 1,"totalPrice": 372,"originalPrice": null,"pricePerNight": 123.79,"nights": 3,"currency": "USD","isSuperhost": false,"isGuestFavorite": true,"freeCancellation": true,"photos": ["https://a0.muscache.com/im/pictures/..."],"checkIn": "2026-11-10","checkOut": "2026-11-13","searchInput": "Paris, France","scrapedAt": "2026-10-07T10:00:00+00:00"}
rating is null and isNew is true for listings without reviews yet. Without dates, Airbnb prices a short default stay; give dates for comparable prices.
Pricing
Pay per event: one listing event per stay row, plus a tiny actor-start fee. With Only new listings on, a run with nothing new costs only the start fee.
Use cases
- Short-term rental investors: nightly rates, ratings and supply for a whole city, to size revenue before buying
- Hosts and property managers: price your listing against every comparable stay for the same dates
- Travel and market research: supply, prices and Superhost share by neighborhood
- Lead generation for cleaning, furnishing and management services
Integrations
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("joyouscam35875/airbnb-scraper").call(run_input={"searches": ["Austin, TX"],"checkIn": "2026-12-04","checkOut": "2026-12-06","maxItems": 0,})for stay in client.dataset(run["defaultDatasetId"]).iterate_items():print(stay["pricePerNight"], stay["rating"], stay["reviewCount"], stay["url"])
Works with Make, Zapier, n8n, Google Sheets, schedules and webhooks, and as an MCP tool for AI agents.
FAQ
How does it get past 270 results? Airbnb shows at most 15 pages for one map view. When a view is full, the actor searches its four quarters instead, and repeats where needed, then removes duplicates.
What if my run has a short timeout? The actor stops shortly before it, keeps every stay already saved, and ends successfully with a message saying so.
Is it legal? The actor reads publicly visible search results and does not log in or export hosts' personal data. You are responsible for how you use the data and for complying with Airbnb's terms and applicable law.
Feedback
Missing a field? Open an issue on the actor's Issues tab. If this scraper saved you time, a short review on the Store page helps other people find it.
Related actors by the same developer
| Actor | What it does |
|---|---|
| Zillow Search Scraper | Every home of a Zillow search, past the 820 limit |
| SeLoger, Leboncoin, Bien'ici, PAP & Logic-Immo Scraper | French property listings from five sites with real sale prices |
| Google Maps Scraper | Businesses, ratings and contact details from Google Maps |