Airbnb Room Details Scraper
Pricing
$4.99/month + usage
Airbnb Room Details Scraper
Automated Airbnb data extraction tool that collects room details listings, pricing, ratings, and property details at scale. Perfect for market research, competitor analysis, and price monitoring.
Pricing
$4.99/month + usage
Rating
0.0
(0)
Developer

ZeroBreak
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Airbnb Details Scraper Actor
A powerful Apify Actor for scraping Airbnb listings and room details. Search multiple locations simultaneously or fetch details for specific room URLs with full support for date ranges and guest counts.
Features
✨ Dual Mode Operation
- Search Mode: Find listings by location (city, neighborhood, address)
- Room Details Mode: Get detailed information for specific Airbnb URLs
🚀 Batch Processing
- Process multiple locations in a single run
- Scrape multiple room URLs simultaneously
- Configurable delays between requests
📊 Rich Data Extraction
- Full listing details including pricing, amenities, and reviews
- Support for date-specific pricing (check-in/check-out dates)
- Customizable guest count (up to 16 adults)
🔧 Flexible Configuration
- Adjustable result limits per location
- Optional detailed information fetching
- Custom API endpoint support via environment variables
Input Parameters
Location Search
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
locations | array | No* | ["London", "Paris", "New York"] | Array of locations to search |
max_results | integer | No | 10 | Number of listings per location (1-50) |
fetch_details | boolean | No | true | Whether to fetch full listing details |
Room URL Scraping
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
room_urls | array | No* | ["https://www.airbnb.com/rooms/..."] | Array of Airbnb room URLs |
Common Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
check_in | string | No | "2024-10-08" | Check-in date (YYYY-MM-DD format) |
check_out | string | No | "2024-10-14" | Check-out date (YYYY-MM-DD format) |
adults | integer | No | 1 | Number of adults (1-16) |
delay_between_requests | number | No | 1.0 | Delay between requests in seconds (0.5-5.0) |
* At least one of locations or room_urls must be provided
Input Example
{"locations": ["Manhattan, New York","Brooklyn, New York","London, UK"],"room_urls": ["https://www.airbnb.com/rooms/53802054","https://www.airbnb.com/rooms/1105843987225700418"],"max_results": 20,"fetch_details": true,"check_in": "2024-12-20","check_out": "2024-12-27","adults": 2,"delay_between_requests": 1.5}
Output Format
The actor pushes data to the dataset in real-time. Each result is tagged with a type for easy filtering.
Search Results
{"id": "loc_1_item_1","type": "search_result","location": "Manhattan, New York","data": {"room_id": "12345678","title": "Cozy Studio in Midtown","location": "Manhattan, New York, NY","price": "$150/night","rating": 4.8,"reviews_count": 234,"amenities": ["WiFi", "Kitchen", "AC"],"url": "https://www.airbnb.com/rooms/12345678"},"parameters": {"location_index": 1,"total_locations": 3,"max_results": 20,"fetch_details": true},"timestamp": "2024-02-03T10:30:45Z"}
Room Details
{"id": "room_1","type": "room_result","room_url": "https://www.airbnb.com/rooms/53802054","data": {"room_id": "53802054","title": "Beautiful Loft with City Views","location": "Brooklyn, New York","price": "$200/night","total_price": "$1400","bedrooms": 2,"bathrooms": 1,"max_guests": 4,"amenities": ["WiFi", "Kitchen", "Washer", "Dryer"],"host": {"name": "John","superhost": true}},"parameters": {"room_index": 1,"total_rooms": 2,"check_in": "2024-12-20","check_out": "2024-12-27","adults": 2},"timestamp": "2024-02-03T10:31:00Z"}
Error Results
{"type": "search_error","location": "Invalid Location","error": "API returned status 404","details": "Location not found","index": 2}
Summary
At the end of each run, a summary object is pushed:
{"type": "summary","parameters": {"max_results": 20,"fetch_details": true,"check_in": "2024-12-20","check_out": "2024-12-27","adults": 2,"delay_between_requests": 1.5},"locations_count": 3,"rooms_count": 2,"stats": {"total_locations": 3,"total_rooms": 2,"completed_searches": 3,"completed_rooms": 2,"failed_searches": 0,"failed_rooms": 0,"total_listings": 60,"status": "completed"},"location_results_summary": [{"location": "Manhattan, New York","count": 20,"data": []}],"room_results_summary": [{"room_url": "https://www.airbnb.com/rooms/53802054","title": "Beautiful Loft with City Views","location": "Brooklyn, New York"}],"timestamp": 1707123456.789}
Usage Examples
Example 1: Search Multiple Cities
{"locations": ["Paris, France","Rome, Italy","Barcelona, Spain"],"max_results": 15,"check_in": "2024-08-01","check_out": "2024-08-07","adults": 2}
Example 2: Get Details for Specific Rooms
{"room_urls": ["https://www.airbnb.com/rooms/12345","https://www.airbnb.com/rooms/67890","https://www.airbnb.com/rooms/11111"],"check_in": "2024-09-15","check_out": "2024-09-22","adults": 4}
Example 3: Combined Search and Room Details
{"locations": ["Tokyo, Japan"],"room_urls": ["https://www.airbnb.com/rooms/98765"],"max_results": 10,"fetch_details": true,"adults": 2,"delay_between_requests": 2.0}
URL Format Requirements
Room URLs must match the following format:
https://www.airbnb.com/rooms/[ROOM_ID]https://airbnb.com/rooms/[ROOM_ID]https://www.airbnb.co.uk/rooms/[ROOM_ID](or other country TLDs)
Invalid URLs will be logged as errors and skipped.
Performance & Rate Limiting
- Concurrent Processing: Requests are processed sequentially with configurable delays
- Timeout: Each API request has a 120-second timeout
- Delay: Adjust
delay_between_requests(0.5-5.0 seconds) to control request rate - Batch Size: No hard limit on number of locations or URLs, but consider API quotas
Error Handling
The actor handles errors gracefully:
- Invalid URLs are logged and skipped
- Failed API requests are recorded with error details
- Network timeouts are caught and reported
- The actor continues processing remaining items after errors
Statistics & Monitoring
Access detailed statistics via the key-value store:
- Total locations/rooms processed
- Success/failure counts
- Total listings found
- Success rates for both search and room modes
View logs in real-time to monitor progress:
Searching location: Paris, France (1/3)Location 'Paris, France': Retrieved 15 listingsFetching room: https://www.airbnb.com/rooms/12345 (1/2)Room URL 'https://www.airbnb.com/rooms/12345': Retrieved details
Common Use Cases
- Market Research: Compare pricing across multiple cities
- Property Analysis: Get detailed information for specific listings
- Travel Planning: Find available accommodations for specific dates
- Competitive Analysis: Monitor pricing and availability trends
- Data Collection: Build datasets for analysis or machine learning
Troubleshooting
No Results Returned
- Verify your API credentials are set correctly
- Check that locations are spelled correctly
- Ensure room URLs match the required format
Request Timeouts
- Increase
delay_between_requeststo reduce load - Check your API endpoint is responding correctly
- Reduce
max_resultsper location
Invalid Room URLs
- URLs must start with
http://orhttps:// - Must include
/rooms/followed by a numeric ID - Country-specific domains (.co.uk, .fr, etc.) are supported
Support & Feedback
For issues or feature requests:
- Check the Actor logs for detailed error messages
- Verify your input parameters match the schema
- Ensure environment variables are set correctly
- Contact support with your Actor run ID for assistance
Version History
- 1.0.0: Initial release with location search and room details support
- Multi-location batch processing
- Room URL scraping
- Date-specific pricing
- Configurable delays and result limits