Airbnb Listings Scraper
Pricing
from $0.84 / 1,000 listings
Airbnb Listings Scraper
[$1.20/1K listings] Scrape Airbnb listings for any city and dates: stay and nightly price, rating, review count, coordinates, bedrooms, badges, photos; optional description, amenities, host, calendar and reviews. No browser, no login.
Pricing
from $0.84 / 1,000 listings
Rating
5.0
(1)
Developer
Matvey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Airbnb Listings Scraper collects Airbnb listings for any city, neighbourhood or region and any dates, and returns them as a clean table: the total price for the stay and the price per night in the currency you pick, the struck-through original price and discount, rating and review count, property type and area, coordinates, beds and bedrooms, Guest favorite badge and photos. Switch on one option and every listing also gets its description, full amenities list, host (Superhost, response rate and time), guest capacity, bathrooms, category sub-ratings, cancellation policy and house rules. It reads the data Airbnb puts into its own pages, so there is no browser, no login and no Airbnb API key. Export to JSON, CSV or Excel, run it on a schedule, or call it from the API, n8n, Make, Zapier or an AI agent through MCP.
This is the listings-focused edition of Airbnb Scraper — same engine and same price, set up so that one city in, one table of listings out.
What data does Airbnb Listings Scraper return?
| Field | Example from a real run (Lisbon, 6 October 2026) |
|---|---|
name, propertyType, area | Av Liberdade Historic Center I Balcony I AC I WiFi · Apartment · Santo António |
priceTotal, pricePerNight, currency, nights | 390 · 130 · USD · 3 |
priceOriginal, discountPercent | 467 · 16 |
rating, reviewCount | 4.9 · 305 |
badges, isGuestFavorite | ["Guest favorite"] · true |
bedInfo, highlights | ["2 beds"] · ["Free cancellation"] |
latitude, longitude | 38.7193 · -9.1428 (approximate, as Airbnb shows before booking) |
images | photo URLs |
checkIn, checkOut, adults | the stay and party the price was quoted for |
url, listingId, position, page, query, place | link, id, order, page, your query, how Airbnb understood the place |
With Open every listing page (includeDetails): description, amenities and amenityGroups, hostName, isSuperhost, hostResponseRate, hostResponseTime, personCapacity, bedrooms, beds, bathrooms, roomType, categoryRatings (cleanliness, accuracy, check-in, communication, location, value), ratingDistribution, cancellationPolicy, houseRules, checkInTime, checkOutTime.
With Availability calendar (includeCalendar): minNights, maxNights, availableOnCheckIn, day-by-day calendar and availabilityByMonth with occupancy per month. With Reviews (includeReviews): the latest guest reviews with the host's replies, on the same row.
How much does it cost?
Pay per result, no fee per run. Error rows and "nothing found" rows are always free.
| Event | Price (Free plan) | Per 1,000 |
|---|---|---|
| Listing (from search or a listing URL) | $0.0012 | $1.20 |
| Listing detail (add-on: description, amenities, host, rules) | $0.004444 | $4.44 |
Higher Apify plans pay less: a listing goes down to $0.84 per 1,000. The monthly $5 credit of the Apify Free plan covers about 4,000 listings.
How to scrape Airbnb listings
- Click Try for free (a free Apify account is enough).
- Type one or more places into Where, for example
Lisbon, PortugalorBrooklyn, NY. - Set Check-in and Check-out (without dates the run quotes a 3-night stay starting 30 days from today) and the number of guests.
- Set Maximum listings (50 by default, up to 500; the cap is for the whole run, so with several places the first ones can fill it) and click Start.
- Open the Output tab and download the table, or read the dataset through the API.
You can also paste Airbnb search URLs with your own filters, or single listing URLs (https://www.airbnb.com/rooms/…), into Airbnb URLs.
⬇️ Input example
Entire places with at least 2 bedrooms in Austin, $100–250 a night, with the calendar:
{"locationQueries": ["Austin, Texas"],"checkIn": "2026-11-20","checkOut": "2026-11-23","adults": 4,"roomTypes": ["Entire home/apt"],"minBedrooms": 2,"priceMin": 100,"priceMax": 250,"maxListings": 30,"includeCalendar": true}
An empty input ({}) is a demo: 50 Lisbon listings for a 3-night stay a month from today.
⬆️ Output example
{"type": "listing","listingId": "1075655","url": "https://www.airbnb.com/rooms/1075655","name": "Av Liberdade Historic Center I Balcony I AC I WiFi","propertyType": "Apartment","area": "Santo António","latitude": 38.7193,"longitude": -9.1428,"priceTotal": 390,"priceOriginal": 467,"pricePerNight": 130,"currency": "USD","nights": 3,"rating": 4.9,"reviewCount": 305,"isGuestFavorite": true,"bedInfo": ["2 beds"],"place": "Lisbon, Portugal","checkIn": "2026-11-05","checkOut": "2026-11-08","discountPercent": 16}
Use cases
Hosts and property managers
See what comparable listings in your street charge for the same dates, which ones carry the Guest favorite badge, and how their prices move week to week on a schedule.
Short-term rental investors and analysts
Pull every listing in a city in price bands, then size the market: nightly rate by area and property type, share of entire homes, occupancy from the calendar.
Travel apps and AI agents
One call returns a structured list of stays with numeric prices, ready for ranking, maps or retrieval in an LLM pipeline.
Limits, honestly
- Airbnb stops paging a search at about 270 results. The Actor then repeats the same search in price bands and de-duplicates by listing, which gets well past that (300 Lisbon listings came back in 86 seconds in our test), but a small town simply has fewer listings.
- Coordinates are approximate until booking — that is Airbnb's own rule.
- A place Airbnb does not recognise is not "searched anyway": you get one free row explaining it, not random listings from other countries.
- Prices are what Airbnb quotes for your dates and party, before any personal coupons.
❓ FAQ
Is it legal to scrape Airbnb?
The Actor reads only public listing pages that anyone can open without logging in, and collects no guest personal data beyond what Airbnb publishes on the page. Check that your use follows Airbnb's terms and the privacy law of your country.
Do I need a proxy?
No. Apify Proxy is on by default, and if Airbnb starts rate-limiting, the run switches itself to residential addresses. That is included in the price.
Why is a field empty?
Search cards carry only what Airbnb shows on the card: a listing with no reviews has rating: null, a listing without a discount has priceOriginal: null. Switch on Open every listing page for the full record.
Can I get only new listings every day?
Yes — fill Only new rows — memory name and schedule the Actor; later runs write and charge only listings you have not received before.
Your feedback
Something missing or wrong in the table? Open an issue in the Issues tab — it is read and answered.