Airbnb Scraper API – Prices, Occupancy & Reviews, No Login
Pricing
from $0.80 / 1,000 listings
Airbnb Scraper API – Prices, Occupancy & Reviews, No Login
Airbnb scraper and API with no login: Airbnb listings by city or link with the real price for your dates, rating and badges, plus an availability calendar with occupancy rate, full listing details and guest reviews. $1 per 1,000 listings, first 100 free every month.
Pricing
from $0.80 / 1,000 listings
Rating
0.0
(0)
Developer
K-Data Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Features
Share
Get Airbnb listings for any city with the real price for your dates: total, nightly rate, discount, rating, reviews count, beds, Superhost and Guest favorite badges, location and photos. Turn on add-ons for the full listing page, a 12-month availability calendar with each listing's occupancy rate (share of the next 30, 90 and 365 nights already booked or blocked) and guest reviews. No login, no cookies, no browser. From $1.00 per 1,000 listings, and the first 100 listings, 30 listing details and 300 reviews every month are free.
Type Lisbon, Portugal, press Start, and get 20 listings in about 4 seconds. The prefilled run uses 20 of your free listings, so it costs only the $0.005 run start, which Apify's free monthly credit covers. Run it from the Console, on a schedule, or as an API from Python, n8n, Make, Zapier or an AI agent.
{"listingId": "45908725","url": "https://www.airbnb.com/rooms/45908725","name": "Luxury Loft in Alfama with Balcony and River View","title": "Loft in Lisbon","rating": 4.95,"reviewsCount": 414,"isGuestFavorite": true,"bedrooms": 1,"beds": 1,"bathrooms": 2,"priceLabel": "$630 for 3 nights, originally $818","priceTotal": 630,"priceOriginal": 818,"pricePerNight": 209.94,"nights": 3,"checkIn": "2026-12-10","checkOut": "2026-12-13","latitude": 38.7091,"longitude": -9.132,"hostName": "Catarina","hostResponseRate": "100%","maxGuests": 4,"ratingCategories": { "cleanliness": 5, "accuracy": 5, "checkin": 4.8, "communication": 4.9, "location": 5, "value": 4.8 }}
What you can do with it
- Track prices: schedule a daily run for your city and dates and watch totals, discounts and nightly rates move.
- Benchmark a short-term rental: compare your listing with the 270 nearest competitors on price, rating, Superhost and Guest favorite status, beds and amenities.
- Estimate occupancy and market demand: with the calendar add-on, every listing gets
occupancyRateNext30Days,occupancyRateNext90DaysandoccupancyRateNext365Days, its free nights and its next check-in date. Run a city with deep search and you have an occupancy map of the whole short-term rental market. Pick the Availability & occupancy view in the Output tab. - Read what guests say: pull reviews with the host's replies, newest first, and run sentiment or topic analysis.
reviewsSincemakes weekly monitoring cheap. - Check one listing: paste a link with your dates and get its price, rules, amenities and host stats. If it isn't bookable for those dates, the row says so.
- Feed an AI agent: ask for "pet-friendly places in Porto under $300 for 3 nights" and get clean JSON back.
How to use it
- Enter one or more Locations (as you'd type them in Airbnb's search box), or paste Listing or search links. A search link copied from your browser keeps its dates, guests, filters and map area.
- Optional: set Check-in / Check-out and guests. With dates, every price is the real total for your stay. Without dates, Airbnb suggests dates per listing and the row shows them in
suggestedDates. - Optional: filters (price, type of place, bedrooms, beds, bathrooms, Guest favorites, Instant Book). Filters are free.
- Optional add-ons: Listing details (with the Availability calendar) and Guest reviews.
- Press Start, then export to JSON, CSV or Excel, or fetch the dataset through the API.
A normal search returns up to 270 listings, because that's where Airbnb's own search stops. Turn on Deep search to cover a whole city: the area is split into map tiles until each tile fits under that limit. In our tests London returned 1,500 unique listings from 58 tiles in 56 seconds, and duplicates are dropped free.
Example inputs:
{ "locations": ["Barcelona, Spain"], "checkIn": "2026-12-10", "checkOut": "2026-12-14", "adults": 2, "maxListings": 100, "roomType": "entire", "maxPrice": 800 }
{ "startUrls": ["https://www.airbnb.com/rooms/50295984"], "checkIn": "2026-12-10", "checkOut": "2026-12-13", "includeReviews": true, "maxReviewsPerListing": 100 }
{ "locations": ["London, United Kingdom"], "deepSearch": true, "maxListings": 5000, "currency": "GBP" }
Occupancy of 200 listings in a city for the next 90 days (200 listings + 200 details = $0.37 on Bronze, less your free monthly results):
{ "locations": ["Austin, Texas"], "maxListings": 200, "includeDetails": true, "calendarMonths": 4 }
Pricing
You pay per result delivered. Filters, duplicates, failed lookups and the price check for links are never charged. There is a one-off $0.005 fee when a run starts.
| Event | Free plan | Bronze | Silver | Gold | Platinum and above |
|---|---|---|---|---|---|
| Listing | $1.00 / 1K | $1.00 / 1K | $0.90 / 1K | $0.80 / 1K | $0.70 / 1K |
| Listing details add-on (calendar included) | $0.80 / 1K | $0.80 / 1K | $0.70 / 1K | $0.60 / 1K | $0.50 / 1K |
| Guest review | $1.50 / 1K | $1.50 / 1K | $1.30 / 1K | $1.10 / 1K | $0.90 / 1K |
Free every month: 100 listings, 30 listing details and 300 reviews.
A listing link always includes its details, so it is charged as listing + details ($1.80 per 1,000 on Bronze). Your run stops by itself at the spending limit you set, and it tells you it did.
How it compares
Bronze prices from the Apify Store on 2026-11-09. tri_angle sells search, listing links and reviews as three separate actors.
| This actor | tri_angle/airbnb-scraper | tri_angle/airbnb-rooms-urls-scraper | tri_angle/airbnb-reviews-scraper | |
|---|---|---|---|---|
| 1,000 listings from a search | $1.00 | $2.00 | n/a | n/a |
| 1,000 listings with amenities, rules and host stats | $1.80 | $2.00 | $3.00 | n/a |
| 1,000 listings with host profile pages | Not offered | $3.35 | $4.00 | n/a |
| 1,000 reviews | $1.50 | n/a | n/a | $4.10 |
| Free plan, 1,000 search listings | $1.00 | $4.00 | n/a | n/a |
| Free monthly results | 100 listings, 30 details, 300 reviews | Not listed | Not listed | Not listed |
| Price for your dates from a link | Yes | n/a | Yes | n/a |
| Availability calendar (0–12 months) | Yes, included in details | Not listed | Not listed | n/a |
| Occupancy rate per listing (30/90/365 days) | Yes, included in details | Not listed | Not listed | n/a |
| Past ~270 listings per search | Yes, deep search | Up to ~240 per query (its README) | n/a | n/a |
| Search, links and reviews in one run | Yes | Search only | Links only | Reviews only |
Choose this actor for prices, details, calendars and reviews in one run at about half the price. Choose tri_angle if you need host profile pages (a host's other listings and about text), which we don't collect.
Output
Every row has type: listing or review. Pick a view in the Output tab: Listings, Listing details or Reviews.
Listing rows (from a search): listingId, url, name, title, subtitle, area, latitude, longitude, rating, reviewsCount, isNewListing, isGuestFavorite, isSuperhost, badges, bedrooms, beds, bathrooms, roomSummary, priceLabel, currencySymbol, priceTotal, priceOriginal, pricePerNight, nights, priceTotalBeforeTaxes, priceBreakdown (nights, fees, discounts), suggestedDates, thumbnail, photos, searchRank, searchQuery, checkIn, checkOut, adults, currency, scrapedAt.
Listing details add-on: description, propertyType, roomType, spaceType, listingType, maxGuests, ratingCategories (cleanliness, accuracy, check-in, communication, location, value), ratingDistribution (share of 5…1 stars), reviewTags (what guests mention, with counts), hostName, hostId, hostIsVerified, hostRating, hostReviewsCount, hostYearsHosting, hostResponseRate, hostResponseTime, coHosts, highlights, amenities, amenitiesUnavailable, amenityGroups, houseRules, safetyAndProperty, petsAllowed, childrenAllowed, sleepingArrangements, isExactLocation, locationBreadcrumbs, all photos, and for links priceStatus.
Availability calendar (with details and calendarMonths > 0): occupancyRateNext30Days, occupancyRateNext90Days, occupancyRateNext365Days (in %), availableNext30Days, availableNext90Days, availableNext365Days, nextAvailableCheckIn, minNights, and calendar with one entry per day:
{ "occupancyRateNext30Days": 23.3, "occupancyRateNext90Days": 15.6, "availableNext30Days": 23, "availableNext90Days": 76, "availableNext365Days": 343, "nextAvailableCheckIn": "2026-11-09", "minNights": 1,"calendar": [{ "date": "2026-11-12", "available": false, "checkIn": false, "checkOut": false, "minNights": 1, "maxNights": 365 }] }
Review rows: listingId, listingUrl, reviewId, rating, text, translatedText, language, createdAt, date, localizedDate, reviewerName (first name as Airbnb shows it), reviewerInfo, hostResponse, hostResponseDate, hostName, photos.
{ "type": "review", "listingId": "50295984", "reviewId": "1812967694577097070", "rating": 5, "date": "2026-11-06", "language": "en","text": "This beautiful home in Lisbon is a real gem. Views of the city from all directions, you feel you're in the heart of old Lisbon.","reviewerName": "Emma", "reviewerInfo": "10 years on Airbnb", "hostResponse": null }
RUN_SUMMARY in the key-value store lists every search with its status (OK, NO_RESULTS, NOT_FOUND, FAILED), how many results were free and charged, and your free results left this month.
FAQ
Why do I get at most about 270 listings per search? Airbnb's search shows 15 pages of 18 listings and then stops, for every client. Deep search gets around it legitimately by asking for smaller map areas, the way you would by zooming in on the map.
Why is a price missing or marked "Not bookable"?
Airbnb only prices concrete dates. Without dates the row carries the dates Airbnb suggests (suggestedDates). For a listing link with dates, priceStatus: "NOT_AVAILABLE" means Airbnb's own search didn't offer it for those dates and guests.
Is the price the total?
priceTotal is the stay total Airbnb shows on the search card, after discounts. priceOriginal is the price before the discount. priceBreakdown lists nights × rate, cleaning or resort fees and discounts when Airbnb includes them. Taxes depend on the country and are added at checkout.
How is the occupancy rate calculated?
It is the share of nights in the window that a guest can't book on Airbnb's calendar: nights booked by other guests plus nights the host has blocked. Airbnb doesn't show which is which, so read it as an upper bound of real bookings, the same signal STR analytics tools start from. The 30-day rate needs calendarMonths 2 or more, the 90-day rate 4 or more and the 365-day rate 12; otherwise the field is null.
Why do some listings have no rating?
Airbnb shows a rating only after a listing has 3 reviews. New listings have isNewListing: true. The details add-on returns the exact reviews count either way.
Are reviews complete?
Yes. Reviews are paged until the listing's total, newest first by default, with zero duplicates in our tests (546 reviews over 10 listings). Set maxReviewsPerListing to 0 for all of them, or reviewsSince to collect only new ones.
Which currencies and languages work?
Any currency Airbnb supports (USD, EUR, GBP, JPY, KRW and more) and any Airbnb language (en, de, fr, es, ja, ko and more). Review text stays in the guest's language; translatedText is added when Airbnb has a translation.
Do you collect personal data? Only what Airbnb shows every visitor: host first or business names with their public hosting stats, and reviewers' first names. We don't collect profile pages, profile photos, emails or phone numbers. Use the data in line with privacy law where you are.
Is this an official Airbnb API? No. It is an unofficial tool that reads the public data airbnb.com shows a signed-out visitor, and it only uses paths Airbnb's robots.txt leaves open. It is not affiliated with or endorsed by Airbnb.
Something broke? Open an issue on the Issues tab with the run link. We answer the same day.
Use it from AI agents (MCP)
This actor fits tasks like "find Airbnb listings in a city for these dates and their prices", "what is the occupancy rate of Airbnb listings in this city" or "get the reviews of this Airbnb listing". Load it as a tool in Claude, Cursor or any MCP client:
https://mcp.apify.com?tools=actors,k-data-lab/airbnb-scraper
A typical call:
{ "locations": ["Porto, Portugal"], "checkIn": "2026-12-05", "checkOut": "2026-12-08", "adults": 2, "pets": 1, "maxPrice": 300, "maxListings": 20 }
For occupancy: { "startUrls": ["https://www.airbnb.com/rooms/50295984"], "calendarMonths": 12 } returns occupancyRateNext30Days, occupancyRateNext90Days and occupancyRateNext365Days for that listing.
Agents don't need the exact field names: location, urls, maxItems, checkin, checkout and guests work too. RUN_SUMMARY tells the agent what happened, and the free monthly results make test calls cheap.
More from K-Data Lab
Travel and food:
- Agoda Scraper: hotel prices, rooms and reviews
- Airline Award Seat Scraper: mileage seat availability
- Uber Eats & Deliveroo Scraper: restaurants, menus and prices
- Google Maps Scraper: places, phones and ratings
Reviews and web data:
- App Store Scraper and Google Play Scraper: apps and reviews
- YouTube Scraper and YouTube Comments Scraper
- Google Trends Scraper: interest, related queries and Trending now
- Amazon Reviews Scraper: ratings, photos and monitoring
Korea:
- KB Land and R114: Korean apartment prices
- Korean Music Chart Scraper: Melon, Genie, Bugs, FLO and VIBE in one
- Single charts: Melon, Genie, Bugs, FLO, VIBE
Social, ads, e-commerce and jobs:
- TikTok Scraper, X Tweet Scraper, Pinterest Scraper and Telegram Channel Scraper
- Google Ad Library Scraper: ads by advertiser or domain
- Amazon Best Sellers Scraper, Amazon ASIN Rating Scraper and Amazon Seller Central Review Scraper
- ATS Jobs Scraper: jobs from company career sites
Something wrong or missing? Open an issue on the Issues tab.