Airbnb Scraper avatar

Airbnb Scraper

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Airbnb Scraper

Airbnb Scraper

Scrape Airbnb listings by location or URL: prices for your dates, ratings, amenities, photos, house rules, coordinates, and host stats. Fast HTTP scraper with no browser and no 270-result cap.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Tin

Tin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Scrape Airbnb listings for any city, region, or neighborhood, or for search and listing URLs you paste in. For each listing you get the price for your dates, ratings, bedrooms and beds, amenities, house rules, photos, coordinates, and host stats. Results are ready to download as JSON, CSV, Excel, or HTML, or to pull through the Apify API.

The scraper sends plain HTTP requests with no browser, so it's fast and cheap to run. It also gets past Airbnb's limit of about 270 results per search by splitting large searches into price ranges.

What can this Airbnb Scraper do?

  • 🔎 Search by location: type "Lisbon", "Brooklyn, NY", or "Lake Tahoe" the way you would on Airbnb.
  • 🔗 Scrape from URLs: paste Airbnb search URLs (your filters are kept) or individual /rooms/ listing URLs.
  • 💲 Prices for your stay: set check-in, check-out, and guests to get the total price, the price per night, discounts, and the fee breakdown. Relative dates such as 2 weeks keep scheduled runs looking the same distance ahead.
  • 🧮 No 270-result cap: large searches are split automatically by nightly price, so you can collect thousands of listings for a city.
  • 🏠 Full listing details: description, amenities, house rules, sleeping arrangements, safety features, category ratings, and every photo.
  • 🎛️ Filters: price range, type of place, minimum bedrooms, beds, and bathrooms, number of guests, and pets.
  • 💱 Any currency: USD, EUR, GBP, JPY, and every other currency Airbnb supports.
  • 🛡️ Privacy by default: host names, photos, and bios are only saved if you turn them on.

What data can I extract from Airbnb?

ListingPrice and availabilityDetails (with listing details on)
Listing ID and URLTotal price for the stayFull description
Name and listing typePrice per nightAmenities (included and not included)
Rating and number of reviewsOriginal price before discountHouse rules, check-in and check-out times
Bedrooms, beds, bathroomsFee and discount breakdownCategory ratings (cleanliness, location...)
CoordinatesFree cancellation and other booking perksSleeping arrangements
Guest favorite and Superhost badgesCheck-in and check-out dates usedSafety and property notes
Thumbnail and photosAirbnb's suggested dates when none givenHost stats: rating, response rate, years

How do I use Airbnb Scraper?

  1. Click Try for free.
  2. Enter one or more Locations, or paste Airbnb URLs.
  3. Optionally set check-in and check-out dates, guests, and filters.
  4. Set Maximum listings to control how many results (and how much) you get.
  5. Click Start and download your data from the Output tab when the run finishes.

You can also start runs from your own code through the Apify API, schedule them, or connect the results to Google Sheets, Slack, Zapier, Make, and other tools with integrations.

How much does it cost to scrape Airbnb?

You pay only for the listings you get. See the Pricing tab for the price per listing. To keep costs predictable:

  • Use Maximum listings to cap the number of results.
  • Set a maximum cost per run in the run options. The scraper stops scheduling new listings once your budget is used up.
  • Turn off Include listing details if search-card data (price, rating, rooms, coordinates, photos) is enough. Runs finish several times faster.

Input

All fields are optional except that you need at least one location or URL. Example:

{
"locationQueries": ["Lisbon, Portugal"],
"checkIn": "2026-11-10",
"checkOut": "2026-11-14",
"adults": 2,
"currency": "EUR",
"roomTypes": ["Entire home/apt"],
"minBedrooms": 1,
"maxPrice": 250,
"maxListings": 500,
"includeDetails": true
}

See the Input tab for every option and its description.

Output

Each listing is one item in the dataset. Example (shortened):

{
"id": "1581864126294988325",
"url": "https://www.airbnb.com/rooms/1581864126294988325",
"name": "Fabulous Apartment in a Vibrant Area!",
"listingType": "Apartment in Prague",
"propertyType": "Entire rental unit",
"roomType": "ENTIRE_HOME",
"price": {
"label": "$324 for 3 nights, originally $409",
"amount": 324,
"originalAmount": 409,
"perNight": 108,
"nights": 3,
"currency": "USD",
"breakdown": [
{ "description": "3 nights x $136.31", "amount": 408.92 },
{ "description": "Long stay discount", "amount": -85.87 }
]
},
"checkIn": "2026-10-15",
"checkOut": "2026-10-18",
"rating": 4.77,
"reviewsCount": 125,
"ratings": {
"accuracy": 4.7,
"checkIn": 4.88,
"cleanliness": 4.91,
"communication": 4.94,
"location": 4.65,
"value": 4.77
},
"personCapacity": 3,
"bedrooms": 0,
"beds": 2,
"bathrooms": 1,
"location": "Prague, Czechia",
"coordinates": { "latitude": 50.0873, "longitude": 14.4623 },
"isGuestFavorite": false,
"isSuperhost": true,
"paymentMessages": ["Extended stay discount", "Free cancellation"],
"description": "Apartment is located in a beautiful building with top-tier security...",
"amenities": ["Wifi", "Kitchen", "Washer", "Dedicated workspace", "Elevator"],
"houseRules": ["Check-in: 3:00 PM - 12:00 AM", "Checkout before 11:00 AM", "No pets", "No smoking"],
"sleepingArrangements": [{ "room": "Bedroom area", "beds": "1 queen bed, 1 sofa bed" }],
"host": {
"isSuperhost": true,
"rating": 4.88,
"yearsHosting": 8,
"responseRate": "100%",
"responseTime": "Responds within an hour"
},
"thumbnail": "https://a0.muscache.com/im/pictures/hosting/...",
"photos": ["https://a0.muscache.com/im/pictures/hosting/..."],
"searchQuery": "Prague",
"scrapedAt": "2026-10-01T11:41:35.814Z"
}

The Output tab has ready-made table views: Overview, Prices, and Details.

Tips

  • Price monitoring: schedule a daily run with relative dates such as check-in 30 days and check-out 33 days to track prices for the same lead time.
  • Market research: leave Maximum listings at 0 with Get more than ~270 results per search on to collect every listing in a city.
  • Your own filters: set up a search on airbnb.com with the filters you want (amenities, property types, and so on), then paste the URL into Airbnb URLs.
  • Blocked requests: if the log shows many retries, switch Proxy configuration to the RESIDENTIAL group.

FAQ

Can I scrape more than 270 listings per location?

Yes. Airbnb never shows more than 15 pages for one search. With Get more than ~270 results per search on (the default), the scraper splits large searches into smaller price ranges until each range fits within that limit.

Why is the price empty for some listings?

Prices come from Airbnb search results. Listings you add as /rooms/ URLs are scraped from the listing page, which doesn't include a price, so price is null. To get prices, search for the location instead and set your dates.

Why don't I see the host's name?

Host names, profile photos, and bios are personal data, so they're off by default. Turn on Include host personal details if you have a lawful reason to process them.

Does it scrape reviews or the availability calendar?

Not at the moment. You get the overall rating, the number of reviews, and the six category ratings. If you need review texts or calendar data, open an issue in the Issues tab.

This scraper only collects data that anyone can see on Airbnb without logging in. Scraping public data is generally legal, but personal data is protected by regulations such as the GDPR, and you are responsible for how you use the data. If you're unsure, ask a lawyer. Read more in Is web scraping legal?.

Support

Found a bug or need a feature? Open an issue in the Issues tab and include your run ID.