Airbnb Market Snapshot: Listings, Prices & Occupancy
Pricing
from $1.00 / 1,000 listings
Airbnb Market Snapshot: Listings, Prices & Occupancy
Every Airbnb listing in a city or map area, past Airbnb's ~270-result search cap, with the price for your dates and a calendar-based occupancy estimate for the next 30/60/90 days, plus a market summary. Listing data only, no personal data.
Pricing
from $1.00 / 1,000 listings
Rating
0.0
(0)
Developer
Miguel Jardim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Airbnb Market Snapshot
Get every Airbnb listing in a city or map area, with the price for your dates and an occupancy estimate for the next 30, 60 and 90 days, plus a ready-made market summary (median nightly price, median occupancy, rating, property mix).
Built for short-term-rental investors, property managers and analysts who want AirDNA-style numbers for a specific area without a monthly subscription.
Why this Actor
- Full coverage, not the first 270 results. Airbnb stops returning results after ~15 pages per search. This Actor splits the map into smaller tiles until each tile fits under that cap, so a whole city is covered. Duplicates are removed.
- Occupancy from the public calendar. For each listing it reads the public availability calendar and reports unavailable nights and an occupancy estimate for the next 30/60/90 days.
- A market summary in one place. The run writes a
SUMMARYrecord to the key-value store: listing count, median nightly price, median occupancy (30 and 90 days), median rating and reviews, share of "Guest favourite" listings and the property-type mix. - No personal data. Output contains listing data only (no host names, profiles or contact details).
Input
| Field | What it does |
|---|---|
location | City or area, e.g. Lisbon, Portugal. The area's boundaries are looked up on OpenStreetMap. |
checkIn / checkOut | Dates for pricing (default: 30 days from today, 3 nights). |
adults | Guests (default 2). |
currency | Price currency (default EUR). |
maxListings | Stop after this many listings (default 500). |
includeOccupancy | Read each listing's calendar for occupancy (default on). |
minPrice / maxPrice, roomTypes | Optional Airbnb filters. |
neLat, neLng, swLat, swLng | Optional custom map area instead of location. |
Output (one row per listing)
listingId, url, name, propertyType, area, latitude, longitude, bedrooms, beds, baths, isStudio, rating, reviewsCount, isNew, isGuestFavorite, hostCategory (e.g. "Individual host"), checkin, checkout, nights, adults, currency, totalPrice (whole stay incl. fees and taxes), nightlyPrice (total ÷ nights, i.e. what a guest really pays per night), listedNightlyRate (the host's nightly rate before discounts, fees and taxes, when shown), freeCancellation, photoUrl, and with occupancy on: unavailableNights30/60/90, occupancyEstimate30/60/90, minNights.
Example row:
{"listingId": "19926030","propertyType": "Apartment","area": "Santa Maria Maior","bedrooms": 1, "beds": 1, "baths": 1,"rating": 4.54, "reviewsCount": 109,"nightlyPrice": 82.33, "totalPrice": 247, "currency": "EUR","occupancyEstimate30": 0.767, "occupancyEstimate90": 0.3, "minNights": 2}
How to read the occupancy numbers
- They are forward-looking ("on the books" today): the share of the next N nights that are not available. Far-away windows are naturally lower because fewer nights are booked yet.
- The public calendar does not distinguish booked nights from nights blocked by the host, so the estimate is an upper bound on real occupancy.
- Listings with incomplete calendar data get
nullrather than a guess.
Tips
- To get a representative market picture, set
maxListingshigh enough to cover the whole area. With a low cap the Actor returns the first tiles it visits, not a random sample. - Prices depend on the dates and number of guests you choose; run the same area for different dates to see seasonality.
Pricing
Pay per event: one charge per listing saved, and one per listing whose occupancy was computed. You never pay for listings you don't receive, and you can cap spending per run in Apify Console.
Notes
This Actor collects publicly visible listing information. You are responsible for using the data in line with applicable laws and Airbnb's terms. Built by Miguel Jardim with the help of AI tools (Claude); every release is tested against live data before publishing.