Airbnb Full-Year Price Scraper
Pricing
from $4.00 / 1,000 results
Airbnb Full-Year Price Scraper
Returns one row per calendar day for the next 12 months of any Airbnb listing, with the actual nightly price filled in. Unlike availability-only scrapers, this resolves real prices by calling Airbnb's booking API per day.
Pricing
from $4.00 / 1,000 results
Rating
5.0
(3)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
34
Total users
6
Monthly active users
5 days ago
Last modified
Categories
Share
Scrape real Airbnb prices for the next 12 months, one row per calendar day per listing. Unlike availability-only tools, this Airbnb price scraper resolves the actual nightly rate by asking Airbnb's booking API for each date — the same number a guest sees on the Reserve panel, including host discounts.
No Airbnb API key, no login, and no headless browser. Results land in a structured dataset you can export to JSON, CSV, Excel, or XML, or pull straight from the Apify API.
What is Airbnb Full-Year Price Scraper?
Airbnb Full-Year Price Scraper is an Apify Actor that extracts daily nightly prices and availability from Airbnb and returns them as clean, structured records. Each row carries the raw nightly price, the crossed-out original, the discounted price, the discount amount, the window total, and the bookability flags — so revenue analysis needs no reconstruction step.
What data can this Airbnb price scraper extract?
Every run writes one row per calendar day. The full schema carries 39 fields; the most-used ones are below.
| Field | Type | Description |
|---|---|---|
listingId | string | Numeric Airbnb listing ID. |
listingUrl | string | Canonical Airbnb listing URL. |
listingTitle | string | Title of the listing, extracted from the SSR HTML. |
listingLatitude | number | Latitude |
listingLongitude | number | Longitude |
calendarDate | string | Calendar date in YYYY-MM-DD format (UTC). |
available | boolean | Whether the date is open in the host's calendar. |
bookable | boolean | Whether the date can be part of a valid stay (per the calendar API; unreliable on some listings). |
availableForCheckin | boolean | Calendar: available for check-in |
availableForCheckout | boolean | Calendar: available for checkout |
minNights | integer | Minimum nights |
maxNights | integer | Maximum nights |
isBookable | boolean | True iff Airbnb returned a real bookable price for this day. This is the field to filter on, NOT available... |
notBookableReason | string | When isBookable=false, explains why. Values include: blocked_by_host, run_shorter_than_min_nights(...),... |
bookItAvailable | boolean | Authoritative bookability for the window we priced (from StaysPdpBookItQuery). |
canInstantBook | boolean | BookIt: instant-book eligible |
unavailabilityMessage | string | Reason Airbnb gives when the window is not bookable. |
currency | string | ISO 4217 currency code used for the price fields. |
nightlyPrice | number | Per-night rate for a minimum-stay starting on this calendar day (for check-in-eligible days), or for the... |
nightlyPriceFormatted | string | Original formatted nightly price string from Airbnb (e.g. '$1,236.40'). |
originalPrice | number | Window total before any host or platform discount, if the listing has a discount applied. |
originalPriceFormatted | string | Original total (formatted) |
See the Output tab in Apify Console for all 39 fields.
How to scrape Airbnb daily prices
- Open Airbnb Full-Year Price Scraper and click Try for free.
- Add listing URLs to
listingUrls. - Set
monthsAheadfor how far forward to price, andadultsfor the occupancy you want quoted. - Pick your
currency— every price field is returned in it. - Set
maxItemsto cap the number of day rows the run produces. - Click Start and watch rows appear live in the Output tab.
- Export the dataset as JSON, CSV, Excel, or XML — or fetch it from the Apify API once the run finishes.
Airbnb Full-Year Price Scraper input options
| Input | Type | What it does | Default |
|---|---|---|---|
listingUrls | array | Airbnb listing URLs like https://www.airbnb.com/rooms/37879131. Paste as many as you want; each is processed... | yes |
currency | string | ISO 4217 currency code for returned prices. Airbnb performs the conversion server-side. | "USD" |
adults | integer | Number of adult guests. Different guest counts can change the per-night rate on some listings. | 2 |
monthsAhead | integer | How many months of calendar to scrape (1-24). | 12 |
maxItems | integer | Optional hard cap on the total number of rows pushed across all listings. Each row is one calendar day and is billed... |
Proxy is configured through the standard proxyConfiguration object; the defaults shipped with this Actor are already tuned for the target site.
Example output
{"listingId": "a1b2c3d4","listingUrl": "https://example.com/item/12345","listingTitle": "Example title","listingLatitude": 37.7749,"listingLongitude": -122.4194,"calendarDate": "2026-08-30T12:00:00.000Z","available": true,"bookable": true,"availableForCheckin": true,"availableForCheckout": true,"minNights": 42,"maxNights": 42,"isBookable": true,"notBookableReason": "...","bookItAvailable": true,"canInstantBook": true,"unavailabilityMessage": "...","currency": "USD"}
How much does it cost to scrape Airbnb?
This Actor runs on pay per result pricing: $0.004 per day row ($4 per 1,000). A one-time start fee of $0.00005 applies per run.
| Results | Approximate cost |
|---|---|
| 1,000 | $4.00 |
| 10,000 | $40.00 |
| 100,000 | $400.00 |
You pay for rows you actually receive, so a search that returns nothing costs nothing beyond the start fee. Every Apify account includes free monthly usage credit, so you can trial Airbnb Full-Year Price Scraper at no cost.
What can you build with Airbnb data?
Build a revenue-management dataset
One row per listing per day, with price and availability side by side, is the exact grain that RevPAR, ADR, and pace calculations need — no pivoting required.
Reverse-engineer competitor pricing rules
Compare nightlyPrice across weekdays, weekends, and holidays to infer the rule set a competitor's pricing tool is applying, then decide whether to undercut or hold.
Quantify how much discounting a market is doing
originalPrice against discountedPrice shows the real spread between list and street price — the number that disappears from any dataset that only records the headline rate.
Underwrite a short-term-rental acquisition
Twelve months of forward prices and availability for a comp set produces a revenue projection grounded in live market data rather than a blended annual average.
Detect instant-book and minimum-stay strategy
canInstantBook, minNights, and notBookableReason per day reveal the booking friction competitors are choosing to impose.
Airbnb scraping tips and limits
- This is the most expensive Airbnb Actor per row because each day costs a separate booking-API call. Set
monthsAheadto the window you will actually analyse rather than defaulting to twelve. - For a cheap availability-only read, use Airbnb Availability Scraper instead — it is a fraction of the cost.
adultschanges the quoted price on many listings. Fix it across runs or your time series will drift for reasons that have nothing to do with the market.- Prices for dates far out are provisional and hosts revise them. Re-pull the near window more often than the far one.
Integrations and automation
Run Airbnb Full-Year Price Scraper on a schedule to keep a Airbnb dataset fresh, or trigger it from your own stack through the Apify API and the official JavaScript and Python clients. Native integrations push results into Google Sheets, Slack, Airtable, Zapier, Make, GitHub, or any webhook endpoint. The Actor also works as an MCP tool, so an AI agent can call it directly.
Related scrapers
| Actor | What it does |
|---|---|
| Airbnb Availability Calendar Scraper | Cheaper, availability only, no per-day price resolution. |
| Airbnb Search Scraper | Find listings across a market for $0.50 per 1,000. |
| Airbnb Market Occupancy Scraper | Market-wide occupancy corrected for owner blocks. |
| Airbnb Listing Details Scraper | Full property detail per listing. |
Frequently asked questions
Why is this different from an availability scraper?
Availability scrapers read the calendar, which often shows no price or only a rounded indicative one. This Actor calls Airbnb's booking endpoint per date, so it returns the price actually quoted at checkout, including host promotions and length-of-stay discounts.
Does it include cleaning fees and taxes?
priceBreakdown carries the components Airbnb returns for the priced window, and totalForWindow is the window total. Fee disclosure varies by listing and jurisdiction, so check priceBreakdown on a sample before assuming a given fee is present.
Do I need a Airbnb API key?
No. Airbnb Full-Year Price Scraper reads publicly available Airbnb pages and endpoints directly, so there is no key to obtain, no OAuth app to register, and no account to connect.
Can I export Airbnb data to CSV, Excel, or Google Sheets?
Yes. Every run stores results in an Apify dataset that exports to JSON, JSONL, CSV, Excel, XML, or HTML with one click, and the Google Sheets integration writes rows straight into a spreadsheet.
Can I run Airbnb Full-Year Price Scraper on a schedule?
Yes. Apify schedules run the Actor hourly, daily, weekly, or on any cron expression, and webhooks can notify your systems the moment a run finishes.
Is it legal to scrape Airbnb?
Scraping publicly available data is broadly lawful in the US and EU, but the answer depends on what you collect and how you use it. This Actor is built to gather public pricing and availability information Airbnb publishes on public listing pages. Personal data carries extra obligations under GDPR and CCPA. Read Apify's guide on whether web scraping is legal and take your own legal advice for your use case.
Support and feedback
Found a bug, a missing field, or a Airbnb page shape this Actor does not handle yet? Open an issue from the Issues tab on the Actor page. Feature requests and custom-scraper enquiries are welcome there too.
