Airbnb Scraper
Pricing
from $4.00 / 1,000 dataset items
Airbnb Scraper
Scrape Airbnb listings by location or room URL — nightly price, amenities, host profile, guest reviews, availability calendar, ratings, photos and GPS as clean JSON. Powered by Airbnb's official GraphQL API for reliable, cookieless data. Pay only for the results you get.
Pricing
from $4.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract structured Airbnb data at scale — search by location or scrape specific room URLs and get nightly price, amenities, host profile, guest reviews, availability and GPS coordinates as clean JSON. Built on Airbnb's own GraphQL API, so it runs cookieless and reliable, not on brittle HTML scraping.
Who it's for
- Short-term-rental investors & analysts — pull comps for a market (price, rating, capacity, GPS) to model yield and occupancy.
- Property managers & agencies — build lists of listings and their hosts in any city for outreach and competitive tracking.
- PropTech / SaaS developers — a stable JSON schema you can wire into dashboards, pipelines and CRMs.
- Researchers & journalists — study pricing, availability and host concentration across neighborhoods.
What you get (output fields)
| Field | Type | Description |
|---|---|---|
listing_id | string | Airbnb numeric listing id |
url | string | Canonical /rooms/<id> URL |
name | string | Full listing name (type, rating, layout) |
title / subtitle | string | Search card title/subtitle |
property_type | string | e.g. "Entire rental unit" |
person_capacity | integer | Max guests |
price | string | Nightly price (with currency) |
price_qualifier | string | e.g. "night", "total" |
rating | number | Average star rating |
review_count | integer | Total reviews |
coordinate | object | { lat, lng } |
amenities | array | Available amenities (full mode) |
description | string | Listing description (full mode) |
hero_image / images | string / array | Photo URLs |
host | object | Host name, profile URL, superhost/verified flags, years hosting, rating, reviews |
reviews | array | Guest reviews (when enabled) |
availability | array | Month-by-month calendar (when enabled) |
scraped_at | string | ISO-8601 timestamp |
High-value use cases
- Market analysis — scrape every listing in a city with
scrapeMode: fullto get price, capacity, amenities and host quality for a supply study. - Lead building — capture the
hostobject across a market to identify superhosts and multi-property operators. - Rate & availability monitoring — schedule daily runs with
includeAvailabilityto track open dates and pricing over time. - Review mining — enable
includeReviewsto collect guest sentiment for specific properties or a whole area.
Input parameters
| Field | Type | Default | Notes |
|---|---|---|---|
location | string | — | Place to search, e.g. "Austin, Texas" |
listingUrls | array | — | Direct /rooms/<id> links (alternative to location) |
maxItems | integer | 100 | Stop after this many listings |
scrapeMode | enum | full | full (detail enrichment) or fast (search fields only) |
checkIn / checkOut | string | — | ISO dates for price/availability context |
adults / children / infants / pets | integer | 1/0/0/0 | Guest counts |
minPrice / maxPrice | integer | — | Nightly price filters |
includeReviews | boolean | false | Attach guest reviews |
maxReviews | integer | 10 | Reviews per listing cap |
includeAvailability | boolean | false | Attach availability calendar |
availabilityMonths | integer | 3 | Months of availability |
currency / locale | string | USD / en | Output localization |
Example input
{"location": "Austin, Texas","maxItems": 50,"scrapeMode": "full","adults": 2,"includeReviews": true,"maxReviews": 5}
Example output (one row, trimmed)
{"listing_id": "28294520","url": "https://www.airbnb.com/rooms/28294520","name": "Rental unit in Rome · ★4.89 · 1 bedroom · 2 beds · 1 bath","property_type": "Entire rental unit","person_capacity": 3,"price": "$674","rating": 4.89,"review_count": 188,"coordinate": { "lat": 41.89, "lng": 12.49 },"amenities": ["Wifi", "Kitchen", "Air conditioning"],"host": {"host_id": "12345678","name": "Ally","profile_url": "https://www.airbnb.com/users/show/12345678","is_superhost": true,"is_verified": true,"years_hosting": 6,"host_rating": 4.99},"scraped_at": "2026-07-10T16:40:00+00:00"}
Scheduling & integrations
Run on a schedule (hourly/daily) from the Apify Console, or trigger via the API. Pipe results to Google Sheets, Make, Zapier, or S3 with Apify integrations, and receive a webhook when a run finishes.
MCP / AI assistants
Prefer to query Airbnb live from Claude, Cursor or a custom agent? Use the companion Airbnb MCP Server actor, which exposes search, listing detail, reviews and availability as MCP tools.
FAQ
How many listings can I get per search? Airbnb caps a single search at roughly 250–300 results across pages. For larger coverage, split by neighborhood, price band, or date, or feed listingUrls directly.
Is the data fresh? Every row is fetched live at run time and stamped with scraped_at.
Does it return host email or phone? No. Airbnb does not expose host email/phone; this actor returns the host's public profile (name, profile URL, superhost/verified status, tenure, ratings).
Is it reliable? It calls Airbnb's official GraphQL API with browser-grade TLS, so it avoids most HTML-scraping breakage. Failed individual listings are skipped and logged rather than crashing the run.
Is scraping Airbnb legal? This actor collects only publicly available listing data. You are responsible for complying with Airbnb's terms and applicable laws in your jurisdiction.