Airbnb Scraper – Listings, Prices, Reviews & Calendar
Pricing
from $1.00 / 1,000 listings
Airbnb Scraper – Listings, Prices, Reviews & Calendar
Scrape Airbnb without login: search any city with your dates and get every listing with its price for your stay, full details (amenities, host, house rules, ratings, photos), guest reviews and the 12-month availability calendar. Listing URLs work too.
Pricing
from $1.00 / 1,000 listings
Rating
0.0
(0)
Developer
Smoldesk Studios
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare

Scrape Airbnb for any city, neighborhood or country, or for a list of listing URLs. Each listing comes with the price for your dates (total, per night, discounts, cleaning and resort fees), rating, review count, coordinates and photos. Full details are on by default: description, every amenity, house rules, safety info, sleeping arrangements, host profile (superhost, years hosting, response rate and time), six category ratings, the star distribution and every photo with its room. Switch on guest reviews (full text, English translation, host response) and the 12-month availability calendar (open and booked nights, minimum stay, booked share) when you need them. No login, no browser, no API key.
What you can use it for
- Short-term rental investors: compare nightly prices, ratings and booked share for every listing in an area before you buy.
- Hosts and property managers: watch competitors' prices for the same dates, their amenities, house rules and reviews.
- Travel and price comparison sites: real stay prices for given dates and guest counts, in 20 currencies.
- Market research: how many listings, which property types, how many superhosts, typical capacity per area.
- Review analysis and AI: thousands of guest reviews with translations, ready for sentiment analysis or an LLM.
- Occupancy estimates: the availability calendar shows which nights are already blocked for the next 12 months.
How to scrape Airbnb
- Create a free Apify account and open this Actor.
- In Where, type one or more places the way you'd search on Airbnb (
Lisbon,Austin, TX,Bali, Indonesia). Or paste Airbnb URLs: listing URLs (airbnb.com/rooms/…) or a search URL copied from Airbnb with your filters. - Set Check-in and Check-out and the number of guests to get the real price for that stay.
- Optional: filters (type of place, price per night, bedrooms, beds, bathrooms), Guest reviews, Availability calendar.
- Set Max listings per search and click Start. Download the results as CSV, Excel or JSON, or read them through the API.
- To track prices or availability, save the input as a task and schedule it daily or weekly.



