Airbnb Market Snapshot: Listings, Prices & Occupancy avatar

Airbnb Market Snapshot: Listings, Prices & Occupancy

Pricing

from $1.00 / 1,000 listings

Go to Apify Store
Airbnb Market Snapshot: Listings, Prices & Occupancy

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

Miguel Jardim

Maintained by Community

Actor 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 SUMMARY record 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

FieldWhat it does
locationCity or area, e.g. Lisbon, Portugal. The area's boundaries are looked up on OpenStreetMap.
checkIn / checkOutDates for pricing (default: 30 days from today, 3 nights).
adultsGuests (default 2).
currencyPrice currency (default EUR).
maxListingsStop after this many listings (default 500).
includeOccupancyRead each listing's calendar for occupancy (default on).
minPrice / maxPrice, roomTypesOptional Airbnb filters.
neLat, neLng, swLat, swLngOptional 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 null rather than a guess.

Tips

  • To get a representative market picture, set maxListings high 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.