This script scrapes detailed information about Airbnb listings, including SEO data, room details, and pricing breakdowns for specified check-in and check-out dates. The data is collected from multiple Airbnb URLs and saved in a CSV file for analysis.
This project is an Apify actor designed to scrape detailed data from Airbnb listings, including SEO metadata, pricing details, and other key information. The actor supports dynamic date generation for flexible booking queries and stores the extracted data in an Apify dataset.
The actor accepts the following input parameters:
Parameter | Description | Example Value |
---|---|---|
startUrls | List of Airbnb listing URLs to scrape. | [{"url": "https://www.airbnb.com/rooms/12345"}] |
checkInDate | Starting date for check-in. | "2024-11-21" |
Stay_Days | Duration of each stay in days. | 1 |
numberOfDays | Total number of days to iterate. | 10 |
adults | Number of adults for the booking. | 2 |
children | Number of children for the booking. | 0 |
pets | Indicates if pets are included. | 0 |
The scraper outputs a dataset with detailed information for each listing and date range:
Field Name | Description |
---|---|
Check-In Date | Generated check-in date. |
Check-Out Date | Generated check-out date. |
Booking Available | Indicates if instant booking is available. |
Title | SEO title of the listing. |
Meta Description | SEO meta description of the listing. |
Canonical URL | Canonical URL of the listing page. |
Room Info | General description of the room. |
Property Type | Type of property (e.g., apartment, house). |
Room Rating | Star rating of the listing. |
Total Reviews | Total number of reviews. |
Location | Location of the listing. |
Capacity | Maximum number of guests the property can accommodate. |
Image URL | URL of the primary listing image. |
Price Breakdown Title | Title of the price breakdown section. |
Strike Through Price | Original price before discounts. |
Primary Price | Current price after discounts. |
Cleaning Fee | Cleaning fee for the booking. |
Service Fee | Service fee for the booking. |
Taxes | Tax amount for the booking. |
Total Price | Total price for the stay, including fees and taxes. |
Dynamic Date Generator:
checkInDate
, Stay_Days
, and numberOfDays
.Data Extraction:
Data Storage:
1{ 2 "startUrls": [ 3 { "url": "https://www.airbnb.com/rooms/12345" }, 4 { "url": "https://www.airbnb.com/rooms/67890" } 5 ], 6 "checkInDate": "2024-11-21", 7 "Stay_Days": 1, 8 "numberOfDays": 5, 9 "adults": "2", 10 "children": "0", 11 "pets": "0" 12}
Check-In Date | Check-Out Date | Title | Total Price | Room Rating | Total Reviews |
---|---|---|---|---|---|
2024-11-21 | 2024-11-22 | Cozy Apartment in City | $120 | 4.8 | 120 |
2024-11-22 | 2024-11-23 | Spacious Condo by Beach | $200 | 4.9 | 85 |
The script uses Python's logging
module to log:
Logs are displayed in the console and can be used to debug issues.
This project is licensed under the MIT License.
Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.
No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.
It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.
Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.
You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!