Airbnb Rooms Scraper (Details + Price by URL)
Pricing
from $2.00 / 1,000 rooms
Airbnb Rooms Scraper (Details + Price by URL)
Scrape Airbnb listings from room URLs: title, price for your dates, per-night rate, rating, reviews, bedrooms, amenities, location, photos. Fast HTTP-only, no browser.
Pricing
from $2.00 / 1,000 rooms
Rating
0.0
(0)
Developer
Patarapong Limvipaveeanan
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
25 days ago
Last modified
Categories
Share
What does Airbnb Rooms Scraper do?
Airbnb Rooms Scraper takes a list of Airbnb listing URLs and returns each listing's details and the price for your dates: total price, per-night rate, original (pre-discount) price, availability, rating and sub-ratings, reviews, bedrooms, beds, bathrooms, guests, amenities, house rules, location with coordinates, description and photos. Output is clean JSON, CSV or Excel.
It reads the data Airbnb already sends to your browser, over plain HTTP with no headless browser. That makes it fast (about 140 rooms per minute with prices) and cheap. On Apify you also get API access, scheduling, integrations and monitoring.
Why scrape Airbnb listings?
- Price monitoring: track what specific competitors charge for the same dates, every day.
- Revenue management for hosts and property managers: compare your nightly rate, rating and amenities against the listings you compete with.
- Market research and investment analysis: build datasets of rates, occupancy signals and property features for an area.
- Travel and data products: enrich your own listing database with up-to-date prices and ratings.
- Data for AI agents and dashboards: flat, consistent records per listing.
How to scrape Airbnb rooms
- Collect the listing URLs you care about (
https://www.airbnb.com/rooms/<id>, any Airbnb domain works). - Paste them into Room URLs.
- To get prices, set Check-in and Check-out dates, the number of Adults and your Currency. Without dates you get details only.
- Click Start and download the results as JSON, CSV, Excel or HTML, or fetch them through the Apify API.
Input
| Field | Description |
|---|---|
startUrls | Airbnb room URLs like https://www.airbnb.com/rooms/12345. Other URLs are skipped. |
checkIn, checkOut | Dates (YYYY-MM-DD) for the price and availability. Leave empty for details only. |
adults | Adult guests for the price (default 2). |
currency | Price currency, e.g. USD, EUR, GBP, THB (default USD). |
proxyConfiguration | Optional. Usually not needed. Turn on Apify Proxy only if you see repeated HTTP 403 or 429 errors. |
{"startUrls": [{ "url": "https://www.airbnb.com/rooms/32422325" },{ "url": "https://www.airbnb.co.uk/rooms/20669368" }],"checkIn": "2026-11-10","checkOut": "2026-11-13","adults": 2,"currency": "EUR"}
Output example
{"id": "1764409719853216298","url": "https://www.airbnb.com/rooms/1764409719853216298","title": "[Bangkok Downtown Boutique Twin Room] Near BTS / Ekkamai / Free Gym / Grand Palace / Shopping Malls","propertyType": "Entire rental unit","roomType": "Entire home/apt","location": "Watthana, Bangkok, Thailand","latitude": 13.7393,"longitude": 100.5889,"guests": 4,"bedrooms": 1,"beds": 2,"bathrooms": 1,"rating": 5,"reviewCount": 6,"isSuperhost": false,"isGuestFavorite": true,"amenities": ["Hair dryer","Shampoo","Hot water","Shower gel"],"houseRules": ["Check-in: 2:00 PM - 8:00 PM","Checkout before 11:00 AM","4 guests maximum"],"photoCount": 28,"checkIn": "2026-12-04","checkOut": "2026-12-07","adults": 2,"currency": "USD","isAvailable": true,"totalPrice": 201,"originalTotalPrice": 220,"pricePerNight": 73.21,"priceLabel": "$201 for 3 nights, originally $220","cancellation": "Free cancellation before November 29"}
Data fields
| Field | Description |
|---|---|
totalPrice, originalTotalPrice | Total for the stay in currency (fees included, as Airbnb shows it) and the pre-discount total if discounted |
pricePerNight, priceLabel | Nightly rate from Airbnb's price breakdown, and the price text as shown |
isAvailable, cancellation | Whether the dates can be booked, and the cancellation summary. Prices are empty when the dates aren't available |
rating, reviewCount, rating* | Overall rating, review count and the accuracy, check-in, cleanliness, communication, location and value ratings |
guests, bedrooms, beds, bathrooms | Capacity and rooms (a studio has 0 bedrooms; a half-bath counts 0.5). Empty for hotel rooms and multi-unit listings, where Airbnb doesn't publish them |
propertyType, roomType | e.g. Tiny home and Entire home/apt |
location, latitude, longitude | Area name and approximate coordinates, as Airbnb shows them before booking |
amenities, highlights, houseRules | Available amenities, listing highlights and house rules |
isSuperhost, isGuestFavorite | Airbnb badges. Host names and profiles are not collected |
description, photos, photoCount | Listing description and photo URLs |
How much does it cost to scrape Airbnb?
You pay $2 per 1,000 rooms (plus a tiny start fee per run) with no subscription. The Apify free plan's monthly credits cover a couple of thousand rooms, so you can test for free. Set a maximum cost per run in the run options and the scraper stops cleanly when it's reached.
Tips
- Prices depend on dates and guests. Run the same URLs with several date ranges to see weekday, weekend and seasonal rates.
- Schedule a daily run on your competitor list to track price changes over time.
- Removed or unlisted rooms are skipped and not charged.
FAQ
Is it legal to scrape Airbnb? This scraper collects only publicly visible listing data and doesn't log in. It doesn't collect host names, profiles or guest reviews' authors. Check Airbnb's terms and make sure your use complies with the laws that apply to you, including GDPR.
Can it search a city instead of taking URLs? Not yet. It works from room URLs. Open an issue if you need search.
Something broke or you need another field? Open an issue on the Issues tab. Custom solutions are available on request.