Airbnb Full Year Price Tracker Scraper avatar

Airbnb Full Year Price Tracker Scraper

Pricing

$15.99/month + usage

Go to Apify Store
Airbnb Full Year Price Tracker Scraper

Airbnb Full Year Price Tracker Scraper

Track Airbnb prices for an entire year from any listing. This actor collects daily rates, seasonal changes, availability, and minimum stay rules. Ideal for revenue optimization, competitive analysis, and long term pricing research.

Pricing

$15.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

1

Monthly active users

5 days ago

Last modified

Share

๐Ÿ ๐Ÿ“… Airbnb Full-Year Price Tracker PLUS

Track real, per-date Airbnb prices and availability across any date range, with pre-computed monthly aggregates, occupancy and ADR. This is an Airbnb price scraper / Airbnb availability scraper / Airbnb calendar scraper for market research, revenue management, dynamic pricing, and short-term-rental (STR) analytics.

Unlike price trackers that request a single date and repeat it, this actor fetches the listing's availability calendar once (up to 12 months) and then makes one price request per genuinely bookable date. Every price row is a real, independent quote โ€” nothing is cloned or fabricated.

What it does

For each listing (Airbnb room URL, numeric listing ID, or search keyword):

  1. One metadata call โ€” title, host + host profile URL, property/room type, home tier, superhost flag, coordinates (lat/lng), ratings (all sub-scores), guest capacity, bedrooms/beds/baths, full amenities list, full photo gallery, description, cancellation policy.
  2. One availability-calendar call (PdpAvailabilityCalendar) โ€” real per-date available, availableForCheckin, availableForCheckout, bookable, minNights, maxNights for up to 12 months.
  3. One price request per bookable date (StaysPdpSections) โ€” the real nightly rate for that date (check-out = date + that date's minimum nights). Non-bookable dates are skipped (no request, no charge).
  4. Derived analytics, computed locally from the real priced dates.

Output rows

Two row types, tagged with type and isChild:

typeisChildone percharged
listing-summaryfalselistingno
priced-datetruebookable dateyes
unavailable-datetrueblocked date (only if onlyBookable = false)no

priced-date fields: Check-In / Check-Out Date, Nights, Day Of Week, Is Weekend, Nightly Price (numeric), Currency, Base Total, Cleaning Fee, Service Fee, Taxes, Total Price, Strike Through Price, Available / Available For Checkin / Checkout, Bookable, Min/Max Nights, Price Details.

listing-summary fields: identity + host (Host ID, Host Profile URL), Room Type, Home Tier, Is Superhost, Listing Lat/Lng, all ratings, Bedrooms/Beds/Bathrooms, Guest Capacity, Photos + Photo Count, Amenities + Amenity Count, Description, plus the derived analytics:

  • Tracked / Bookable / Unavailable / Priced Days
  • Occupancy % (approx) โ€” unavailableDays รท trackedDays ร— 100
  • ADR (avg nightly), Min / Max / Median Nightly Price, Price Std Dev
  • Weekend Avg vs Weekday Avg price
  • Cheapest / Most Expensive Date + Price
  • Monthly Aggregates โ€” per month: avg / min / max / median nightly price + priced-day count

Every priced-date and the listing-summary are also mirrored to a per-run child dataset named calendar-<runId>.

Occupancy caveat (honest labeling)

Airbnb's public calendar cannot distinguish a host-blocked date from a guest-booked one โ€” both appear as available: false. Occupancy % is therefore a forward-calendar approximation of unavailable share, not a verified booking rate. It is labeled Occupancy % (approx) for this reason.

Charging model (pay-per-event)

row_result is charged once per real priced-date row only.

  • listing-summary rows are not charged.
  • unavailable-date rows are not charged.
  • Dates that are not bookable are never requested and never charged.

This replaces the previous behaviour where a single price was cloned across N days and each cloned row was billed. You now pay only for genuine, independent per-date price quotes. (The owner must configure the row_result event under Console โ†’ Publication โ†’ Monetization for charges to apply; until then charge calls are a logged no-op.)

Input summary

FieldMeaning
startUrlsAirbnb room URLs, listing IDs, or search keywords
startDate / endDateDate range to track (absolute YYYY-MM-DD or relative like 7 days)
numberOfDaysUsed only when endDate is empty
nightsPerStay0 = auto (each date's minimum nights); otherwise fixed
onlyBookableON = only priced bookable dates; OFF = also emit blocked dates (null price)
dayFilterall / weekends / weekdays
maxNightlyPriceDrop dates above this nightly ceiling (0 = none)
adults / children / infants / petsGuest configuration
currencyAny Airbnb-supported ISO code (free text)
includeAmenities / includePhotosToggle the extra metadata sections
maxListingsListings per keyword search
maxPriceRequestsPerListingCost-control cap on price requests (0 = none)
requestThrottleSecondsDelay between price requests
proxyConfigurationApify Proxy; residential is reserved for the price loop

Example input

{
"startUrls": ["https://www.airbnb.com/rooms/7431972"],
"startDate": "2026-08-01",
"numberOfDays": 30,
"nightsPerStay": 0,
"onlyBookable": true,
"currency": "USD",
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Example priced-date output

{
"type": "priced-date",
"isChild": true,
"Listing ID": "7431972",
"Check-In Date": "2026-09-08",
"Check-Out Date": "2026-09-09",
"Nights": 1,
"Is Weekend": false,
"Nightly Price": 212.46,
"Currency": "USD",
"Cleaning Fee": 45.0,
"Total Price": 289.0,
"Available": true,
"Bookable": true,
"Min Nights": 1
}

Notes on scope

  • Deferred (honest): individual reviews and full host-profile detail (response rate / verifications) are not fetched โ€” they require dedicated GraphQL operations and are out of scope for this pricing-focused actor. No dead toggles are shipped for them.
  • Fragility: Airbnb's internal API and persisted-query hashes rotate periodically; the actor carries vetted hashes plus a last-resort discovery path.

Collects only publicly available listing data. Respect Airbnb's Terms of Service and applicable law; use responsibly for research and analytics.