Airbnb Scraper — Listings, Prices & Ratings by Location avatar

Airbnb Scraper — Listings, Prices & Ratings by Location

Pricing

from $4.00 / 1,000 listings

Go to Apify Store
Airbnb Scraper — Listings, Prices & Ratings by Location

Airbnb Scraper — Listings, Prices & Ratings by Location

Scrape Airbnb listings for any destination: price per night, ratings, review counts, room type, coordinates, host badges and images. Filter by dates, guests, price and bedrooms. No API key.

Pricing

from $4.00 / 1,000 listings

Rating

0.0

(0)

Developer

Anton DataScout

Anton DataScout

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Airbnb Scraper — Prices, Availability Calendar & Revenue Estimates

All-in-one Airbnb scraper: type a location and get one clean row per listing with prices, ratings, amenities, host details, GPS coordinates, images — plus an opt-in per-day availability calendar and AirDNA-style occupancy & revenue estimates. Filter by dates, guests, price and bedrooms. Pure HTTP — no browser, no CAPTCHA solver, no API key.

Type a city — Lisbon, Austin TX, Paris, France — and get structured rental data ready for a spreadsheet, database, or pandas DataFrame. Prices come in the currency you choose, not whatever the server's location defaults to, so your data is comparable across markets. Turn on Full coverage to beat Airbnb's ~270-per-search cap and surface thousands of a dense city's listings.

You give itYou get back
A location name (Lisbon, Austin TX)Every listing in that market, one row each
Check-in / check-out datesAccurate per-night prices for that exact stay
Filters (price, guests, bedrooms)Only listings that match
A currency (USD, EUR, GBP)All prices in that currency, comparable across cities
calendarMonths + includeRevenueEstimatePer-day availability + occupancy % and estimated 365-day revenue
fullCoverage: trueThousands of listings per city, past the ~270 cap

Two modes

  • Full mode (default) — visits each listing to return 40+ fields: amenities, host, description, house rules, ratings, images, plus opt-in calendar and revenue.
  • Search-only mode (skipDetailPages: true) — overview rows (price, rating, coordinates, name) without the per-listing fetch. Fast and cheap for whole-city market scans.

What does the Airbnb Scraper do?

It resolves each location into an Airbnb search, reads Airbnb's own page state over pure HTTP (no headless browser), and returns each listing as one flat JSON row — id, title, room type, price, price label, rating, review count, Superhost flag, badges, latitude/longitude, thumbnail image and description. It paginates through the results up to the limit you set, and forces your chosen currency so prices never drift with the proxy's geolocation. No Airbnb account, no API key, no login.

Who is it for?

AudienceWhat they pull
Short-term-rental investorsNightly rates, ratings and Superhost density across neighborhoods to spot high-yield markets
Revenue / pricing managersCompetitor nightly prices to benchmark and tune their own listings
Real-estate analystsSupply and price maps for a market before buying, using exact coordinates
Market researchersPrice distribution, room-type mix and rating spread by area
Data & AI teamsClean flat rows for dashboards, pricing models and LLM pipelines

Why use this scraper?

  • Pure HTTP — fast and cheap. No headless browser and no CAPTCHA-bypass service, so runs are lightweight and cost a fraction of browser-based Airbnb scrapers.
  • Currency you control. Pass a currency and every price comes back in it — no random local currencies from the proxy's location.
  • Exact coordinates on every listing — map it, cluster it, compute distances.
  • Deep pagination — pull far past the single-page default, up to your result cap.
  • Reliable extraction — reads Airbnb's structured page state, so prices, ratings and coordinates come back consistently, not scraped fragilely from rendered HTML.

What data can you extract from Airbnb?

Each listing is one flat row:

{
"locationQuery": "Austin TX",
"id": "887004639380466573",
"url": "https://www.airbnb.com/rooms/887004639380466573",
"name": "Tarrytown Treasure - 3BR 3Bath - 2nd Floor",
"roomType": "Entire home in Austin",
"price": "$531",
"priceLabel": "$531 for 2 nights",
"rating": 4.94,
"reviewsCount": 203,
"isSuperhost": true,
"badges": ["Guest favorite"],
"latitude": 30.27915,
"longitude": -97.79,
"image": "https://a0.muscache.com/...",
"description": "Bright top-floor retreat minutes from downtown…"
}

