Airbnb Scraper avatar
Airbnb Scraper
Try for free

No credit card required

View all Actors
Airbnb Scraper

Airbnb Scraper

voyager/airbnb-scraper
Try for free

No credit card required

Scrape whole cities or extract data from hundreds of Airbnb rentals in seconds. Extract host information, addresses, locations, prices, availability, stars, reviews, images, and host/guest details for free. Download scraped data in various formats including HTML, JSON and Excel.

What does Airbnb Scraper do?

This scraper can extract all listings for a particular area and all details for a particular Airbnb listing. Airbnb usually only provides the first 300 results on the website and limits the API to 1,000 results. But with our unofficial Airbnb API, you can access all possible results. Now you can:

  • get all Airbnb listings from one location: rating, price, number of guests, location details, indicated address, URL, reviews.
  • extract all Airbnb reviews from one listing: initial comments, responses, name, rating, language, author ID, posting time, and lots more.
  • get Airbnb prices in various currencies.
  • specify price range, check-in, and check-out dates.
  • scrape listings one by one or by pasting an external link with a list of URLs to scrape (CSV, Google Sheets).

How to scrape Airbnb data

For a step-by-step guide on how to scrape Airbnb, follow our Airbnb Scraper tutorial.

How many results can you scrape with Airbnb scraper?

Airbnb scraper can return up to 10000 results. However, you have to keep in mind that scraping xxx.website.com has many variables to it and may cause the results to fluctuate case by case. There’s no one-size-fits-all-use-cases number. The maximum number of results may vary depending on the complexity of the input, location, and other factors. Some of the most frequent cases are:

  • website gives a different number of results depending on the type/value of the input
  • website has an internal limit that no scraper can cross
  • scraper has a limit that we are working on improving

Therefore, while we regularly run Actor tests to keep the benchmarks in check, the results may also fluctuate without our knowing. The best way to know for sure for your particular use case is to do a test run yourself.

How much will scraping Airbnb cost you?

When it comes to scraping, it can be challenging to estimate the resources needed to extract data as use cases may vary significantly. That's why the best course of action is to run a test scrape with a small sample of input data and limited output. You’ll get your price per scrape, which you’ll then multiply by the number of scrapes you intend to do.

Watch this video for a few helpful tips. And don't forget that choosing a higher plan will save you money in the long run.

How can you use scraped Airbnb data?

  • Monitor Airbnb listings in your chosen location and get the newest prices updates.
  • Predict prices for the given location for the upcoming tourist season.
  • Find emerging trends and gain competitive intelligence for the travel industry and adapt your own pricing.
  • Analyze customer expectations and preferences in terms of price range, housing size, features, available infrastructure, and much more.
  • Analyze reviews using sentiment analysis to identify the most successful locations in town.
  • Narrow down emerging popular locations to target with the new touring or lodging offers.
  • Support your decisions with data when deciding to open pr visit a new spot away from most popular destinations.

How to scrape Airbnb Destination or Airbnb Place

There are two ways you can scrape Airbnb: either by Destination or by Place.

  1. Scraping by Destination will get you data from Airbnb search results page. You'll get main info on all available listings in any city or town.
  2. Scraping by Place will get you all details from a single rental listing (reviews, price, availability). You can add as many listings as you want.

How to scrape all Airbnb listings in an area

It's super easy to get all Airbnb listings by Destination. Just enter the city name as you would do it in and Airbnb search, then indicate the number of results you want to scrape.

Apify  -  Airbnb  Scraper  input

Here's its equivalent in JSON:

1{
2  "locationQuery": "Sacramento, California",
3  "maxListings": 200,
4  "simple": true,
5  "includeReviews": true,
6  "maxReviews": 10,
7  "calendarMonths": 0,
8  "addMoreHostInfo": false,
9  "currency": "USD",
10  "proxyConfiguration": {
11    "useApifyProxy": true
12  },
13  "maxConcurrency": 50,
14  "limitPoints": 100,
15  "timeoutMs": 60000,
16  "debugLog": false,
17  "minPrice": 20,
18  "maxPrice": 200,
19  "checkIn": "2022-08-09"
20}

How to scrape all details from a single rental listing

It is also easy to get all details for a specific listing. Just enter the URL of the home listing you want to scrape. Note that this parameter only accepts direct listing URLs. Using this field, you can:

  • scrape just one URL (one Airbnb listing).
  • scrape multiple URLs in parallel by adding more URL fields.
  • for convenience, instead of adding multiple URL fields, you can also paste a link to Google Sheets or a CSV containing the list of your URLs.
  • paste original or shortened abnb.me URLs.

Apify  -  Airbnb  Scraper  input

Here's its equivalent in JSON:

