Airbnb Price Scraper (Area-Based) avatar

Airbnb Price Scraper (Area-Based)

Pricing

$20.00/month + usage

Go to Apify Store
Airbnb Price Scraper (Area-Based)

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

Jamshaid Arif

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

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

  1. You provide one or more Airbnb search/area URLs
  2. The actor extracts listing URLs (up to maxListings per search)
  3. It generates consecutive check-in / check-out date pairs
  4. For each listing ร— date pair, it calls Airbnbโ€™s internal StaysPdpSections API
  5. Results are stored in the Apify dataset (one row per listing per date)

๐Ÿ“ฅ Input Parameters

ParameterTypeDefaultDescription
searchUrlsarray(required)Airbnb search URLs (e.g. https://www.airbnb.com/s/London--UK/homes)
maxListingsinteger20Max listings to extract per search URL
maxPagesinteger3Number of search result pages to crawl
checkInDatestringtodayStart date (YYYY-MM-DD)
numberOfDaysinteger60Number of check-in dates to generate
Stay_Daysinteger1Nights per stay
adultsstring"2"Number of adults
childrenstring"0"Number of children
petsstring"0"Number of pets
currencystring"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

FieldDescription
Check-In DateCheck-in date
Check-Out DateCheck-out date
TitleListing title
Canonical URLListing URL

๐Ÿ’ฐ Price (Nightly Display)

FieldDescription
PriceNightly display price (e.g. $85 night)

โš ๏ธ This is NOT total price, NOT fees โ€” only the displayed nightly price.


๐Ÿ’ต Price Breakdown

FieldDescription
Price Breakdown TitleSection title
Strike Through PriceOriginal price (before discount)
Primary PriceDisplay price
Cleaning FeeCleaning fee
Service FeeAirbnb fee
TaxesTaxes
Total PriceFinal total

๐Ÿ  Property Details

FieldDescription
Room InfoRaw summary string
Property TypeApartment, House, etc.
LocationArea / city
Guest_CapacityMax guests
BedroomsParsed
BedsParsed
BathroomsParsed
Image URLMain image
Meta DescriptionSEO description
petsAllowedBoolean

๐Ÿ‘ค Host

FieldDescription
HostPrimary host info
Host1Backup host info

โญ Ratings

FieldDescription
Room RatingOverall rating
accuracyRatingAccuracy
checkinRatingCheck-in
cleanlinessRatingCleanliness
communicationRatingCommunication
locationRatingLocation
valueRatingValue
guestSatisfactionOverallOverall score
visibleReviewCountReview count

๐Ÿ“… Availability

FieldDescription
Booking AvailableAvailability for selected dates

โš™๏ธ Deployment

Option 1: Apify Console

  1. Go to Apify Console โ†’ Actors โ†’ Create New
  2. Select Source: ZIP Upload
  3. Upload your actor ZIP
  4. Click Build โ†’ Start

Option 2: Apify CLI

npm install -g apify-cli
unzip airbnb_actor.zip
cd airbnb_actor
apify login
apify 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 StaysPdpSections API
  • Normalize + push results to dataset

๐Ÿ›  Troubleshooting

IssueCauseFix
Price = NoneDates unavailableCheck availability column
Empty responsesRate limitingIncrease delay
No listings extractedSearch page blockedUse proxy / headers
All fields NoneInvalid listingVerify URL
Only total price shownLong stay pricingUse Total Price field

๐Ÿ”ฅ Use Cases

  • Market price analysis
  • Competitor tracking
  • Dynamic pricing insights
  • Airbnb investment research