Airbnb Scraper: Every Stay, Past the 15-Page Limit
Pricing
from $0.14 / 1,000 listings
Airbnb Scraper: Every Stay, Past the 15-Page Limit
Every stay of an Airbnb search, past the 15 pages Airbnb shows, checked against its count. $0.20 per 1,000 listings. 848 of 848 in McCall, Idaho. Dates, guests.
Pricing
from $0.14 / 1,000 listings
Rating
0.0
(0)
Developer
Luzi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
Get every stay of an Airbnb search, not just the 15 pages Airbnb shows you: for a city, region or neighborhood, with your dates and guests or without, or from any Airbnb search link with your own filters. The run's last message checks the listings saved against Airbnb's own count for each search. No Airbnb account, login or cookies needed.
Tested daily. Latest check: McCall, Idaho, all 848 stays Airbnb counted for four nights in December (857 saved, as the count moved), in 4 minutes.
What does this Actor do?
You give it places (as you would type them in Airbnb's search box) or links to Airbnb searches. For each search it saves one row per listing, until it has every stay Airbnb counts for that search or reaches your limit.
Airbnb's own site stops at 15 pages of 18 stays (270) for any search. This Actor keeps going until it has every stay in the search, so a whole town or city comes back in one run, and its final message says, per search, whether it got all of Airbnb's count.
Each row comes with:
- the listing id, its link, its name, and its type and area as Airbnb titles it ("Cabin in McCall")
- the rating, the number of reviews, and whether it is new
- badges: Superhost, Guest favorite, the top guest favorites
- bedrooms, beds and baths, and the card's room lines as shown
- the price for the stay, the price before a discount, the price per night and the number of nights, the whole price breakdown (nights, discounts, taxes, total) and the host's price notes
- highlights such as free cancellation, and promotions
- the card's photos and its cover photo
- its latitude and longitude
- the dates and guests the price is for (Airbnb's own pick when you give no dates)
- the search it came from and Airbnb's count for the search
Why use it?
- Every stay, not 270. A search with more stays than Airbnb shows is read to its end; the run tells you for each search how many of Airbnb's count it saved.
- Prices for your trip. Give dates and guests and every price is for that stay, with the breakdown; leave them out and you still get a price for every listing.
- Any search link. Set filters on Airbnb (type of place, rooms, amenities, price), copy the link and paste it.
- $0.20 per 1,000 listings, and nothing per search.
How to use it
- Type one or more places under Locations, with dates and guests if you want prices for a trip, or paste Airbnb search links under Search links.
- Set Max listings per search (1,000 by default). To get a whole search, set it above the number Airbnb shows for it.
- Start the run, then download the listings as JSON, CSV or Excel.
Run it with no input to see a sample: up to 100 stays in McCall, Idaho, charged as usual.
Input
| Field | What it is |
|---|---|
locations | Places, one per line: McCall, Idaho, Lisbon, Portugal, a neighborhood |
startUrls | Airbnb search links for stays; each keeps its own dates, guests and filters |
checkIn, checkOut | Dates of the stay, YYYY-MM-DD, for the locations |
adults, children, infants, pets | Guests, for the locations |
minPrice, maxPrice | A price range, for the locations |
currency | USD by default; EUR, GBP and the rest |
maxListingsPerSearch | 1 to 50,000, default 1,000 |
Example:
{"locations": ["McCall, Idaho", "Lisbon, Portugal"],"checkIn": "2026-12-10","checkOut": "2026-12-14","adults": 2,"maxListingsPerSearch": 5000}
A link to one listing, an experience or a service is refused before the run starts, with the link named.
Output
One row per listing. Fields Airbnb does not show for a listing are null or
an empty list.
| Field | What it is |
|---|---|
listing_id, url | Airbnb's id for the listing and its page |
name, title, place_type, place_area, subtitle | The listing's name; Airbnb's title ("Cabin in McCall") and its two parts; a hotel's line |
latitude, longitude | Where it is, as Airbnb places it on the map |
rating, reviews_count, rating_text, rating_label, is_new | The rating and reviews; "New" for a listing with none yet |
badges, badge_types, is_superhost, is_guest_favorite, is_top_guest_favorite | The card's badges |
details, bedrooms, beds, baths, is_studio | Rooms and beds |
price, price_text, price_original, price_original_text, price_qualifier, price_label, price_style | The price as the card shows it ("$1,050 total, originally $1,200") |
currency, nights, price_per_night | The currency, the nights priced and the nightly rate |
price_lines, price_notes, price_details_note | The price breakdown, line by line, and the notes under it |
highlights, highlight_types, has_free_cancellation, promotions | Free cancellation, pay nothing today, credits |
photos, photo_ids, photo_count, cover_photo_url | The card's photos |
property_id | A hotel's id, for a room in one |
name_language | The language of the listing's name |
dates_text, check_in, check_out, adults, children, infants, pets | The stay the price is for |
search_location, search_place_id, search_url, search_total | The search the row came from and Airbnb's count for it |
Hosts' first names can appear in the price notes, and listing photos can show people: check that your use is allowed where you are.
How much does it cost?
No surcharges and no paid options; an item that fails is not charged.
This Actor is priced per listing saved:
- $0.20 per 1,000 listings ($0.0002 a listing). Each listing is charged once per run.
- No start fee, and nothing per search.
So 1,000 listings cost $0.20. If you set a maximum cost for a run, the Actor stops when it reaches it and keeps every listing saved so far.
How long does a run take?
857 listings took 4 minutes in a test. A search over 270 stays takes more pages than its stays alone would. For a search of several thousand listings, raise the run's timeout under Run options before you start.
Good to know
- Airbnb's count. The final message compares the listings saved with Airbnb's count for each search.
- Listings are read in English, whatever the search link's language; names stay as their hosts wrote them. Airbnb's count moves by a few stays from one minute to the next, so a whole read can save a few more than it.
- A listing in two of your searches (a town and its region, say) is saved once, under the first search that reached it.
- Order. A small search comes back in Airbnb's order; a larger one in no particular order.
- Listing pages are not read. You get what Airbnb's search results show for each listing, not its own page (description, amenities, house rules, host profile, reviews).
- Stays only: experiences and services are not read.
More Actors from us
- Alibaba Products Scraper: Price Tiers & Suppliers: Alibaba.com products by keyword or link, with price tiers in US dollars on every row.
- AliExpress Product Scraper: Search Results & Prices: Every product of an AliExpress search to its last page, with exact sold counts and ratings.
- Amazon Product Scraper: Search Results & Prices: Every product on Amazon's search pages to the last page, sponsored marked, with monthly sales.
- App Store Reviews Scraper: All Reviews, Not 500: Every written App Store review of an app, not just the newest 500.
- Woolworths Coles ALDI Scraper: AU Grocery Prices: Woolworths, Coles and ALDI products for any search in one run, every results page to the end.
- Bilibili Video Scraper: Search & Channel Videos: Bilibili videos from searches or whole channels, each with its full detail page's data.
Use it from an AI agent or the API
One call starts a run and returns its items (Apify waits up to 300 seconds; for a
longer run, start it with POST /v2/acts/…/runs and read its dataset):
POST https://api.apify.com/v2/acts/luzivanlt~airbnb-listings-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>
With the sample input as its JSON body:
{"locations": ["McCall, Idaho"],"maxListingsPerSearch": 100}
Its inputs, in the order of the input form:
| Input | What it takes | Default |
|---|---|---|
locations (Locations) | Places to search, one per line, as you would type them in Airbnb's search box: a city, a region, a neighborhood (McCall, Idaho; Lisbon, Portugal). | — |
startUrls (Search links) | Airbnb search results links for stays (airbnb.com/s/<place>/homes) from any Airbnb site (airbnb.co.uk, airbnb.de, …), copied from your browser after you set the dates, guests and filters you want. | — |
checkIn (Check-in) | Check-in date for the locations, YYYY-MM-DD; give it with the check-out date. | — |
checkOut (Check-out) | Check-out date for the locations, YYYY-MM-DD. | — |
adults (Adults) | Adult guests, for the locations, from 1 to 16. | — |
children (Children) | Children (ages 2 to 12), for the locations, from 0 to 15. | — |
infants (Infants) | Infants (under 2), for the locations, from 0 to 5. | — |
pets (Pets) | Pets, for the locations, from 0 to 5. | — |
minPrice (Minimum price) | For the locations: only places priced at least this much, in the currency below, a whole number from 0 to 1,000,000. | — |
maxPrice (Maximum price) | For the locations: only places priced at most this much, in the currency below, a whole number from 1 to 1,000,000. | — |
currency (Currency) | Three-letter currency code for the prices (USD, EUR, GBP, …), for the locations and the search links. | — |
maxListingsPerSearch (Max listings per search) | Stop each search after this many listings, from 1 to 50,000 (1,000 by default). | 1000 |
Apify's MCP server, https://mcp.apify.com, lists it as luzivanlt/airbnb-listings-scraper. To give an
AI agent this Actor as a tool, add the server to the agent's MCP config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=luzivanlt/airbnb-listings-scraper"}}}
The client signs in with OAuth, or add "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }.
A real run's output, unedited: the sample dataset.
Charged per listing delivered; the sample input above costs at most $0.02.
FAQ
Can I get every listing in a big city? Yes. Set Max listings per search above Airbnb's count; the final message tells you how many of Airbnb's count were saved.
Can I use my own filters? Yes. Set them on Airbnb, copy the link from your browser and paste it under Search links.
Is it legal to scrape Airbnb?
This Actor reads pages anyone can open without an account. Check Airbnb's terms and the laws where you are before you use the data, especially any personal data.
Support
Open an issue on the Actor's page and describe the search and what you expected.