1{
2  "simple": true,
3  "includeReviews": true,
4  "maxReviews": 10,
5  "calendarMonths": 0,
6  "addMoreHostInfo": true,
7  "currency": "USD",
8  "proxyConfiguration": {
9    "useApifyProxy": true
10  },
11  "maxConcurrency": 50,
12  "limitPoints": 100,
13  "timeoutMs": 60000,
14  "debugLog": false,
15  "minPrice": 20,
16  "maxPrice": 200,
17  "checkIn": "2022-08-09",
18  "startUrls": [
19    {
20      "url": "https://www.airbnb.com/rooms/30692949"
21    }
22  ],
23  "maxListings": 200
24}

For the full list of optional parameters, their default values, and how to set the values of your own, see the Input Schema tab.

Airbnb data output

The output from Airbnb Scraper is stored in the dataset. After the run is finished, you can download the dataset in various data formats (JSON, CSV, XML, RSS, HTML Table).

Output example (scrape by Destination)

1{
2  "url": "https://www.airbnb.com/rooms/24402632",
3  "name": "RIAD BAB 23☀️ PISCINE CHAUFFÉE",
4  "stars": 4.85,
5  "numberOfGuests": 10,
6  "address": "Marrakech, Marrakech-Safi, Morocco",
7  "roomType": "Entire townhouse",
8  "location": {
9    "lat": 31.63399,
10    "lng": -7.99043
11  },
12  "reviews": [
13    {
14      "author": {
15        "firstName": "Jan",
16        "hasProfilePic": true,
17        "id": "7983682",
18        "pictureUrl": "https://a0.muscache.com/im/pictures/user/ef5ec630-b9d9-4b33-b8df-dd1220e7c24d.jpg?aki_policy=profile_x_medium",
19        "smartName": "Jan",
20        "thumbnailUrl": "https://a0.muscache.com/im/pictures/user/ef5ec630-b9d9-4b33-b8df-dd1220e7c24d.jpg?aki_policy=profile_small"
21      },
22      "comments": "Chloé's Riad BAB23 was a wonderful place to stay.<br/><br/>Right inside of the Marrakesh Medina, with endless opportunities to explore the city and its markets, palaces, gardens, and museums on foot - which we had planned to do.<br/><br/>There's a huge selection of walkable place to eat around the house. Additionally, breakfast and dinner can be arranged at the Riad itself - and we absolutely loved the food made by the riad's own crew. So much so that we kept the breakfast going throughout and had several Moroccon dinners at the house. Exquisite.<br/><br/>Speaking of crew, Chloé was extremely helpful organizing our stay and excursions - and always friendly and reactive. But, even bigger kudos go to the riad's house crew, Aziz & Mohammed who managed things day to day - and the wonderfully friendly and happy cleaning and kitchen crew.<br/><br/>We love Marrakesh and we loved this stay at Chloé's riad. Absolutely wonderful experience. We will be back.",
23      "createdAt": "2023-01-20T15:50:54Z",
24      "id": "808603544614385458",
25      "collectionTag": null,
26      "rating": 5,
27      "recipient": {
28        "firstName": "Chloé",
29        "hasProfilePic": true,
30        "id": "26426272",
31        "pictureUrl": "https://a0.muscache.com/im/pictures/user/b4110954-81a1-4358-adc8-4201b44154bc.jpg?aki_policy=profile_x_medium",
32        "smartName": "Chloé",
33        "thumbnailUrl": "https://a0.muscache.com/im/pictures/user/b4110954-81a1-4358-adc8-4201b44154bc.jpg?aki_policy=profile_small"
34      },
35      "response": null,
36      "localizedDate": "January 2023",
37      "localizedReview": null
38    }
39  ],
40  "pricing": {
41    "rate": {
42      "amount": 260.4,
43      "amountFormatted": "$260.4",
44      "currency": "USD",
45      "isMicrosAccuracy": false,
46      "displayedPrice": 217,
47      "displayedPriceFormatted": "$217"
48    },
49    "rateType": "nightly",
50    "rateBreakdown": [
51      {
52        "date": "7/23/2023",
53        "price": 217,
54        "priceFormatted": "$217"
55      },
56      {
57        "date": "7/24/2023",
58        "price": 217,
59        "priceFormatted": "$217"
60      },
61      {
62        "date": "7/25/2023",
63        "price": 217,
64        "priceFormatted": "$217"
65      },
66      {
67        "date": "7/26/2023",
68        "price": 217,
69        "priceFormatted": "$217"
70      },
71      {
72        "date": "7/27/2023",
73        "price": 219,
74        "priceFormatted": "$219"
75      }
76    ],
77    "nights": 5,
78    "totalPrice": {
79      "amount": 1302,
80      "amountFormatted": "$1,302",
81      "accommodation": 1087,
82      "cleaningFee": 54,
83      "guestFee": 161,
84      "currency": "USD"
85    }
86  },
87  "photos": [
88    {
89      "caption": "Patio Bab Vingt-Trois",
90      "pictureUrl": "https://a0.muscache.com/im/pictures/807af64a-c3ba-4075-9b76-e1f09531c974.jpg?aki_policy=large",
91      "thumbnailUrl": "https://a0.muscache.com/im/pictures/807af64a-c3ba-4075-9b76-e1f09531c974.jpg?aki_policy=small"
92    },
93    {
94      "caption": "Patio Bab Vingt-Trois",
95      "pictureUrl": "https://a0.muscache.com/im/pictures/ef9ae79b-f360-4a31-adf1-9eb4edede987.jpg?aki_policy=large",
96      "thumbnailUrl": "https://a0.muscache.com/im/pictures/ef9ae79b-f360-4a31-adf1-9eb4edede987.jpg?aki_policy=small"
97    }
98  ],
99  "primaryHost": {
100    "id": 26426272,
101    "firstName": "Chloé",
102    "isSuperHost": true,
103    "hasProfilePic": true,
104    "smartName": "Chloé",
105    "about": "Amoureuse de marrakech, des voyages, de déco et de l’art de recevoir. \n\nJe propose 2 riads dans la medina de marrakech à la location pour des longs week-end en famille ou entre amis ! ",
106    "memberSince": "Joined in January 2015",
107    "languages": [
108      "English",
109      "Français",
110      "Italiano"
111    ],
112    "responseRate": "100%",
113    "responseTime": "within an hour",
114    "hasInclusionBadge": false,
115    "badges": [
116      "224 Reviews",
117      "Identity verified"
118    ],
119    "hostUrl": "https://www.airbnb.com/users/show/26426272",
120    "pictureUrl": "https://a0.muscache.com/im/pictures/user/b4110954-81a1-4358-adc8-4201b44154bc.jpg?aki_policy=profile_large",
121    "thumbnailUrl": "https://a0.muscache.com/im/pictures/user/b4110954-81a1-4358-adc8-4201b44154bc.jpg?aki_policy=profile_small",
122    "listingsCount": 2,
123    "totalListingsCount": 2
124  },
125  "additionalHosts": [
126    {
127      "id": 7002687,
128      "firstName": "Lambert",
129      "isSuperHost": false,
130      "hasProfilePic": true,
131      "smartName": "Lambert",
132      "about": "",
133      "memberSince": "Joined in June 2013",
134      "languages": [],
135      "hasInclusionBadge": false,
136      "badges": [],
137      "hostUrl": "https://www.airbnb.com/users/show/7002687",
138      "pictureUrl": "https://a0.muscache.com/im/pictures/user/3ed4129e-75c6-487b-b6a4-719cb8e6a6f7.jpg?aki_policy=profile_large",
139      "thumbnailUrl": "https://a0.muscache.com/im/pictures/user/3ed4129e-75c6-487b-b6a4-719cb8e6a6f7.jpg?aki_policy=profile_small"
140    }
141  ],
142  "isHostedBySuperhost": true
143}

