Airbnb Scraper - Listings, Prices, Ratings & Coords
Pricing
from $0.40 / 1,000 results
Airbnb Scraper - Listings, Prices, Ratings & Coords
Scrape Airbnb search results without login: prices in any currency, ratings and review counts, bedrooms and beds, GPS coordinates, photos and badges. Paste a search URL or type a location. Date, guest and price filters, pagination and a hard max-items cap.
Pricing
from $0.40 / 1,000 results
Rating
0.0
(0)
Developer
Alexander Shulga
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Airbnb Scraper — Listings, Prices, Ratings & Coordinates
Scrape Airbnb search results anywhere in the world, without a login or an API key. Prices in the currency you ask for, results in the language you ask for, and a hard cap so a run can never cost more than you expect.
What you get per listing
| Identity | listing id, direct URL, name, property type |
| Price | displayed price, price per night, number of nights, discount, total |
| Quality | rating, review count, "new listing" flag, badges such as Guest favourite |
| Space | bedrooms, beds, bathrooms |
| Place | latitude and longitude |
| Media | main photo URL |
| Host & quality | superhost flag, per-category ratings: cleanliness, location, value, check-in, accuracy, communication |
| Detail | room type, guest capacity, full amenity list |
The per-night price and the discount are the fields most scrapers miss. Airbnb leaves
its secondaryLine empty and hides the real breakdown in an explanation block —
"5 nights x $170.96", "Early booking discount −$189.61". This Actor parses that block, so
you get comparable nightly rates instead of a lump sum that depends on trip length.
Turning Fetch full listing details off makes runs about twice as fast and skips the host, amenity and per-category rating fields. It is on by default because most people want the full picture.
Quick start
- Type a Location the way you would on Airbnb:
Lisbon, Portugal,Tokyo, Japan,Warsaw, Poland,Bali, Indonesia,New York, NY. - Optionally set dates, guests, a price range and a currency.
- Press Start.
Defaults work with no configuration. You can also paste search URLs straight from your browser — every filter you set on the Airbnb site is preserved.
Worldwide by design
- Any location Airbnb knows, on any continent.
- Any currency: USD, EUR, GBP, PLN, JPY, BRL, INR, AUD, TRY, MXN and the rest. Without this you silently get whatever currency the server's location implies.
- 26 languages for property types and titles: English, Deutsch, Français, Español, Italiano, Português, Nederlands, Polski, Русский, Українська, Türkçe, 日本語, 한국어, 中文, العربية and more.
Who uses this
- Short-term rental investors sizing a market before buying.
- Hosts checking what comparable places nearby actually charge.
- Property managers repricing against live competition.
- Researchers and journalists measuring supply, price levels and concentration.
- PropTech and AI builders feeding live rental data into models and dashboards.
Output example
{"id": "1373174229965723254","url": "https://www.airbnb.com/rooms/1373174229965723254","name": "Historical Center - Tagus View","propertyType": "Apartment in Lisbon","bedrooms": 3, "beds": 4, "bathrooms": 2,"price": 827, "pricePerNight": 203.33, "nights": 5,"discount": 189.61, "totalPrice": 827.03,"priceCurrency": "EUR", "priceSymbol": "€","rating": 4.89, "reviewsCount": 98,"badges": ["Guest favorite"],"latitude": 38.7102, "longitude": -9.1312}
Control what you pay for
You are charged per listing, so the cost is always predictable.
| Run | Listings | Cost on the Free tier |
|---|---|---|
| One page | ~18 | ~$0.07 |
| Three pages (default) | ~54 | ~$0.22 |
| All 15 pages | ~270 | ~$1.08 |
Anything with maxItems: 50 | 50 | ~$0.20 |
Higher Apify plans get automatic volume discounts. The Actor also honours the maximum charge you set on a run and stops cleanly instead of burning compute you are not paying for. Duplicate listings across pages are skipped and never billed twice.
Input reference
| Field | Description | Default |
|---|---|---|
location | Any place on Airbnb | Lisbon, Portugal |
startUrls | Airbnb search URLs pasted from the browser | empty |
checkIn / checkOut | YYYY-MM-DD. Set both, or neither | empty |
adults / children / infants / pets | Guest mix | 2 / 0 / 0 / 0 |
priceMin / priceMax | Nightly price bounds in your currency | 0 / 0 |
minBedrooms | Minimum bedrooms | 0 |
currency | Three-letter code | USD |
language | Two-letter code, 26 supported | en |
maxPages | Pages per search, up to 15 (~18 listings each) | 3 |
maxItems | Hard cap on listings. 0 = no limit | 0 |
enrichListings | Open each listing page for host, amenities and per-category ratings | true |
proxyConfiguration | Residential recommended for larger runs | Apify RESIDENTIAL |
Troubleshooting
- No listings at all? Check the spelling of the location, or relax the filters. A location Airbnb does not recognise fails immediately with a clear message rather than running for minutes and returning nothing.
- Bedrooms and beds are empty for some rows? Search cards omit room counts for hotels and serviced apartments. Leave Fetch full listing details on and they are read from the listing page instead, which fills them for every row.
- Prices look odd? Set
currencyexplicitly. Without it Airbnb picks a currency from the server location, which for a cloud run is rarely the one you want. - Larger runs slowing down or failing? Enable Apify Proxy with the
RESIDENTIALgroup.
Measured against the most-used alternative
Same query, same day, 20 listings in Lisbon:
| This Actor | Most-used alternative | |
|---|---|---|
| Fields per listing | 40 | 37 |
| Room counts filled | 20/20 | partial |
| Per-night price and discount | yes | in a nested blob |
| Unknown location | refuses, charges nothing | returned 10 listings spread over 12,031 km and billed them |
That last row is the one that matters. Airbnb answers an unrecognised place with random listings from all over the world rather than an error. This Actor measures how far apart the results are and stops before writing a single row, so a typo costs you nothing.
What this Actor does not do
- Booking.com and other sites. Booking answers automated requests with a challenge page (HTTP 202, no data), so supporting it honestly would need a full browser and constant maintenance. Promising it here would mean charging you for a feature that breaks weekly.
- Occupancy history. Airbnb's calendar endpoint sits behind a rotating signed query hash. Anything advertising stable historical occupancy from search pages is guessing.
Integrations
Results can be pushed to Google Sheets, Slack, Zapier and Make, or pulled via the Apify API and MCP.