Airbnb Scraper avatar

Airbnb Scraper

Pricing

Pay per usage

Go to Apify Store
Airbnb Scraper

Airbnb Scraper

Scrape Airbnb listings and pricing without a login. Search any destination for available stays with nightly and total price, or pull a single listing's full detail by URL. Walks pagination across multiple pages up to your chosen limit.

Pricing

Pay per usage

Rating

5.0

(1)

Developer

Goutam Soni

Goutam Soni

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract Airbnb listings, prices, ratings, and availability from any destination with no login and no API key. Search a city, region, or neighborhood to pull every available stay with nightly and total price, or fetch a single listing's full detail by URL. Pagination is walked automatically up to the limit you set, so you get the full result set, not just the first page.

What it does

  • Location search. Give it any city, region, or neighborhood and get back available listings with name, title, property type, bedrooms, beds, bathrooms, rating, review count, price, original (struck-through) price, currency, superhost flag, coordinates, and photos.
  • Listing detail by URL or id. Returns the listing identity, property and room type, guest capacity, rating, review count, coordinates, the full amenities list, and photos.
  • Real prices in your currency. Choose from common currencies. Optionally set check-in and check-out dates so prices reflect the exact nights, including a per-line price breakdown.
  • Automatic pagination. Walks through every page of a search until your maxResultsPerSource is reached or the search runs out. No manual page handling.
  • Clean, normalized output. Every row follows one stable schema with the same keys in the same order, ready for spreadsheets, databases, or downstream automation.
  • No account required. No password, no token, no cookies. Provide locations or listing links and it returns structured rows.

Use cases

  • Short-term rental market research. Pull every listing in a target city to study supply, pricing bands, property mix, and superhost share.
  • Dynamic pricing and revenue management. Track nightly and total prices across a destination over time to benchmark your own listing against the local market.
  • Lead generation for property services. Build lists of active hosts and properties in a region for cleaning, photography, management, or insurance outreach.
  • Travel and relocation planning. Compare availability and price across multiple destinations and date ranges in one run.
  • Investment and feasibility analysis. Estimate occupancy potential and average daily rate for a neighborhood before buying or building.

Input

FieldTypeDescription
locationsarrayDestinations to search. City, region, or neighborhood names (e.g. Lisbon Portugal, Barcelona Spain).
listingUrlsarrayListing links or numeric ids to fetch full detail for (e.g. https://www.airbnb.com/rooms/12345678).
maxResultsPerSourceintegerCap on listings returned per location search. Default 100. Pagination is walked across multiple pages until this is reached.
currencystringCurrency for all prices. Default USD. Choose from USD, EUR, GBP, CAD, AUD, INR, JPY, BRL, MXN, AED.
checkInstringOptional check-in date YYYY-MM-DD. When set with a check-out date, prices reflect those nights.
checkOutstringOptional check-out date YYYY-MM-DD.
adultsintegerNumber of adult guests used to size and price results. Default 1.
concurrencyintegerHow many sources to process in parallel. Default 5.
proxyConfigobjectProxy routing. Residential proxies are recommended for reliable results at scale.

Example input

{
"locations": ["Lisbon Portugal", "Barcelona Spain"],
"maxResultsPerSource": 200,
"currency": "EUR",
"checkIn": "2026-08-10",
"checkOut": "2026-08-15",
"adults": 2
}

Output

Each listing is one clean row. Keys are ordered by importance: identity first, then metrics, then attributes, media, and metadata.

{
"type": "listing",
"id": "12345678",
"url": "https://www.airbnb.com/rooms/12345678",
"name": "Bright studio near the old town",
"title": "Flat in Lisbon",
"rating": 4.92,
"reviewsCount": 148,
"price": "€620",
"originalPrice": "€700",
"priceQualifier": "for 5 nights",
"currency": "EUR",
"propertyType": "Flat",
"roomType": null,
"personCapacity": null,
"bedrooms": 1,
"beds": 2,
"bathrooms": 1,
"isSuperhost": true,
"amenities": [],
"badges": ["Guest favorite"],
"priceBreakdown": [
{ "description": "5 nights x €124", "amount": "€620.00" }
],
"images": ["https://example.com/photo-1.jpg"],
"latitude": 38.7169,
"longitude": -9.1399,
"checkin": "2026-08-10",
"checkout": "2026-08-15"
}

Key fields

  • name, title, url, id identify the listing. name is the host's listing title; title is the short type-and-place label (e.g. "Flat in Lisbon").
  • rating and reviewsCount are the average score and number of reviews. New listings with no reviews yet return null for both.
  • price is the displayed total for the chosen dates and currency. originalPrice is the struck-through price and is present only when the listing is discounted. priceBreakdown itemizes the total.
  • propertyType, bedrooms, beds, bathrooms, and isSuperhost describe the stay. roomType, personCapacity, and amenities are filled for listing-detail rows (from a listing URL) and are empty for search rows.

FAQ

Is it free? What does it cost? The actor is pay-per-result, so you are billed for the listings you receive. There is no separate platform or login cost. New Apify accounts include free monthly usage credits you can run it with.

Do I need an Airbnb account, login, or API key? No. There is no account, password, cookie, or API key to configure. Provide locations or listing links and run it.

How many listings can I get per search? Set maxResultsPerSource to your target. The scraper pages through results automatically until that number is reached or the destination has no more listings. Large values run across many pages.

How fast is it? A single page returns in a few seconds. A full search of a few hundred listings typically completes in well under a minute, depending on concurrency and proxy speed.

Can I get prices for specific dates? Yes. Set checkIn and checkOut (and adults) and every price reflects those exact nights, with a per-line breakdown of the total.

Why are some fields empty? Search rows do not carry room type, guest capacity, or amenities. Those come from listing-detail rows (pass a listing URL). New listings with no reviews return null rating, and originalPrice is only set when a listing is discounted.

Notes

  • Each page of a location search returns up to 18 listings. Pagination is handled for you.
  • Set checkIn and checkOut for the most accurate prices. Without dates, search prices reflect a default upcoming stay.
  • Residential proxies are recommended for reliable results at scale.