Airbnb Market Intelligence - Listings, Prices & Reports avatar

Airbnb Market Intelligence - Listings, Prices & Reports

Pricing

from $1.40 / 1,000 airbnb search listings

Go to Apify Store
Airbnb Market Intelligence - Listings, Prices & Reports

Airbnb Market Intelligence - Listings, Prices & Reports

[💵 $2.00 / 1K] Scrape Airbnb listings at scale with normalized prices, ratings, host facts, amenities, and market reports. Search or full-detail mode, no start fee.

Pricing

from $1.40 / 1,000 airbnb search listings

Rating

0.0

(0)

Developer

WebData Labs

WebData Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Get analysis-ready Airbnb market data, not a pile of localized price strings that still needs spreadsheet cleanup. Airbnb Market Intelligence searches destinations or direct listing URLs, normalizes prices and property facts, and creates a ready-to-use market summary. Run it from Apify Console, the API, schedules, webhooks, or your preferred integration.

✅ What you get / ❌ What this isn't

✅ One deduplicated row per Airbnb listing
✅ Numeric nightly and total prices with the original source label preserved
✅ Search-only market scans or full listing enrichment
✅ A typed dataset with Market scan, Listing details, and Source & QA views
MARKET_SUMMARY JSON plus a browser-ready HTML report

❌ It does not scrape private or login-gated data
❌ It does not label blocked calendar dates as confirmed bookings
❌ It does not invent occupancy, ADR, RevPAR, or revenue estimates

🔎 Why use this Airbnb scraper

  • Skip manual cleanup: prices are returned as numbers, with currency, dates, nights, and source context.
  • Replace the first pivot table: the report calculates median, mean, minimum, and maximum nightly price plus room-type, rating, Guest Favorite, and Superhost summaries.
  • Choose the right depth: use fast search mode for price maps and market sizing, or full mode for amenities, hosts, rules, photos, and rating breakdowns.
  • Go beyond the pagination ceiling: automatic price-range splitting opens saturated result sets and deduplicates the combined listings.
  • Keep provenance: every row includes the source query, exact source URL, collection time, extraction mode, and parser warnings.
  • Control spend: choose how many listings you need; the Actor optimizes pagination, speed, and retries automatically.

📊 What data you get

GroupMain fieldsWhy it matters
IdentitylistingId, url, titleJoin and deduplicate repeated scans
PricingnightlyPrice, totalPrice, currency, nightsCompare like-for-like numeric prices
PropertyroomType, propertyType, guests, beds, bathsSegment comparable supply
Qualityrating, reviews, category ratings, Guest FavoriteBenchmark listing quality
Hostname, Superhost, host rating, years hostingUnderstand professional-host signals
Detaildescription, amenities, rules, safety, imagesAudit competitor positioning and product gaps
Provenancesource query/URL, mode, timestamp, warningsReproduce and quality-check the dataset

👥 Who it's for

  • Property managers benchmarking a portfolio against local competitors
  • Short-term-rental analysts building destination and neighborhood datasets
  • Hosts comparing price, amenity, and quality signals
  • Real-estate investors screening short-term-rental markets
  • Travel-data teams feeding dashboards, warehouses, or AI workflows

⚙️ How to analyze an Airbnb market

  1. Enter one city or neighborhood in Locations.
  2. Choose Fast market scan and start with 20 to 100 listings.
  3. Add check-in and check-out dates when you need a comparable stay quote.
  4. Run the Actor and inspect the Market scan dataset view.
  5. Open MARKET_SUMMARY.html for immediate price and supply statistics.
  6. Switch to Full listing details only when you need amenities, host facts, rules, and descriptions.
  7. Schedule the same input weekly to build your own time series.

📥 Input

{
"locationQueries": ["Bristol, UK"],
"mode": "search",
"checkIn": "2026-09-18",
"checkOut": "2026-09-23",
"adults": 2,
"currency": "GBP",
"maxListings": 100,
"includeMarketSummary": true
}

You can also supply pre-filtered Airbnb search URLs through startUrls or direct room URLs through listingUrls. Direct listing URLs are enriched even when the global mode is set to search.

Set maxListings to 0 for an uncapped market scan. Large runs automatically adapt pagination, request speed, and saturated price ranges. Keep the default 100 for a cost-safe first run.

📤 Output

{
"listingId": "123456789012345678",
"url": "https://www.airbnb.com/rooms/123456789012345678",
"title": "Sunny apartment near the old town",
"nightlyPrice": 90,
"totalPrice": 450,
"currency": "GBP",
"nights": 5,
"rating": 4.92,
"reviewsCount": 128,
"roomType": "ENTIRE_HOME",
"isGuestFavorite": true,
"scrapeMode": "full",
"scrapedAt": "2026-08-09T12:00:00Z"
}

Download the dataset as JSON, CSV, Excel, XML, or HTML, or retrieve it through the Apify API.

Ready-made examples

🔌 Use it as an API

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('webdata_labs/airbnb-market-intelligence').call({
locationQueries: ['London, UK'],
mode: 'search',
currency: 'GBP',
maxListings: 1000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('webdata_labs/airbnb-market-intelligence').call(run_input={
'locationQueries': ['London, UK'],
'mode': 'full',
'maxListings': 100,
})
items = client.dataset(run['defaultDatasetId']).list_items().items

REST

curl -X POST "https://api.apify.com/v2/acts/webdata_labs~airbnb-market-intelligence/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"locationQueries":["London, UK"],"mode":"search","maxListings":1000}'

💵 How much does it cost?

Pricing is $2.00 per 1,000 search rows and $5.00 per 1,000 full-detail rows at the base tier, with no run-start fee and platform usage included. A 100-listing market scan costs about $0.20 at the base search rate. Higher Apify plans receive volume discounts shown in the live pricing panel.

🔁 Run it on the Apify platform

Use schedules for recurring market scans, webhooks for completion alerts, and integrations for Google Sheets, Make, Zapier, Slack, warehouses, or your own API pipeline.

⚠️ Limits and caveats

  • Airbnb can change page structure, visible supply, search boundaries, and experiments without notice.
  • Prices depend on dates, guests, currency, fees, and availability. Use identical inputs for comparisons.
  • Approximate public coordinates are suitable for market mapping, not property-level address identification.
  • A successful run must still be checked for row count and field coverage before production use.
  • Use the data lawfully and follow Airbnb's terms and applicable privacy rules.

❓ FAQ

Can I scrape several cities in one run?

Yes. Add multiple values to locationQueries. The Actor deduplicates listing IDs across all inputs.

Does this estimate Airbnb occupancy?

No. An unavailable date can be booked, blocked by the host, or unavailable for another reason. The Actor does not turn that ambiguous signal into a false occupancy claim.

Why is a price missing?

Airbnb may omit a quote when no dates are supplied or a listing is unavailable for the requested stay. The original label and source context are retained when available.

Is this an Airbnb API?

It is an Apify Actor that returns structured data through Apify's REST API, client libraries, MCP integration, schedules, and webhooks.

🛠️ Support

When reporting an issue, include the run URL, sanitized input, expected result, and one affected listing or search URL. Never include API tokens or private data.