Booking Scraper avatar

Booking Scraper

Try for free

Pay $5.00 for 1,000 results

View all Actors
Booking Scraper

Booking Scraper

voyager/booking-scraper
Try for free

Pay $5.00 for 1,000 results

Scrape Booking with this hotels scraper and get data about accommodation on Booking.com. You can crawl by keywords or URLs for hotel prices, ratings, addresses, number of reviews, stars. You can also download all that room and hotel data from Booking.com with a few clicks: CSV, JSON, HTML, and Excel

Do you want to learn more about this Actor?

Get a demo

🛎 What does Booking Scraper do?

This web scraping tool allows you to extract data from Booking.com, one of the best-known platforms for hotels, apartments, resorts, villas, and other types of accommodation worldwide.

Booking Scraper expands Booking data extraction beyond the official Booking.com limitations. It allows you to scrape over 1,000 basic listings data at once from the Booking.com. To scrape only the basic details of each listing, use our dedicated Fast Booking Scraper 🏎💨

🧳 What data can I scrape from Booking?

Our Booking Scraper is capable of extracting data such as:

🏖 Hotel names, descriptions and URLs📍 Full address
⏱ Check-in and check-out times🛏 Room availability and room specs
💵 Room prices🛁 Features of each listing
✍️ Total number of reviews⭐️ Rating and stars
🌆 Image URLs🧑‍🦰 Number of persons

💸 How much will it cost to scrape Booking hotels?

This scraper uses the pay-per-result pricing model, so your costs can be easily calculated. It will cost you $5 to scrape 1,000 search results, so 0.005 USD per item.

Apify’s Free plan provides $5 free usage credits every month. For those credits, you can get up to 1,000 results from Booking search results for free.

If you need to get more Booking listings regularly, you should grab an Apify subscription. We recommend our $49/month Starter plan - that one could get you up to 250,000 hotel results every month.

⬇️ Input

For input, you can either specify a Destination ✈️ or use specific URLs from Booking.com website 🔗 (you can apply all the necessary filters on the website beforehand).

You can then configure the scraper on which content you want to scrape (property type, minimum rating, price range, currency, language, etc.) You can also set the range of check-in and check-out dates and how many results you want.

If you want a step-by-step tutorial on how to scrape Booking, read our blog post on how to scrape Booking.com or watch this quick video tutorial:

Tips for scraping hotels on Booking

1️⃣ Booking.com website will only display a maximum of 1,000 results so that’s how much the scraper can get at once. If you need more than that, you can use the Get more than 1000 results toggle. However, in that case, you won’t be able to apply any limiting filters in URLs because the scraper will override them. Scraping by Destination will not be affected by the toggle.

2️⃣ If you need to get detailed data about pricing or specific rooms, you need to provide checkIn and checkOut dates. The reason for this is that Booking.com only shows complete room and pricing info when dates are indicated.

3️⃣ Sometimes Booking.com may return some suggested hotels outside of the expected city/region as a recommendation. The scraper will return all of them in the data results, so you may get more results than expected for your search.

⬆️ Output example

The scraped Booking listings will be shown as a dataset which you can find in the Storage tab. Note that the output is organized as a table for viewing convenience:



You can preview all the fields and choose in which format to download the data you’ve extracted: JSON, Excel, HTML table, CSV, or XML. Here below is the same dataset in JSON:

