How to scrape hotel data from Booking.com

Natasha Lekh
Natasha Lekh

The travel industry nowadays is less about busy agencies located in the city center and more like a complicated system of travel sites which have an enormous and versatile selection of travel destinations, reviews of places to stay, comments and user profiles. The availability of such data on websites such as Booking.com opens up unlimited opportunities for its use. Here’s just a couple of data-backed examples of how the mere existence of sites like Booking.com has reshaped the traveling and hospitality industry:

  • Since 2007, 748 million guests have stayed at homes, apartments, or unique listings like yurts and igloos listed on Booking.com, according to its parent company, Booking Holdings
  • Booking.com services are represented in 220+ countries and territories
  • The booking.com website totals up to 28M+ unique listings - hotels, homes, apartments and other unique places to stay
  • In 2020, 355 million room nights were booked across Booking Holdings, down 58% year over year due to the COVID-19 pandemic

Now that it’s relatively safer to travel, the hospitality industry could benefit from the enormous amount of data available on the internet, especially as all of it is open to public access.

How to use data extracted from booking.com

Here’s a few ways how data scraping and use of extracted data from booking.com can be a catalyst for change and transformation for the travel industry in general, as well as for your interests and business specifically:

  • Monitor prices of products and services: by keeping the hand on the pulse, you can choose the ideal price point to remain competitive and attract more customers. With data scraping, you can maximize your profits by adjusting your rates according to any change in pricing found on competitor websites.
  • Make market analysis work for you: studying the market, foreseeing changes and being ready for them can not be overstated for any industry, let alone travel. With the help of data extraction, business owners can easily monitor price changes of hotel listings, flights, and other services on the websites at scale.
  • Improve your customer service: the data could also be used for implementing improvements by analyzing customer feedback and preferences about travel destinations, accommodation and transportation.
  • Create a database that can update itself on the fly: one of the most important benefits of web scraping is being able to have a full-picture view on the travel industry with the help of a unified database. By bringing new information every day, scraped data can help create a self-updating database packed with valuable insights.
  • Launch web travel business of your own: extracted data brings number of listings that can be displayed on your website. Another thing you can do with this is streamlining the monitoring of trends and prices for related industries and subindustries, which can provide you with flexibility and objectivity about your own pricing strategy.
  • Last but not least - be able to benefit from big data, even if you’re a small player. Above all, this has greater opportunities for expanding your business as well as developing a working market strategy.

In the current circumstances, it wouldn’t be an overstatement to say that the survival of the travel industry largely hangs on investing into data: its collection aka scraping, accumulation as well as applying the insights it provides. At the end of the day, only businesses backed with strong analytics and data can remain one foot ahead of competitors, be able to predict market trends and keep ahead of the curve.

What about Booking.com API?

The Booking.com Connectivity APIs offer a number of specialized functions, divided into these categories: content, rates & availability, reservations, promotions, reporting. The Booking.com API interface is considered quite user-friendly, but getting that data in machine-processable format is not a simple task with official Booking.com APIs. Moreover, Booking.com utilizes many anti-scraping mechanisms, one of them being that it will only display a maximum of 1000 results for any given search. This is obviously an issue for proper scraping, but the Apify Booking.com scraper lets you  overcome both this and other limitations.

Our Booking.com actor does this by using various criteria filters to limit the number of results and then combining data from all of the limited searches into one, keeping only unique results. In such a way, our Booking scraper is capable of extracting valuable data in several ways, including but not limited to location, number, pricing, anytime you need.

The primary drawback of this approach is that when you start the crawler using startUrls, they cannot contain any of the filters, since the crawler will simply replace them. This means that if you want to start the crawler using your own filters in the URL, you will be limited to a maximum of 1000 results.

Step-by-step guide how to scrape Booking.com

  1. Go to Apify’s website: http://apify.com


2.   Sign in at the top right corner using your email account, Google, or GitHub.

3.   Once you’re all set with the account, head over to Apify Store in the Solutions tab.

4.   You’ll be redirected to Apify Store, our collection of ready-made scraping tools called actors.

5.   Find Booking.com Scraper in the Travel section or by typing “booking” into the search bar. You can always come back to the Store later on to explore other useful actor tools. Click on the Booking scraper card.

6.  By clicking on the Booking card, you’ll be redirected to this scraper’s own page, where you can see the actor’s description and main features in its Readme, customizable parameters and even source code.

7.  When you’re ready, find the blue Try me button and click on it.

8.  You’ll be redirected to your Apify Dashboard. You can explore it later once you’ve learned how to scrape the Booking.com website.

9.   Notice the task automatically created for your Booking actor. Now, think of your search query. Let’s say, you’re looking for a nice place to stay at in Paris. Just type Paris into the first field and click Save & Run.

10. Alternatively, search for Paris on booking.com website, type it in and press Enter. And then copy-paste the resulting URL into the field.

11.   Keep the input settings or fill in any place you want to get data from: currency, dates etc. When you’re done setting up your scraping parameters, slide down and click the Save & Run button. The actor will start the scraping process and you’ll notice its status as Running.

12.   It might take a few minutes to complete the scraping process, this depends on the complexity of your run. Soon, you should be able to see that the actor has Succeeded. You can then click the Dataset tab to see what you’ve got there.

13.   Now you can see and download your scraping results and your first effortless, detailed Paris data extraction session from all over Booking.com is over.

Here’s some input parameters you can configure before running the scraper, you can read mroe about them in the scarper's Readme:

  • search, the only required attribute, extends to the city and region
  • useFilters sets if the crawler should utilize criteria filters to get you over 1000 results per one run
  • type of property to search, it will use filters, so cannot be combined with useFilters (the abovementioned 1000+ results attribute)
  • minScore for minimum allowed hotel rating places to be included in results, default being quite high - 8.4
  • check-in and check-out dates in the yyyy-mm-dd format
  • number of rooms, as well as adults and children to be set for the search
  • preferred currency and language and others

This actor consumption is quite low, you can get 1000 results for around 5 CU and 1 hour. We are working on implementing updates and have planned some new features for the future, such as being able to scrape texts of the user reviews as well as extract all images.

Important note: usually you will need to use a proxy to scrape Booking.com or the actor might get blocked. Luckily, your free Apify account comes with a free trial of Apify Proxy, so that should help you to get started with web scraping YouTube.

You might also want to try out our other traveling and accommodation-related scrapers: Tripadvisor scraper, Airbnb scraper, or scrape booking data on the regional instead of city level with our Booking Regions Scraper.





Great! Next, complete checkout for full access to Apify
Welcome back! You've successfully signed in
You've successfully subscribed to Apify
Success! Your account is fully activated, you now have access to all content
Success! Your billing info has been updated
Your billing was not updated