Airbnb Scraper: Every Stay, Past the 15-Page Limit avatar

Airbnb Scraper: Every Stay, Past the 15-Page Limit

Pricing

from $0.14 / 1,000 listings

Go to Apify Store
Airbnb Scraper: Every Stay, Past the 15-Page Limit

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

Luzi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

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

  1. 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.
  2. Set Max listings per search (1,000 by default). To get a whole search, set it above the number Airbnb shows for it.
  3. 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

FieldWhat it is
locationsPlaces, one per line: McCall, Idaho, Lisbon, Portugal, a neighborhood
startUrlsAirbnb search links for stays; each keeps its own dates, guests and filters
checkIn, checkOutDates of the stay, YYYY-MM-DD, for the locations
adults, children, infants, petsGuests, for the locations
minPrice, maxPriceA price range, for the locations
currencyUSD by default; EUR, GBP and the rest
maxListingsPerSearch1 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.

FieldWhat it is
listing_id, urlAirbnb's id for the listing and its page
name, title, place_type, place_area, subtitleThe listing's name; Airbnb's title ("Cabin in McCall") and its two parts; a hotel's line
latitude, longitudeWhere it is, as Airbnb places it on the map
rating, reviews_count, rating_text, rating_label, is_newThe rating and reviews; "New" for a listing with none yet
badges, badge_types, is_superhost, is_guest_favorite, is_top_guest_favoriteThe card's badges
details, bedrooms, beds, baths, is_studioRooms and beds
price, price_text, price_original, price_original_text, price_qualifier, price_label, price_styleThe price as the card shows it ("$1,050 total, originally $1,200")
currency, nights, price_per_nightThe currency, the nights priced and the nightly rate
price_lines, price_notes, price_details_noteThe price breakdown, line by line, and the notes under it
highlights, highlight_types, has_free_cancellation, promotionsFree cancellation, pay nothing today, credits
photos, photo_ids, photo_count, cover_photo_urlThe card's photos
property_idA hotel's id, for a room in one
name_languageThe language of the listing's name
dates_text, check_in, check_out, adults, children, infants, petsThe stay the price is for
search_location, search_place_id, search_url, search_totalThe 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

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:

InputWhat it takesDefault
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.

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.