1[
2  {
3    "order": 24,
4    "url": "https://www.booking.com/hotel/us/three-bedroom-rental-new-york.html?selected_currency=USD&changed_currency=1&lang=en-us&group_adults=2&no_rooms=1&checkin=2023-09-01&checkout=2023-09-02&nflt=price%3DUSD-0-999999-1",
5    "name": "Three Bedroom Rental",
6    "type": "apartment",
7    "description": "Located a 13-minute walk from Central Park and 0.6 miles from Strawberry Fields, Three Bedroom Rental offers accommodations with a kitchen in New York. The property is a 4-minute walk from the Lincoln Center and features free Wifithroughout the property.\n\nThis 3-bedroom apartment will provide you with a flat-screen TV, air conditioning and a living room.\n\nPopular points of interest near the apartment include Carnegie Hall, Broadway Theatre and Museum of Modern Art. The nearest airport is LaGuardia Airport, 7.5 miles from Three Bedroom Rental.",
8    "stars": null,
9    "price": 1.118,
10    "currency": "US$",
11    "rating": 10,
12    "reviews": 1,
13    "breakfast": null,
14    "checkIn": "From 4:00 PM",
15    "checkOut": "Until 11:00 AM",
16    "location": {
17      "lat": "40.7744900",
18      "lng": "-73.9829649"
19    },
20    "address": {
21      "full": "207 Columbus Avenue, Upper West Side, New York, NY 10023, United States of America",
22      "postalCode": "NY 10023",
23      "street": "207 Columbus Avenue",
24      "country": "USA",
25      "region": "New York State"
26    },
27    "image": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/415624316.jpg?k=e36c46833a2d526139f6a1211e9ef4a4ec19c55904affcdc214a15ce32877701&o=&hp=1",
28    "rooms": [
29      {
30        "available": true,
31        "roomType": "Three-Bedroom Apartment",
32        "bedType": "Bedroom 1: 1 queen bed Bedroom 2: 2 bunk beds Bedroom 3: 1 bunk bed Living room: 1 sofa bed",
33        "persons": 2,
34        "price": 1.118,
35        "currency": "US$",
36        "features": [
37          "",
38          "Private kitchen",
39          "Air conditioning",
40          "Flat-screen TV",
41          "Free WiFi",
42          "Kitchen",
43          "Heating"
44        ]
45      },
46      {
47        "available": true,
48        "roomType": "Three-Bedroom Apartment",
49        "bedType": "Bedroom 1: 1 queen bed Bedroom 2: 2 bunk beds Bedroom 3: 1 bunk bed Living room: 1 sofa bed",
50        "persons": 2,
51        "price": 1.209,
52        "currency": "US$",
53        "features": [
54          "",
55          "Private kitchen",
56          "Air conditioning",
57          "Flat-screen TV",
58          "Free WiFi",
59          "Kitchen",
60          "Heating"
61        ]
62      },
63      {
64        "available": true,
65        "roomType": "Three-Bedroom Apartment",
66        "bedType": "Bedroom 1: 1 queen bed Bedroom 2: 2 bunk beds Bedroom 3: 1 bunk bed Living room: 1 sofa bed",
67        "persons": 3,
68        "price": 1.204,
69        "currency": "US$",
70        "features": [
71          "",
72          "Private kitchen",
73          "Air conditioning",
74          "Flat-screen TV",
75          "Free WiFi",
76          "Kitchen",
77          "Heating"
78        ]
79      },
80      {
81        "available": true,
82        "roomType": "Three-Bedroom Apartment",
83        "bedType": "Bedroom 1: 1 queen bed Bedroom 2: 2 bunk beds Bedroom 3: 1 bunk bed Living room: 1 sofa bed",
84        "persons": 3,
85        "price": 1.295,
86        "currency": "US$",
87        "features": [
88          "",
89          "Private kitchen",
90          "Air conditioning",
91          "Flat-screen TV",
92          "Free WiFi",
93          "Kitchen",
94          "Heating"
95        ]
96      },
97      {
98        "available": true,
99        "roomType": "Three-Bedroom Apartment",
100        "bedType": "Bedroom 1: 1 queen bed Bedroom 2: 2 bunk beds Bedroom 3: 1 bunk bed Living room: 1 sofa bed",
101        "persons": 4,
102        "price": 1.289,
103        "currency": "US$",
104        "features": [
105          "",
106          "Private kitchen",
107          "Air conditioning",
108          "Flat-screen TV",
109          "Free WiFi",
110          "Kitchen",
111          "Heating"
112        ]
113      },
114      {
115        "available": true,
116        "roomType": "Three-Bedroom Apartment",
117        "bedType": "Bedroom 1: 1 queen bed Bedroom 2: 2 bunk beds Bedroom 3: 1 bunk bed Living room: 1 sofa bed",
118        "persons": 4,
119        "price": 1.381,
120        "currency": "US$",
121        "features": [
122          "",
123          "Private kitchen",
124          "Air conditioning",
125          "Flat-screen TV",
126          "Free WiFi",
127          "Kitchen",
128          "Heating"
129        ]
130      },

⭐️ Need to scrape reviews from Booking.com?

Use a dedicated ⭐️ Booking Reviews Scraper. It was built to extract review text, ratings, stars, basic reviewer info, length of stay, liked/disliked parts, room info, date of stay, and more for each listing.

❓FAQ

What are the disadvantages of the Booking API?

The Booking.com API interface is quite user-friendly, but getting that data in machine-processable format is no easy task. Booking.com places a lot of restrictions on how data can be collected from its listings, one of them being that Booking.com will display a maximum of 1,000 results for any given search. Our Booking Scraper doesn't impose any limitations on your results, so you can scrape data from Booking.com at scale.

Yes. However, you should note that personal data is protected by GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. We also recommend that you read our blog post: is web scraping legal?

Can I integrate Booking Scraper with other apps?

Yes. Fast Booking Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. You can integrate with Zapier, Slack, Make, LangChain, Airbyte, GitHub, Google Sheets, Google Drive, and and with other Actors. Or you can use webhooks to carry out an action whenever an event occurs, e.g. get a notification whenever this scraper successfully finishes a run.

Can I use Booking Scraper with API?

Yes. You can use Apify API to get 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. You can also follow this video guide.

Developer
Maintained by Apify

Actor Metrics

  • 150 monthly users

  • 33 stars

  • 98% runs succeeded

  • 9.2 days response time

  • Created in Aug 2023

  • Modified 3 hours ago

Categories