Airbnb Occupancy, ADR & Market Report 📈: AirDNA Alternative
Pricing
from $4.00 / 1,000 listing analyzeds
Airbnb Occupancy, ADR & Market Report 📈: AirDNA Alternative
Turn any Airbnb search into occupancy, ADR, RevPAR and revenue yield data, with comp-set percentile ranks and a market-wide report. Pay per pull from $0.004/listing, no subscription.
Pricing
from $4.00 / 1,000 listing analyzeds
Rating
0.0
(0)
Developer
tagada
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
5 hours ago
Last modified
Categories
Share
Airbnb Occupancy & Revenue Calculator 📈: STR Yield Data (AirDNA Alternative)
Turn any Airbnb search area into short-term-rental yield data. Paste a search URL, and this actor reads every listing in the area, pulls each one's public availability calendar, and computes occupancy %, ADR (average daily rate), RevPAR, projected annual revenue and a seasonality curve per listing, along with a comp-set percentile rank, plus an aggregate market report (median and quartile ADR, occupancy and RevPAR). It's the kind of AirDNA-style market intelligence that STR investors pay $20 to $300 a month for, except here it's priced per pull, from $0.004/listing.
Built for STR / LMNP investors, revenue managers, hosts benchmarking their pricing, and AI agents (REST API + MCP).
Why this instead of a raw Airbnb scraper? A list of listings tells you what's advertised. Investors need what it earns: how often it's booked, at what nightly rate, how that ranks against the comp set, and how it swings by season. This actor does that transformation, and it's the only Airbnb actor that pairs per-listing yield with a quartile market report and states its occupancy method honestly.
💸 vs. the SaaS tools
| Airbnb STR Yield (this actor) | AirDNA | Mashvisor | PriceLabs | |
|---|---|---|---|---|
| Price | $0.004 / listing · $0.49 / market report | $20 to $300 / mo / market | $18 to $75 / mo | ~$20 / listing / mo |
| Billing | Pay per pull | Monthly seat | Monthly | Monthly |
| Raw data (CSV/JSON/API) | ✅ you own it | ✗ | limited | ✗ |
An investor screening 20 markets pays ~$10 once here versus $400+/month of AirDNA seats, and still walks away with the raw data.
What you get
- ✅ Per-listing yield: occupancy %, ADR, RevPAR and projected annual revenue, broken out over 30 / 60 / 90-day windows and capped at the host's open booking horizon (see method below).
- ✅ Each listing also carries a comp-set percentile rank, so "this unit's RevPAR is in the 78th percentile of its market" isn't just a number, it's a decision.
- ✅ A market report rolls it all up into one aggregate row per search: median and quartile ADR, occupancy and RevPAR across every analyzed listing, plus guest-favorite and private-host share.
- ✅ Occupancy is reported honestly, as a booked-night estimate and an upper bound, with a
confidenceflag and a disclosedmethod. Nobody else on the shelf tells you this. - ✅ A seasonality curve shows month-by-month occupancy across the host's open window.
- ✅ You also get rich listing data: nightly rate, rating & reviews, property type, host type (particulier vs pro), coordinates, guest-favorite/superhost badges and photos.
- ✅ Monitor mode with Slack alerts lets you schedule daily runs that track new STR supply, and you're charged for new listings only.
- ✅ No API key, no login. Run on Apify with the Residential proxy.
The 5-minute market study
- On airbnb.fr (or .com), search your area (city / neighborhood) and copy the results-page URL.
- Paste it into
searchUrls, leavefetchCalendarandmarketReporton. - Run. Every listing comes back with its yield + percentile rank, plus a market-report row of the medians.
Want a live feed of new supply? Turn on monitorMode, add a Slack webhook, and schedule it daily.
Use cases
- For STR / LMNP investment, use it to underwrite a purchase: what do comparable flats in this street or arrondissement actually earn (ADR × occupancy = RevPAR), and where does a given unit rank? It also helps benchmark net yield after the loi Le Meur friction.
- For revenue management, check where your listing's ADR/occupancy sit versus the market quartiles, then adjust pricing by season.
- For market research, track ADR/occupancy/supply trends per market over time with scheduled runs.
- AI agents can query it through MCP, for instance asking for the "median RevPAR for 2-bed apartments around Lyon Part-Dieu, and the 10 highest-yield listings."
Input
{"searchUrls": ["https://www.airbnb.fr/s/Paris--11e-arrondissement/homes"],"fetchCalendar": true,"calendarMonths": 12,"marketReport": true,"onlyPrivateHost": false,"minReviews": 3,"monitorMode": false,"maxListings": 300}
You can pass several search URLs (e.g. different neighborhoods). Each is a normal Airbnb results-page URL.
Output
Per listing:
{"source": "Airbnb","id": "51692151","url": "https://www.airbnb.fr/rooms/51692151","name": "Charmant 2 pièces ⸱ Entre Buttes-Chaumont et canal","propertyType": "Appartement","city": "Paris","latitude": 48.884, "longitude": 2.37458,"hostType": "Particulier", "isPrivateHost": true,"rating": 5.0, "reviewCount": 36, "isGuestFavorite": true,"adr": 96.98, "currency": "EUR","yield": {"openHorizonDays": 168,"occupancyPct": 75.6,"occupancyUpperPct": 79.1,"revPar": 73.32,"projectedAnnualRevenue": 26760,"revParPercentile": 67,"occupancyPercentile": 67,"adrPercentile": 40,"windows": {"30": { "occupancyPct": 63.3, "revPar": 61.4, "booked": 19, "available": 11 },"90": { "occupancyPct": 75.6, "revPar": 73.32 }},"seasonality": [{ "month": "2026-08", "occupancyPct": 74.2 },{ "month": "2026-09", "occupancyPct": 58.1 }],"confidence": "high","method": "Occupancy inferred from the public calendar and capped at the host's open booking horizon…"}}
Market report (one row per search):
{"recordType": "market-report","market": "Paris 11e arrondissement","listingsAnalyzed": 280,"adr": { "median": 132, "p25": 95, "p75": 189 },"occupancyPct": { "median": 61, "p25": 44, "p75": 78 },"revPar": { "median": 80.5, "p25": 46.2, "p75": 131.4 },"guestFavoriteShare": 0.34,"privateHostShare": 0.71}
How occupancy is calculated (the honest part nobody else states)
Airbnb publishes availability, not bookings, so occupancy is inferred, transparently:
- Only the open booking window counts. Far-future months are usually closed (the host hasn't opened them), not booked. Counting them as booked is how naive scrapers massively overstate occupancy. We cap every calculation at the host's open horizon (the last date that still has an available night) and exclude everything beyond it.
openHorizonDaystells you how far that reaches. - Booked vs blocked. Inside the open window, a blocked run of ≥ 2 nights is counted as a booking; an isolated single blocked night is treated as an owner block and excluded from the denominator.
- A band, not false precision.
occupancyPctis the booked-night estimate;occupancyUpperPctis the ceiling (every unavailable night treated as booked). Truth sits between, and the gap narrows as a listing's calendar matures. - Confidence.
confidencereflects how much calendar the host has opened and how many reviews (booking history) the listing has.
This is a strong directional index, and a comparable one across a market, though not a substitute for a host's real booking log. No public tool has Airbnb's booking data; everyone infers it. We just tell you exactly how.
Companion actors: the French property suite
Pair market-side Airbnb yield with buy-side French real-estate data:
- Real Estate Deal Score: asking price vs DVF sold prices (find the underpriced flat, then check its STR yield here).
- DVF: Official Sold Prices · PAP · SeLoger · Logic-Immo · Pige Immobilière
Pricing
Pay per event, no subscription:
| Event | Price | When |
|---|---|---|
| Listing analyzed | $0.004 ($4 / 1,000) | Per listing returned with its data & yield (in monitor mode: new listings only) |
| Market report | $0.49 | Per aggregate market-report row |
| Actor start | $0.00005 (≈ zero) | Once per run |
Apify platform usage (compute + Residential proxy) is billed separately at platform rates, as with any browser-based actor.
You control spend with a per-run charge cap; you're never surprised by a bill.
FAQ
Do I need an Airbnb account or API key? No. The actor reads Airbnb's public search pages and public availability calendars.
Is the occupancy accurate? It's an inferred, disclosed, comp-comparable index (see method above), excellent for ranking listings and markets and for trend tracking, though not a substitute for a host's real booking log. We're the only actor on the shelf that publishes its method and a confidence flag.
Which countries? Optimized for euro-denominated markets (airbnb.fr and any €-priced search), since that's where ADR parsing is fully supported today. Other domains (airbnb.com, airbnb.co.uk, …) return full listing + occupancy data, but non-€ nightly rates may come back as adr: null (RevPAR then unavailable). Multi-currency ADR is on the roadmap.
How does monitor mode work? It remembers listings already reported (per monitorName) and returns only new ones on the next scheduled run, so you're never charged twice for the same listing.
Is it reliable? Airbnb is read through a real browser with a Residential proxy; blocked requests retry with a fresh session. The availability endpoint is refreshed automatically each run.
Does it work with AI agents? Yes, via REST API and MCP, callable from Claude, Cursor & co.
Keywords: airbnb scraper, airbnb occupancy rate, airbnb revenue calculator, ADR, RevPAR, STR analytics, short-term rental data, airbnb market research, AirDNA alternative, Mashvisor alternative, LMNP, rendement locatif, airbnb availability calendar, vacation rental yield, revenue management, seasonality, market report, proptech, MCP.