Airbnb Listings Scraper
Pricing
from $4.00 / 1,000 listings
Airbnb Listings Scraper
Scrape Airbnb search results: prices, discounts, ratings, coordinates and photos. No login or API key needed.
Pricing
from $4.00 / 1,000 listings
Rating
0.0
(0)
Developer
christopher tan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Export Airbnb search results into a spreadsheet, JSON, or your own app. Prices, discounts, ratings, coordinates and photos, with no login or API key.
Press Start to see it work. The default input searches Lisbon.
Need the full detail for listings you find? Feed the results into the Airbnb Listing Details Scraper for every amenity, the house rules, per-category ratings and room-by-room photos.
What you get
One row per listing:
| Field | Example |
|---|---|
name | Lisbon Downtown Baixa, ideal for short stay |
roomTypeTitle | Apartment in Santa Maria Maior |
price / pricePerNight | 1025 / 250 |
priceOriginal + isDiscounted | 1253, true — spot listings currently discounted |
priceBreakdown | Line items: nights x rate, discounts, cleaning |
rating / reviewsCount | 4.91 / 226 |
isGuestFavorite / badges | true / ["GUEST_FAVORITE"] |
latitude / longitude | 38.7111 / -9.1357 — ready to map |
details | ["1 bedroom", "1 king bed", "1 bathroom"] |
photoUrls | Up to 29 full-size image URLs |
url | https://www.airbnb.com/rooms/670694153658292838 |
What people use it for
- Short-let market research. Compare nightly rates by area and property size before buying or listing.
- Revenue management. Watch what comparable listings charge for your dates and spot who is discounting.
- Competitive analysis for hosts. See which nearby listings hold Guest Favourite status and how their pricing moves.
- Travel and relocation tools. Feed live inventory with coordinates straight into a map or an AI agent.
- Academic and policy research. Build a dated, geocoded snapshot of short-term rental supply in a city.
Input
Give it a location, or paste an Airbnb search URL to reuse filters you already set in the browser. Both work, and you can mix them.
| Setting | What it does |
|---|---|
| Locations | Lisbon, Portugal, Austin, Texas, and so on. Each is searched separately. |
| Airbnb search URLs | Any Airbnb /s/.../homes URL. Filters in the URL are respected. |
| Check-in / Check-out | Optional. Adding dates makes prices real quotes rather than estimates. |
| Guests | Adults, children, infants, pets. Changes both results and price. |
| Price range | Nightly minimum and maximum. |
| Currency | Three-letter code such as USD. |
| Max listings per search | Default 100. |
| Proxy | Off by default. Turn on if Airbnb starts showing bot checks. |
Sample output
{"search": "Lisbon, Portugal","listingId": "670694153658292838","url": "https://www.airbnb.com/rooms/670694153658292838","name": "Lisbon Downtown Baixa, ideal for short stay","roomTypeTitle": "Apartment in Santa Maria Maior","rating": 4.91,"reviewsCount": 226,"isGuestFavorite": true,"latitude": 38.7111,"longitude": -9.1357,"details": ["1 bedroom", "1 king bed", "1 bathroom"],"price": 1025.0,"priceDisplayed": "$1,025 SGD","priceOriginal": 1253.0,"isDiscounted": true,"pricePerNight": 250.0,"priceQualifier": "for 5 nights","photoCount": 29}
An unrecognised location is reported, not guessed
Airbnb answers a search it cannot resolve with HTTP 200 and a scatter of unrelated listings from all over. Rather than hand those to you as if they matched, this Actor detects it and tells you the location was not recognised. Misspellings that Airbnb can still resolve, like Lisbonnn, work normally.
What it cannot do, and why
Worth reading before you plan a large job:
- Airbnb caps any single search at about 270 results (15 pages of 18). This is Airbnb's own limit, not a limit of this Actor, and no scraper can page past it. To cover a whole city, split the job: run several price bands, or several neighbourhoods, and combine the output. Setting a higher limit will simply return 270.
- Airbnb serves different results per country. Requests are redirected to a local Airbnb domain, and prices come back in that region's currency. The Actor detects and follows this automatically, and reports which domain it used. Set
currency, or use a proxy in the country you care about, if you need specific pricing. - Duplicates across pages are removed. Airbnb repeats some listings between pages; every row you get is a distinct listing.
- Prices are Airbnb's displayed totals, matching what a guest sees for those dates and guest count. Without dates, they are Airbnb's estimates.
- No host or guest personal data, and no reviews text. This collects listing information only.
More tools from steadyfeeds
- Telegram Channel Scraper — Export posts from public Telegram channels.
- Airbnb Listing Details Scraper — Full detail for a listing: amenities, rules, host and photos.
- Job Board Scraper — Every open role from company career pages across eight systems.
- Events Scraper — public events from Eventbrite, Meetup and Luma in one run.
Notes
Reads the same public search pages you can open in a browser. No headless browser is used, which is why runs are fast and cheap.
Something broken or a field you need? Open an issue on this Actor and I will take a look.