Airbnb Price Scraper (Area-Based)
Pricing
$20.00/month + usage
Airbnb Price Scraper (Area-Based)
Scrapes Airbnb listings from a specified area URL, collects listing details, and posts the data asynchronously. Supports configurable check-in dates, stay duration, guest numbers, and number of listings.
Pricing
$20.00/month + usage
Rating
0.0
(0)
Developer
Jamshaid Arif
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrapes nightly display prices and detailed property data from Airbnb listings using the internal PDP API.
Instead of requiring listing URLs, this actor accepts Airbnb search/area URLs, automatically extracts listings, and tracks price changes over time using rolling date ranges.
๐ How It Works
- You provide one or more Airbnb search/area URLs
- The actor extracts listing URLs (up to
maxListingsper search) - It generates consecutive check-in / check-out date pairs
- For each listing ร date pair, it calls Airbnbโs internal
StaysPdpSectionsAPI - Results are stored in the Apify dataset (one row per listing per date)
๐ฅ Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchUrls | array | (required) | Airbnb search URLs (e.g. https://www.airbnb.com/s/London--UK/homes) |
maxListings | integer | 20 | Max listings to extract per search URL |
maxPages | integer | 3 | Number of search result pages to crawl |
checkInDate | string | today | Start date (YYYY-MM-DD) |
numberOfDays | integer | 60 | Number of check-in dates to generate |
Stay_Days | integer | 1 | Nights per stay |
adults | string | "2" | Number of adults |
children | string | "0" | Number of children |
pets | string | "0" | Number of pets |
currency | string | "USD" | Currency code |
๐ Example Input
{"searchUrls": [{ "url": "https://www.airbnb.co.uk/s/London--UK/homes" },{ "url": "https://www.airbnb.co.uk/s/Manchester--UK/homes" }],"maxListings": 25,"maxPages": 2,"checkInDate": "2025-09-15","numberOfDays": 30,"Stay_Days": 2,"adults": "2","children": "0","pets": "0","currency": "USD"}
๐ค Output Fields
Each dataset row represents one listing for one date range.
๐๏ธ Dates & Identification
| Field | Description |
|---|---|
Check-In Date | Check-in date |
Check-Out Date | Check-out date |
Title | Listing title |
Canonical URL | Listing URL |
๐ฐ Price (Nightly Display)
| Field | Description |
|---|---|
Price | Nightly display price (e.g. $85 night) |
โ ๏ธ This is NOT total price, NOT fees โ only the displayed nightly price.
๐ต Price Breakdown
| Field | Description |
|---|---|
Price Breakdown Title | Section title |
Strike Through Price | Original price (before discount) |
Primary Price | Display price |
Cleaning Fee | Cleaning fee |
Service Fee | Airbnb fee |
Taxes | Taxes |
Total Price | Final total |
๐ Property Details
| Field | Description |
|---|---|
Room Info | Raw summary string |
Property Type | Apartment, House, etc. |
Location | Area / city |
Guest_Capacity | Max guests |
Bedrooms | Parsed |
Beds | Parsed |
Bathrooms | Parsed |
Image URL | Main image |
Meta Description | SEO description |
petsAllowed | Boolean |
๐ค Host
| Field | Description |
|---|---|
Host | Primary host info |
Host1 | Backup host info |
โญ Ratings
| Field | Description |
|---|---|
Room Rating | Overall rating |
accuracyRating | Accuracy |
checkinRating | Check-in |
cleanlinessRating | Cleanliness |
communicationRating | Communication |
locationRating | Location |
valueRating | Value |
guestSatisfactionOverall | Overall score |
visibleReviewCount | Review count |
๐ Availability
| Field | Description |
|---|---|
Booking Available | Availability for selected dates |
โ๏ธ Deployment
Option 1: Apify Console
- Go to Apify Console โ Actors โ Create New
- Select Source: ZIP Upload
- Upload your actor ZIP
- Click Build โ Start
Option 2: Apify CLI
npm install -g apify-cliunzip airbnb_actor.zipcd airbnb_actorapify loginapify push
โก Rate Limiting
-
Default delay: 1 second/request
-
Recommended for stability:
- 2โ3 seconds delay for large runs
- Batch processing (10โ20 listings per run)
- Use proxies if scaling
๐ง Internal Logic
- Extract listings from search pages (
__NEXT_DATA__/ API) - Deduplicate using listing IDs
- Generate rolling date ranges
- Call Airbnb
StaysPdpSectionsAPI - Normalize + push results to dataset
๐ Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
Price = None | Dates unavailable | Check availability column |
| Empty responses | Rate limiting | Increase delay |
| No listings extracted | Search page blocked | Use proxy / headers |
| All fields None | Invalid listing | Verify URL |
| Only total price shown | Long stay pricing | Use Total Price field |
๐ฅ Use Cases
- Market price analysis
- Competitor tracking
- Dynamic pricing insights
- Airbnb investment research