In full mode each row carries 30+ fields across identity, pricing, geo, ratings, host, amenities and (opt-in) reviews, availability calendar and revenue estimates:

FieldDescription
locationQueryThe search this listing came from
id / urlAirbnb room id and direct URL
name / roomTypeListing name and room/property type
price / priceLabel / priceNumberNightly price string, full label, and numeric value
rating / reviewsCount / ratingLabel / guestSatisfactionGuest rating, review count, label, overall satisfaction
isSuperhost / badgesSuperhost flag and listing badges (e.g. Guest favorite)
latitude / longitudeExact GPS coordinates
image / images / descriptionThumbnail, full photo list, and description
amenities / amenityCountFull amenity list and count
hostName / hostId / hostReviewCount / hostIsSuperhostHost profile
personCapacity / houseRulesMax guests and house rules
reviews[] (opt-in)Per-review rating, text, reviewerName, createdAt, host response
availabilityCalendar[] (opt-in)Per-day available, bookable, minNights, maxNights, check-in/out eligibility
occupancyRate365d / bookedNights365d / estRevenue365d / avgMinNights (opt-in)AirDNA-style occupancy & revenue estimate

How to scrape Airbnb listings

  1. Add one or more destinations to Locations — a city or region name like Lisbon, Austin TX, or Paris, France.
  2. Set Max results per location to cap how many listings you collect (you're billed per listing).
  3. Optionally add check-in/check-out dates, guests, price and bedroom filters, and a currency.
  4. Run the Actor and download the dataset as JSON, CSV or Excel, or pull it via the Apify API.

How much does it cost to scrape Airbnb?

You pay per listing returned. Because the Actor runs on pure HTTP with no headless browser, platform compute is a fraction of browser-based Airbnb scrapers that spin up a full browser per page. Real figures from cloud runs: a search-only city scan costs roughly $0.15 per 1,000 listings; a full-detail run (amenities, host, calendar and revenue per listing) costs around $2 per 1,000 listings — still well below browser-based competitors that charge $5–6 per 1,000. Use Max results per location to cap the volume, and therefore the cost, of any run.

How to monitor Airbnb prices in your area

Run the scraper for your target market, then save it as a task and attach an Apify schedule (daily or weekly). Each run stores a fresh dataset, so comparing runs over time gives you a nightly-price time series, supply changes, and Superhost density trends — without writing any tracking code. Wire the dataset to Google Sheets or a webhook to get an auto-updating view.

How to scrape Airbnb reviews

Turn on includeReviews and each listing carries a reviews[] array — guest rating, full text, reviewer name, date, and the host's response where present. Set maxReviewsPerListing (e.g. 20) to cap how many are fetched per listing. Pair reviews with the amenity and rating-breakdown fields to see not just what guests scored, but why — ideal for competitor pain-point analysis, sentiment models, and listing-copy research.

{
"reviews": [
{ "rating": 5, "text": "Great location, spotless apartment, responsive host…", "reviewerName": "Laura", "createdAt": "2026-05-12", "response": "Thank you Laura, come back soon!" }
]
}

How to estimate Airbnb revenue and occupancy

Turn on includeRevenueEstimate and the Actor reads each listing's forward availability calendar to derive an AirDNA-style estimate: occupancyRate365d, bookedNights365d, availableNights365d, estRevenue365d (booked nights × nightly price) and avgMinNights. Set calendarMonths (1–12) to also get the raw per-day availabilityCalendar array. It's a directional estimate from public availability, not Airbnb-reported earnings — ideal for ranking markets and screening properties by yield.

{
"id": "887004639380466573",
"price": "€142",
"occupancyRate365d": 0.72,
"bookedNights365d": 263,
"availableNights365d": 102,
"estRevenue365d": 33700,
"avgMinNights": 2.4,
"availabilityCalendar": [
{ "date": "2026-08-01", "available": false, "bookable": false, "minNights": 2, "maxNights": 365, "availableForCheckin": false, "availableForCheckout": false }
]
}

How many Airbnb listings are there by city?

By default Airbnb caps a single search at roughly 270 results. Turn on fullCoverage and the Actor splits the search into nightly-price bands and de-duplicates, surfacing far more of a dense city's inventory — useful for market sizing and supply analysis. Raise maxPricePerNight above 10000 for luxury markets so high-end listings aren't missed. Combine fullCoverage: true with skipDetailPages: true for a fast, wide, cheap city-wide count.

How to do Airbnb market research

Scrape your target neighborhood, export to CSV, and pivot: average nightly price by area, rating distribution by price tier, Superhost density as a market-maturity proxy, and room-type mix. Use the latitude/longitude fields to plot supply on a map and spot pricing gaps by location.

How to export Airbnb data to CSV or Google Sheets

After a run finishes, open the Dataset tab and export as CSV, Excel, JSON, XML or HTML table. For a live spreadsheet, connect the Apify Google Sheets integration so each scheduled run appends fresh rows automatically.

Airbnb API alternative

Airbnb has no public listings API. This Actor is the practical alternative: give it a location or search and get structured listing data — prices, ratings, coordinates, host signals — as JSON or CSV, callable from the Apify API or from AI agents via MCP.

Input configuration

FieldTypeNotes
locationQueriesarrayDestinations to search, e.g. ["Lisbon","Austin TX"]
maxResultsintegerListings per location (billed per listing), default 100
checkIn / checkOutstringYYYY-MM-DD for accurate per-night pricing
adultsintegerGuest count
priceMin / priceMaxintegerNightly price window
minBedroomsintegerMinimum bedrooms
currencystringPrice currency, default USD
startUrlsarraySpecific Airbnb room URLs — full record each
skipDetailPagesbooleanSearch-only fast mode
fullCoveragebooleanPrice-band splitting past the ~270 cap
includeReviews / maxReviewsPerListingboolean / intAppend reviews per listing
calendarMonths / includeRevenueEstimateint / booleanAvailability calendar + occupancy & revenue

FAQ

Why does the result count vary between runs? Airbnb caps and fluctuates how many listings it returns per search — this is Airbnb's behavior, not the scraper. Use more specific locations or date ranges to shape results.

Are prices per night? Pass checkIn/checkOut for accurate per-night pricing for that stay. Without dates, Airbnb returns an indicative price that may span a default stay length.

Do I need an Airbnb account or API key? No. No login, no key, no CAPTCHA solver.

Integrations

Connect the Actor to the tools you already use through Apify integrations:

  • Airbnb → Google Sheets — auto-append each run's listings to a spreadsheet for collaborative analysis and price tracking.
  • Airbnb → Slack / Discord — get notified when a run finishes or when new listings appear in your market.
  • Airbnb → Make / Zapier — trigger downstream workflows: update a CRM, send alerts, populate a database.
  • Airbnb → BigQuery / Snowflake — pipe listing data into your warehouse via Airbyte for large-scale analytics.
  • Scheduled runs & webhooks — run daily/weekly to build a price time series, or POST results the moment a run completes.

Use with AI agents via MCP

This Actor is callable from AI assistants that speak the Model Context Protocol through Apify's MCP server. Prompt in plain English — "get Airbnb listings in Lisbon under €150 with reviews" — and your assistant configures and runs the scraper, returning structured rows.

Part of the datascoutlab data toolkit:

Disclaimer

This Actor is not affiliated with, endorsed by, or sponsored by Airbnb, Inc. "Airbnb" and related marks are trademarks of Airbnb, Inc. It accesses only publicly available listing data — no login walls, no access controls bypassed. Comply with Airbnb's Terms of Service and applicable laws (GDPR, CCPA). Results may contain personal data; do not scrape personal data without a legitimate basis.

SEO Keywords

airbnb scraper, airbnb data extraction, airbnb listings scraper, airbnb price scraper, airbnb reviews scraper, airbnb availability calendar, airbnb occupancy data, airbnb revenue estimate, airbnb host scraper, short-term rental data, str market analysis, vacation rental scraper, airbnb api alternative, airbnb bulk export, airbnb csv export, airbnb json export, rental market research, airbnb scraper by location, airbnb listing prices, airbnb room url scraper, apify airbnb actor