Airbnb Scraper - Stay Listings, Prices & Ratings
Pricing
from $5.00 / 1,000 results
Airbnb Scraper - Stay Listings, Prices & Ratings
Scrape Airbnb search results in bulk: stay names, nightly and total prices, ratings, review counts, Superhost and Guest favorite badges, coordinates and photos as clean JSON. Many locations or Airbnb search URLs per run, deep pagination, any currency. No login or API key needed.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Nicolas van Arkens
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Airbnb Scraper — Stay Listings, Prices & Ratings
Scrape Airbnb search results in bulk and get clean, structured JSON for every stay: name, property type, nightly and total price, rating, review count, Superhost / Guest favorite badges, exact coordinates and photo URLs.
Type locations exactly as you would on airbnb.com (or paste full Airbnb search URLs with your own filters), and the scraper paginates deep automatically — up to ~270 listings per search, Airbnb's own limit. Add as many locations as you like in a single run: 10 cities ≈ 2,700 rows.
No login, no API key, no browser — the actor reads the structured data Airbnb itself embeds in each search page, so it's fast and cheap to run.
What data you get
| Field | Description |
|---|---|
roomId, url | Unique listing ID and direct link (airbnb.com/rooms/...) |
name | Listing headline as shown on the card |
propertyType | e.g. "Apartment in Barcelona", "Room in Lisbon" |
rating, reviewsCount | Average guest rating (1–5) and number of reviews |
isNewListing | True when the card shows "New" instead of a rating |
isSuperhost, isGuestFavorite, badges | Quality badges on the card |
priceText, priceTotal, priceQualifier | Displayed price, its numeric value, and what it covers (e.g. "total") |
pricePerNight, nights | Per-night price derived from Airbnb's own price breakdown |
originalPriceText, originalPriceTotal | Pre-discount price when the host is running a deal |
currency | The ISO currency you asked for — pinned on every request |
checkIn, checkOut | The stay dates the price refers to |
latitude, longitude | Exact map coordinates of the listing |
details | Bed/bath/bedroom summary lines (e.g. "2 beds", "1.5 baths") |
images | Photo URLs for the listing card |
searchQuery, position | Which search produced the row and its rank |
Input example
{"locations": ["Lisbon, Portugal", "Barcelona, Spain"],"checkIn": "2026-09-04","checkOut": "2026-09-08","adults": 2,"currency": "USD","maxResultsPerSearch": 270}
You can also paste full Airbnb search URLs (with amenity filters, map bounds, flexible dates...) into searchUrls — each is paginated the same way.
Output sample (real row)
{"roomId": "1684094795418458585","url": "https://www.airbnb.com/rooms/1684094795418458585","name": "3 bedrooms, bright, elegant, Sagrada Familia, AC","propertyType": "Apartment in Barcelona","rating": 5.0,"reviewsCount": 4,"isNewListing": false,"isSuperhost": true,"isGuestFavorite": false,"badges": ["Superhost"],"priceText": "$2,017","priceQualifier": "total","priceTotal": 2017.0,"pricePerNight": 403.4,"nights": 5,"originalPriceText": null,"originalPriceTotal": null,"currency": "USD","checkIn": "2026-08-22","checkOut": "2026-08-27","latitude": 41.40654,"longitude": 2.17142,"details": ["Business host"],"images": ["https://a0.muscache.com/im/pictures/hosting/Hosting-1684094795418458585/original/5bc4e2b6-41e0-4371-aee3-e8adda50c6cb.jpeg"],"searchQuery": "Barcelona, Spain","position": 1,"scrapedAt": "2026-07-18T12:04:11.532156+00:00"}
Use cases
- Pricing & revenue research — track nightly rates, discounts and occupancy signals across whole cities for specific dates; feed dynamic-pricing models for your own rentals.
- Market analysis & investment — count supply, ratings and Superhost density per neighborhood (every row has coordinates, so it maps directly).
- Competitor monitoring — watch new listings, price drops and Guest favorite status in the markets you host in.
- Travel products & lead lists — build stay-comparison tools, deal alerts, or datasets of top-rated stays for content and newsletters.
FAQ
Do I need dates? No — without dates Airbnb prices a default stay window. Set checkIn/checkOut to get exact totals for your dates (each row echoes the dates its price refers to).
Why do I get at most ~270 rows per search? That's Airbnb's own pagination limit for one search. To collect more, split the market into several locations (neighborhoods, nearby towns) or several filtered searchUrls (e.g. price bands) — each one paginates up to ~270 again.
What currency are prices in? Whatever you set in currency (default USD). The scraper pins it on every request, so rows are consistent regardless of proxy location.
Does it scrape host contact data? No. It returns exactly the public data shown on Airbnb's search result cards.
Which proxy should I use? Leave the default (Apify residential proxy). Airbnb often blocks datacenter IPs.
How am I charged? Pay per result: you're charged once per listing row delivered. Blocked or empty pages cost nothing.