Tips
- Airbnb shows up to about 270 listings per search. For a whole city, search its neighborhoods one by one, or split by price (e.g. 0–100, 100–200, 200+) using the price filters.
- Without dates, Airbnb picks a stay length itself (often 5 nights) for the price. Set dates for exact prices.
- Listings found by more than one search are saved (and charged) once.
Output
Results go to one dataset with a type on every row: listing, review or calendar. The Listings, Listing details, Reviews and Availability calendar tabs show each kind as a table.
A listing (shortened):
{"type": "listing","id": "736570764306678404","url": "https://www.airbnb.com/rooms/736570764306678404","name": "Modern chic homely central one bedroom apartment","title": "Entire rental unit in Greater London, United Kingdom","city": "Greater London","latitude": 51.51999,"longitude": -0.13538,"price": {"total": 1137,"originalTotal": 1383,"perNight": 345.53,"nights": 4,"currency": "USD","label": "$1,137 for 4 nights, originally $1,383","breakdown": [{"label": "4 nights x $345.53", "amount": 1382.13},{"label": "Special offer", "amount": -245.72},{"label": "Price after discount", "amount": 1136.41}]},"rating": 4.8,"reviewsCount": 41,"isSuperhost": true,"isGuestFavorite": true,"propertyType": "Entire rental unit","personCapacity": 2,"bedrooms": 1,"beds": 1,"bathrooms": 1,"ratings": {"cleanliness": 4.8, "accuracy": 4.9, "checkIn": 5, "communication": 5, "location": 5, "value": 4.7},"amenities": ["Hair dryer", "Cleaning products", "Body soap", "Hot water", "Wifi", "Kitchen", "…"],"houseRules": ["Up to 2 overnight guests", "No pets", "No smoking", "No parties or events"],"host": {"name": "Lisa","isSuperhost": true,"rating": 4.85,"yearsHosting": 4,"responseRate": "100%","responseTime": "Responds within an hour"},"photos": [{"url": "https://a0.muscache.com/im/pictures/73d66f6b-698a-457d-9983-b49cf1de9c13.jpg", "caption": null, "room": "Living room"}],"description": "Enjoy a stylish experience at this centrally-located place. Modern, elegant, newly renovated one bedroom apartment in the heart of Fitzrovia…","checkIn": "2026-12-10","checkOut": "2026-12-14","searchQuery": "London"}
Also in every listing with full details: markdown (description ready for an LLM), descriptionHtml, highlights, amenityGroups (all amenities by group, including what's not included), sleepingArrangements, houseRulesGroups, safetyAndProperty, petsAllowed, ratingDistribution, locationSummary, isExactLocation, host.cohosts, host.profileUrl. Listing URLs with dates also get isAvailableForDates, canInstantBook and cancellationPolicy.
A review:
{"type": "review","listingId": "736570764306678404","rating": 5,"createdAt": "2026-10-27T08:07:20Z","language": "en","text": "Great stay at Lisa’s in Fitzrovia. Excellent location—in the center of everything yet still quiet in the evenings…","textTranslated": null,"stayDetail": "Stayed a few nights","reviewerName": "Sarah","hostResponse": null}
An availability calendar (one row per listing):
{"type": "calendar","listingId": "736570764306678404","fromDate": "2026-11-07","toDate": "2027-10-31","daysTotal": 359,"daysAvailable": 65,"daysBlocked": 294,"occupancyRate": 0.819,"days": [{"date": "2026-11-08", "available": true, "availableForCheckIn": false, "availableForCheckOut": false, "minNights": 4, "maxNights": 1125}]}
Input examples
A city with dates, full details and reviews:
{"locationQueries": ["Lisbon"],"checkIn": "2026-12-10","checkOut": "2026-12-14","adults": 2,"maxListingsPerSearch": 100,"includeReviews": true,"maxReviewsPerListing": 50}
Your competitors' listings, with price for a weekend and the 12-month calendar:
{"startUrls": [{"url": "https://www.airbnb.com/rooms/53997462"},{"url": "https://www.airbnb.co.uk/rooms/888323250581768898"}],"checkIn": "2026-12-11","checkOut": "2026-12-13","includeCalendar": true}
Cheap market scan (search page data only, entire homes under $150 a night):
{"locationQueries": ["Austin, TX", "Nashville, TN"],"roomTypes": ["entire"],"priceMax": 150,"maxListingsPerSearch": 0,"includeDetails": false}
Pricing
Pay per result, with a lower price on bigger Apify plans. You pay only for what you switch on.
| Event | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
| Listing (name, price for your dates, rating, location, photos) | $2.00 / 1,000 | $1.50 / 1,000 | $1.20 / 1,000 | $1.00 / 1,000 |
| Full listing details (on by default) | $2.00 / 1,000 | $1.50 / 1,000 | $1.20 / 1,000 | $1.00 / 1,000 |
| Guest review | $2.00 / 1,000 | $1.60 / 1,000 | $1.30 / 1,000 | $1.00 / 1,000 |
| Availability calendar (12 months, per listing) | $4.00 / 1,000 | $3.50 / 1,000 | $3.00 / 1,000 | $2.50 / 1,000 |
| Actor start | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
Examples on the Free plan: 1,000 listings with full details = $4.00. Search data only (details off) = $2.00. Add the availability calendar = +$4.00. 20 reviews for each of 100 listings = 2,000 reviews = $4.00.
Proxy and compute are included. Set Maximum cost per run in the run options and the Actor stops before going over it.
Use with AI agents (Claude, ChatGPT, Cursor, MCP)
Add the Actor as a tool through the Apify MCP server: https://mcp.apify.com?tools=smoldesk/airbnb-scraper. In Claude Desktop, Claude Code, Cursor or VS Code, add this to your MCP config (you sign in to Apify in the browser on first use, or put your API token in a headers → Authorization: Bearer <APIFY_TOKEN> field instead):
{"mcpServers": {"airbnb": {"url": "https://mcp.apify.com?tools=smoldesk/airbnb-scraper"}}}
Or let the Apify CLI write it for you: apify mcp install cursor --tools smoldesk/airbnb-scraper (also claude-code, vscode, codex). Then paste this into your agent's system prompt or tool notes:
Tool: smoldesk/airbnb-scraper (Airbnb Scraper, Apify)Use it when: the user wants Airbnb listings for a place and dates (price for the stay, rating, location, capacity, amenities, host, house rules, photos), guest reviews of listings, or which nights a listing is booked over the next 12 months. Accepts places ("Lisbon"), Airbnb search URLs or listing URLs. No login needed.Don't use it when: the user needs hotel prices across booking sites (use smoldesk/google-hotels-scraper), nightly prices for each date of the calendar (Airbnb no longer shows them), or check-in times and exact addresses (not public).How to call: run the Actor with JSON input and read the dataset items (rows have type listing, review or calendar). Results cost money per item, so keep maxListingsPerSearch and maxReviewsPerListing small unless the user asks for more.Example input: {"locationQueries": ["Lisbon"], "checkIn": "2026-12-10", "checkOut": "2026-12-14", "adults": 2, "maxListingsPerSearch": 20}
Questions an agent can answer with it:
- What do 2-bedroom apartments in Lisbon cost for 10–14 December, and which have the best ratings?
- Summarize what guests complain about in the reviews of these three listings.
- How booked is this listing over the next 6 months?
Use with AI (LangChain / LlamaIndex / CrewAI)
With LangChain (pip install langchain-apify):
from langchain_apify import ApifyWrapperfrom langchain_core.documents import Documentapify = ApifyWrapper() # reads APIFY_API_TOKENloader = apify.call_actor(actor_id="smoldesk/airbnb-scraper",run_input={"locationQueries": ["Lisbon"], "maxListingsPerSearch": 40, "includeReviews": True},dataset_mapping_function=lambda v: Document(page_content=v.get("markdown") or v.get("textTranslated") or v.get("text") or v.get("name") or "",metadata={k: v.get(k) for k in ("type", "id", "listingId", "url", "rating", "city")},),)docs = loader.load()
Already have a run? Use ApifyDatasetLoader(dataset_id="<run's dataset ID>", dataset_mapping_function=...). LlamaIndex: ApifyActor from llama-index-readers-apify. CrewAI: use the Apify MCP server above.
Limitations
- About 270 listings per search. That's Airbnb's own limit. Search smaller areas or split by price to get more.
- No nightly prices in the calendar. Airbnb removed them from its calendar. The calendar shows open/booked nights and stay rules; set check-in and check-out to get the price of a stay.
- Booked share is an estimate:
daysBlockedcounts nights that are booked or blocked by the host, which Airbnb doesn't tell apart. - Not included: check-in/check-out times and the exact address (Airbnb shows them only after booking), the host's other listings, experiences.
- Locations are approximate for most listings (
isExactLocation: false), as on Airbnb itself.
FAQ
Is there an Airbnb API? Not a public one for listing data. This Actor reads the public Airbnb pages instead, so you pay only per result.
How do I get prices for specific dates? Set Check-in and Check-out (and guests). Every listing then has price.total, price.perNight, price.nights and a breakdown with discounts and fees.
Can I scrape a listing's reviews? Yes: switch on Guest reviews. You get the text, rating, date, language, an English translation for reviews in other languages, and the host's response. Set Max reviews per listing to 0 for all of them.
Can I get more than 270 listings for a city? Search neighborhoods one by one (Alfama, Lisbon, Baixa, Lisbon…) or split the price range with the price filters. Duplicates across searches are removed.
Do I need a login, cookies or proxies? No. It uses no Airbnb account. It runs from Apify's servers and switches to Apify datacenter proxy on its own if Airbnb slows it down. Residential proxies are never used.
Is it legal to scrape Airbnb? The listings and reviews are public information shown without a login. Reviews include guests' first names: you are responsible for how you use personal data (GDPR and similar rules). This Actor is not affiliated with Airbnb.
Feedback
Found a bug or missing a field? Open an issue in the Issues tab. If the Actor saved you time, a short review on this page helps other people find it.
Code examples and a quick reference are also on GitHub: smoldesk/airbnb-scraper.
More Actors from Smoldesk Studios
- Google Hotels Scraper: hotel prices for your dates in any currency, ratings, review aspects and booking-site prices, worldwide
- Google Hotels Price Calendar: the cheapest nightly rate for every check-in date up to a year ahead, for any hotel, with taxes and booking-site prices
- Google Maps Scraper: places, phones, websites, ratings and opening hours for any search and location, with emails and social profiles from each website
- Contact Details Scraper: emails, phone numbers, social profiles and contact forms from any list of websites, with email domains checked and junk removed, charged only when contacts are found
- Career Site Jobs Scraper: live jobs from 12,000+ company career sites (Greenhouse, Lever, Workday, Ashby) with salary and seniority
- Shopify Store Analyzer: apps, contacts and products of any Shopify store
- Google Ads Transparency Scraper: every ad a competitor runs on Google Search, YouTube and Shopping — creatives, landing pages, countries, EU impressions and new-ad alerts
- Google Trends Scraper: interest over time, by region and city, related queries and Trending now — no API key
- YouTube Scraper: videos, Shorts, channels and comments from search, channels and playlists — exact views, likes, publish dates and durations, no API key
- YouTube Comments Scraper: comments and replies from videos, channels, playlists or keyword searches, with likes, pinned/hearted flags and authors
- YouTube Channel Scraper: subscribers, exact total views, join date, country and social links of any channel, plus its latest videos
- Tennis Scraper: results, fixtures and betting odds for ATP, WTA, Challenger and ITF, with H2H and rankings
- SEEK, JobStreet & JobsDB Scraper: jobs and salaries across Australia and Southeast Asia
- Telegram Channel Scraper: public channel posts, views, reactions and subscribers
- Substack Scraper: newsletters, subscriber counts and posts
- Weibo Scraper: keyword and hashtag search, posts, comments, profiles and the hot-search board from China's biggest microblog, no login
- WeChat Articles Scraper: WeChat Official Account (公众号) articles from keyword search, full text as Markdown, images, account IDs and publish dates, no login
- Toutiao Scraper: Toutiao (今日头条) news search with date ranges, reads and likes, comments and the hot board (热榜), no login
- Bilibili Scraper: videos, stats, danmaku, comments and creators from China's video site, no login