Airbnb Occupancy, ADR & RevPAR — AirDNA-light KPIs
Pricing
from $4.00 / 1,000 property kpis
Airbnb Occupancy, ADR & RevPAR — AirDNA-light KPIs
Estimate Airbnb occupancy rate, ADR and RevPAR from public calendars (30/90/365). AirDNA-light STR metrics for hosts, analysts and investors. Input listing URLs or IDs; structured KPI rows ready to export.
Pricing
from $4.00 / 1,000 property kpis
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Airbnb Occupancy, ADR & RevPAR Scraper — AirDNA-Light KPIs
Airbnb occupancy rate, ADR and RevPAR from public calendars — an AirDNA-style metrics API for short-term rentals. Input listing URLs or IDs → one KPI row per listing across 30 / 90 / 365-day horizons.
Ideal if you search for an Airbnb occupancy API, ADR scraper, RevPAR calculator, or lightweight alternative to heavy STR intelligence suites.
Method: Occupancy proxy = % of nights not available in the forward window. ADR = mean nightly price when calendar prices exist. RevPAR = occupancy × ADR. Prices can be sparse — KPIs stay transparent.
Why this Actor: Occupancy + ADR + RevPAR · Multi-horizon · Listing batch · Investor / host friendly · Complements calendar Actor #01
Table of contents
- What this Actor does
- What you get
- Features
- Input
- Output example
- Output fields
- Quick start (API)
- Use cases
- Limitations
- FAQ
- Keywords
What this Actor does
| Step | Action |
|---|---|
| 1 | Load availability calendar for each listing |
| 2 | Compute occupancy / ADR / RevPAR for each horizon |
| 3 | Push one summary row per listing (not per day) |
What you get
KPIs per horizon (e.g. 30 / 90 / 365)
- Occupancy % (unavailable / nights)
- ADR (average daily rate)
- RevPAR
- Sample sizes (nights with price, etc.)
Listing identity
listingId,listingUrl,asOfDate
Features
| Capability | Detail |
|---|---|
| AirDNA-light | Occupancy, ADR, RevPAR in one call |
| Horizons | Custom day windows (default 30 / 90 / 365) |
| Batch listings | Up to 50 URLs/IDs |
| Transparent math | Documented formulas — no black box |
| Currency / locale | Match your market |
Input
| Field | Required | Description |
|---|---|---|
startUrls | Yes | Listing URLs or IDs |
asOfDate | No | Anchor date YYYY-MM-DD |
horizons | No | e.g. [30, 90, 365] |
currency | No | Default EUR |
locale | No | Default es |
proxyConfiguration | No | Recommended if blocked |
Example
{"startUrls": ["https://www.airbnb.com/rooms/860663943931949474"],"asOfDate": "2026-09-19","horizons": [30, 90, 365],"currency": "EUR","locale": "es","proxyConfiguration": { "useApifyProxy": true }}
Output example
{"listingId": "860663943931949474","listingUrl": "https://www.airbnb.com/rooms/860663943931949474","asOfDate": "2026-09-19","currency": "EUR","occupancy30": 0.72,"adr30": 155.4,"revpar30": 111.9,"occupancy90": 0.61,"adr90": 148.2,"revpar90": 90.4,"occupancy365": 0.54,"adr365": 140.1,"revpar365": 75.7}
(Exact field names follow the Actor dataset schema — horizons expand into KPI columns.)
Output fields
| Group | Examples |
|---|---|
| Identity | listingId, listingUrl, asOfDate, currency |
| Occupancy | occupancy30, occupancy90, occupancy365 |
| ADR | adr30, adr90, adr365 |
| RevPAR | revpar30, revpar90, revpar365 |
| Quality | Counts of priced / available nights when present |
Quick start (API)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_TOKEN>")run = client.actor("YOUR_USERNAME/airbnb-occupancy-adr-revpar").call(run_input={"startUrls": ["860663943931949474"],"horizons": [30, 90],"currency": "EUR",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Use cases
- Screen STR deals before deep diligence
- Benchmark your listings vs comps
- Feed dashboards for portfolio occupancy
- Pair with Airbnb Calendar Actor for night-level detail
Limitations
- Occupancy is a calendar proxy, not booked-nights from Airbnb’s private API.
- ADR needs priced nights — sparse prices → weaker ADR/RevPAR.
- Not a replacement for full AirDNA market files.
- Respect Airbnb Terms of Service.
FAQ
Difference vs Calendar Actor?
Calendar = one row per day. This Actor = KPI summary per listing.
Why is ADR null?
No (or too few) priced available nights in the window.
Custom horizons?
Yes — pass any positive day counts in horizons.
Keywords
airbnb occupancy, airbnb adr, airbnb revpar, airdna alternative, str occupancy api, airbnb occupancy rate scraper, short term rental metrics, airbnb revenue metrics