Airbnb Scraper: Listings, Prices, Reviews - No API · Apify
Airbnb Scraper - Listings, Prices & Reviews avatar

Airbnb Scraper - Listings, Prices & Reviews

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Airbnb Scraper - Listings, Prices & Reviews

Airbnb Scraper - Listings, Prices & Reviews

Unofficial Airbnb API & scraper: get listings at scale — price, rating, reviews, room type, amenities, coordinates & images. No login, no API key. Hundreds per search.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

2 hours ago

Last modified

Features

Limited permissions

Share

Airbnb Scraper — Listings, Prices, Ratings & Reviews (No API, No Login)

Airbnb Scraper — Short-Term Rental Data Extractor

Apify Actor No API key No login Pay per result Travel Export

Scrape short-term-rental listings from Airbnb — apartments, houses, private rooms and hotel rooms — for any city, region or filtered search URL. Get nightly & total price, average rating, review count, GPS coordinates, room layout, badges, host details & full image galleries in clean, analysis-ready JSON, straight from Airbnb's public search pages. Fast, no headless browser, no API key, no login, zero account risk.

🏆 Why this Airbnb scraper?

Hundreds of listings per search · rich per-listing fields · exact latitude/longitude for every stay · optional host + amenities + reviews breakdown enrichment · login-free over residential proxies (no Airbnb account ever touched) · export to JSON / CSV / Excel. The unofficial Airbnb API alternative for market research, revenue management and STR analytics.


✨ What this Actor does / Key features

  • 🏠 Any place, any URL — search by a single location, a list of locations, or paste fully-filtered Airbnb searchUrls (dates, guests, price, map area already applied).
  • 📦 Hundreds per search — cursor pagination walks the full public result set per location and de-duplicates across pages.
  • 💲 Full pricing — nightly display price, total-for-stay price (when check-in/out are set), currency and price qualifier.
  • ⭐ Ratings & reviews — average rating, review count and the raw rating label per listing.
  • 📍 GPS coordinates — exact latitude/longitude for every listing, ready for maps, heatmaps and geo-analysis.
  • 🛏️ Room layout — room type, bedrooms, beds and bathrooms.
  • 🏅 Badges & signals — Guest favorite flag, free cancellation, "Pay $0 today" and other payment messages.
  • 👤 Host enrichment (optional) — host name, Superhost status, profile link, years hosting, host rating & highlights.
  • 🧰 Full amenities (optional) — complete grouped amenities list (available and unavailable), plus description, house rules, cancellation policy and per-category rating breakdown.
  • ⚡ No browser — lightweight HTTP extraction of embedded listing data; fast and cheap at scale.
  • 🛡️ Login-free & safe — public data over residential proxies; no Airbnb account, no cookies, no ban risk.

🚀 Quick start (3 steps)

  1. Configure — type a location like Paris, France (or paste one or more filtered Airbnb searchUrls). Add stay dates, guest counts and price/room filters if you want.
  2. Run — click Start. The Actor paginates each search and streams listings into your dataset.
  3. Get your data — open the Output tab and export to JSON, CSV, Excel or HTML, or pull it via the Apify API.

📥 Input

Give the Actor at least one of location, locations or searchUrls. Everything else is optional.

Example — apartments in Paris for specific dates (2 guests, EUR)

{
"location": "Paris, France",
"checkIn": "2026-08-01",
"checkOut": "2026-08-05",
"adults": 2,
"currency": "EUR",
"maxResults": 300
}

Example — multi-city market scan with host + amenities enrichment

{
"locations": ["Lisbon, Portugal", "Barcelona, Spain"],
"roomTypes": ["Entire home/apt"],
"minBedrooms": 2,
"includeDetails": true,
"detailConcurrency": 5,
"maxResults": 500
}

Example — your own filtered search URL (map area + price band)

{
"searchUrls": ["https://www.airbnb.com/s/Rome--Italy/homes?adults=2"],
"minPrice": 80,
"maxPrice": 250,
"maxResults": 400
}
FieldTypeDescription
locationstringA single place to search, e.g. Paris, France, New York, Rome--Italy.
locationsarraySearch several places in one run — each becomes its own paginated search.
searchUrlsarrayPaste full Airbnb search URLs (any filters/map area already applied). Overrides the location filters below.
checkIn / checkOutstringOptional stay dates (YYYY-MM-DD). Prices become total-for-stay when set.
adults / children / infants / petsintegerGuest counts.
minPrice / maxPriceintegerNightly price range filter.
minBedrooms / minBeds / minBathroomsintegerLayout filters.
roomTypesarrayFilter by Entire home/apt, Private room, Shared room or Hotel room.
currencystringPrice currency (ISO code). Default USD.
maxResultsintegerGlobal cap on listings saved. Default 200; each search paginates ~270.
includeDetailsbooleanVisit each listing's room page to add host, full amenities, description, house rules, per-category rating breakdown and highlights. Adds 1 request per listing. Default false.
detailConcurrencyintegerParallel detail-page fetches when includeDetails is on (1–10). Default 5.
proxyConfigurationobjectApify Proxy settings. Residential (pre-configured US) is required for Airbnb.