Limitations

  • In order to accomplish the run, the scraper mainly splits the location into smaller areas and divides the price range into smaller ranges. Because of this approach, you might see more crawling pages compared to the results you get, and the run of this actor might take longer to complete.
  • Airbnb Places field will only scrape from a URL of a specific listing. This parameter cannot be used for other URLs, such as search result URL, for instance.

Integrations and Airbnb Scraper

Last but not least, Airbnb Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Or you can use webhooks to carry out an action whenever an event occurs, e.g. get a notification whenever Airbnb Scraper successfully finishes a run.

Using Airbnb Scraper with the Apify API

The Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify actors. The API also lets you access any datasets, monitor actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the apify-client NPM package. To access the API using Python, use the apify-client PyPI package.

Check out the Apify API reference docs for full details or click on the API tab for code examples.

Other travel scrapers

We have other tourism-related scrapers for you to try, such as Booking Scraper and Tripadvisor Scraper. If you're interested in those, browse the Travel Category in Apify Store.

Not your cup of tea? Build your own scraper

Airbnb Scraper doesn’t exactly do what you need? You can always build your own! We have various scraper templates in Python, JavaScript, and TypeScript to get you started. Alternatively, you can write it from scratch using our open-source library Crawlee. You can keep the scraper to yourself or make it public by adding it to Apify Store (and find users for it). Or let us know if you need a custom scraping solution.

Your feedback

We’re always working on improving the performance of our Actors. So if you’ve got any technical feedback for Airbnb Scraper or simply found a bug, please create an issue on the Actor’s Issues tab in Apify Console.

Developer
Maintained by Apify
Actor metrics
  • 338 monthly users
  • 98.9% runs succeeded
  • 18.6 days response time
  • Created in Dec 2019
  • Modified about 22 hours ago
Categories