Finding a search URL: open airbnb.com, apply any filters and map area you want, then copy the full URL from your browser and drop it into searchUrls. The Actor paginates it exactly as-is.

📤 Output

One row per listing — exportable to JSON, CSV, Excel or HTML. Here is a trimmed sample record:

{
"id": "49770156",
"url": "https://www.airbnb.com/rooms/49770156",
"name": "Bright apartment with Eiffel Tower view",
"title": "Apartment in 15th Arrondissement",
"subtitle": "Bright apartment with Eiffel Tower view",
"roomType": "Apartment in 15th Arrondissement",
"rating": 5.0,
"reviewsCount": 13,
"ratingLabel": "5.0 (13)",
"price": 1406,
"priceLabel": "$1,406",
"priceQualifier": "for 5 nights",
"currency": "$",
"coordinates": { "latitude": 48.8532, "longitude": 2.29504 },
"roomInfo": { "bedrooms": "1 bedroom", "beds": "1 bed", "bathrooms": "1 bath" },
"badges": ["Guest favorite"],
"isGuestFavorite": true,
"paymentMessages": ["Pay $0 today", "Free cancellation"],
"images": ["https://a0.muscache.com/im/pictures/hosting/…/original/….jpeg"],
"thumbnail": "https://a0.muscache.com/im/pictures/hosting/…/original/….jpeg",
"searchLocation": "Paris, France",
"scrapedAt": "2026-07-06T12:00:00.000Z"
}

💡 Use cases

  • STR market research — measure inventory, room-type mix and amenity coverage across a city or neighbourhood.
  • Revenue management — benchmark comparable listings and tune nightly rates against live market pricing.
  • Investment screening — analyse supply, pricing and occupancy signals before buying a rental property.
  • Price tracking — re-run on a schedule for the same dates and diff prices to spot trends and events.
  • Geo-analysis — plot listings by coordinates for heatmaps of supply and price by district.
  • Product data — power search, maps and price-comparison features in travel and proptech apps.

👥 Who uses it

Short-term-rental investors & flippers · revenue managers & Airbnb hosts · travel & proptech product teams · data scientists building geo-tagged rental datasets · market researchers & data journalists tracking city-level rental supply and prices.

💰 Pricing

This Actor runs on a simple pay-per-result model — you pay for the listings you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.

❓ Frequently Asked Questions

Is it legal to scrape Airbnb? The Actor collects only publicly available listing data. You are responsible for using the data in compliance with Airbnb's Terms of Service, bulk-access limits and applicable laws such as GDPR.

Does Airbnb have a public API? Airbnb has no open public API for scraping listing prices and reviews. This Actor reads Airbnb's own public search pages instead — giving you structured short-term-rental data without any developer key.

Can I scrape Airbnb without an API or login? Yes. There is no Airbnb account, login, cookie or API key required — only an Apify account. The Actor reads public search data over residential proxies, so no Airbnb account is ever used or put at risk.

How much data can I get? Hundreds of listings per location — it paginates the full public result set (~270 per search). Add multiple locations or paste several filtered search URLs to scale into the thousands.

Do I get nightly price or total price? Both. Leave checkIn/checkOut empty for the nightly display price; set them and every price becomes the total-for-stay for that window.

Are GPS coordinates included? Yes — every listing returns exact latitude and longitude, ideal for maps, heatmaps and geo-analysis by neighbourhood.

How do I get host and Superhost details? Turn on includeDetails to visit each room page and add host name, Superhost status, profile link, years hosting, full amenities and a per-category rating breakdown.

Is this an Airbnb API alternative? Yes. Airbnb has no open public data API, so this Actor works as an unofficial Airbnb API alternative — pass a location or search URL and get structured JSON back, with no scraper code to maintain and no API key.

How do I export Airbnb data to CSV or JSON? Run the Actor, then export the resulting dataset as CSV, JSON, Excel or HTML from the Apify console, or pull it live via the Apify API.

🔗 More travel & marketplace scrapers by logiover

Building a cross-platform rental, travel or marketplace dataset? Pair the Airbnb Scraper with the rest of the suite:

PlatformActor
🏨 HotelsBooking.com Hotels & Prices Scraper
✈️ FlightsGoogle Flights Scraper
🛒 MarketplacesCraigslist Scraper · Leboncoin Scraper · Marktplaats NL Scraper
🇷🇺 RussiaAvito Scraper
🇯🇵 JapanMercari Japan Scraper
🇸🇪 SwedenBlocket Scraper
🇩🇰 DenmarkDBA.dk Scraper
🇳🇴 NorwayFinn.no Scraper
🏢 Commercial RECrexi Scraper
📊 Cost of livingNumbeo Cost of Living Scraper

👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.

⏰ Scheduling & integration

Schedule this Actor on Apify to track the short-term-rental market daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated STR pricing and analytics pipelines.

🤖 AI Agents, MCP & RAG Integration

Airbnb Scraper works natively as an on-demand data tool for AI assistants and autonomous workflows.

Connect this Actor directly to Apify AI, Claude Desktop, Cursor, VS Code, Windsurf, LangChain, or LlamaIndex via the official Apify MCP Server — no custom wrapper code needed:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=logiover/airbnb-scraper"
}
}
}
  • Schema-typed inputs & outputs: Clean JSON records with explicit .actor/input_schema.json and .actor/output_schema.json definitions so LLM agents infer parameters and parse fields accurately without HTML noise.
  • Bounded & predictable runs: Built-in volume caps and pay-per-result budget guards prevent runaway agent tool loops.
  • RAG & automation ready: Stream run datasets straight into vector stores, n8n, Make, Zapier, or webhook pipelines.

💬 Support, Issues & Reviews

  • Bug reports & target-site changes: Hit an unexpected empty result or selector change? Open a ticket in the Issues tab with your Run ID or sample input — we actively monitor issues and ship fixes fast.
  • Feature & field requests: Need an additional data attribute or filter? Request it in the Issues tab.
  • Enjoying this Actor? If it saved you engineering time, please consider leaving an honest review on Apify Store or bookmarking logiover/airbnb-scraper — organic developer feedback helps others discover reliable tools and keeps maintenance prioritized.

This Actor extracts only publicly available data and is intended for legitimate research, analytics and market-intelligence use. You are responsible for complying with Airbnb's Terms of Service, bulk-access limits, GDPR and any applicable local laws.


This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by Airbnb; Airbnb and all other trademarks mentioned here are the property of their respective owners.

Airbnb scraping — frequently asked questions

Do I need a Airbnb API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

How do I export Airbnb data to CSV, Excel, JSON or Google Sheets?

Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

Can I schedule this Airbnb scraper to run daily or hourly?

Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.

How many rows can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

This Actor collects only information that Airbnb publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

What happens if Airbnb blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

📝 Changelog

2026-11-14

  • Verified live production health run (2026-11-14): extracted 35 structured records in 7.9s with valid schema output.
  • Hardened internal proxy stall fallback and pay-per-event dataset instance budget protection.

2026-11-11

  • Added reliable terminal run status telemetry and structured Apify AI / MCP Server (mcp.apify.com) tool configuration.
  • Added direct Issues & Reviews support links and refreshed live maintenance verification.

2026-11-01

  • Monthly health check (2026-11-01): a live run on the current build completed successfully and returned data. Input options, output fields and pricing are unchanged.
  • README refreshed: independence disclaimer added.

2026-10-15

  • Every request now has a hard time limit, so a proxy connection that stalls can no longer hold up the run or push it past its timeout.
  • A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
  • A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
  • Runs with a short timeout (API and AI-agent calls) now finish inside it with what they collected, instead of being cut off.
  • Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.
  • The default used when the field is left out for maxResults is now 5,113 (was 200).

2026-09-23

  • Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
  • Output verified on a live run: 23 columns returned, 96.8% of cells populated.
  • Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
  • Input schema, output schema and pricing configuration reviewed.

2026-09-01

  • Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
  • Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
  • No change to input, output fields or scraping logic.

2026-08-11

  • Maintenance release: refreshed the build and dependencies.
  • Re-verified live execution, non-empty structured output and dataset field/type integrity.
  • Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

2026-08-01

  • Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
  • Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.

2026-07-06

  • ✨ README overhaul: richer output sample, three ready-to-run example scenarios, travel & marketplace cross-promo suite, clearer quick-start and expanded high-intent FAQ.

2026-07-01

  • Maintenance pass: re-verified end-to-end on live data within the 5-minute quality window; sharpened Store SEO metadata and expanded the FAQ with high-intent long-tail questions. Added ready-to-run example tasks for common use cases.

2026-06-15

  • Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

2026-06-07

  • 📚 Docs: added coverage for Airbnb API alternative, Airbnb data export / dataset and city-level rental price data use cases.

2026-06-05

  • 🛡️ Reliability fix: results are no longer dropped by strict output validation — runs complete cleanly even at high volume (thousands of results). Stability & performance hardening; fresh rebuild.

2026-06-04

  • Added optional includeDetails mode — enriches each listing from its room page with host, full amenities, description, house rules, cancellation policy, per-category rating breakdown, highlights and coordinates. Adds 1 request per listing; search-only behaviour unchanged when off.
  • Initial release — search by location or URL, full listing fields, cursor pagination.

*Maintained: last verified 2026-11-14 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).