Booking.com Scraper avatar

Booking.com Scraper

Pricing

Pay per usage

Go to Apify Store
Booking.com Scraper

Booking.com Scraper

Scrape Booking.com hotel listings with ease. Extract prices, reviews, availability & ratings instantly. Perfect for price monitoring, travel market research, competitor analysis & accommodation data collection. Scale your data insights.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Share

Extract structured hotel listings from Booking.com search results. Collect property details, location data, ratings, pricing signals, and booking policy flags for market research, travel intelligence, and catalog building.

Features

  • Hotel Listings Extraction - Collect listing cards from Booking search results URLs.
  • Rich Property Data - Save identity, location, ratings, policy, and pricing-related fields.
  • Pagination Support - Gathers hotels across multiple result pages.
  • Duplicate Protection - Keeps unique hotels by property identity.
  • Clean Dataset Output - Removes null and empty values automatically.

Use Cases

Travel Market Research

Build datasets to compare hotel supply, quality signals, and distribution in target cities.

Price and Position Monitoring

Track displayed prices, policy flags, and listing presentation changes over time.

Hospitality Competitor Analysis

Benchmark similar properties by ratings, review volume, and listing metadata.

Lead and Catalog Enrichment

Create structured hotel catalogs for internal tools, dashboards, and partner workflows.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringYeshttps://www.booking.com/searchresults.html?ss=London%2C+Greater+London%2C+United+Kingdom&group_adults=2&no_rooms=1&group_children=0Booking listing URL. Supports search results, city pages, and country pages.
results_wantedIntegerNo20Maximum number of unique hotels to save.
max_pagesIntegerNo10Safety cap for paginated result pages.
proxyConfigurationObjectNoOptional proxy settings for reliability.

Output Data

Each dataset item may include:

FieldTypeDescription
hotelIdIntegerUnique Booking property ID.
hotelNameStringProperty display name.
hotelUrlStringBooking hotel page URL.
searchLocationStringDestination used in the search.
cityStringProperty city.
countryCodeStringProperty country code.
starRatingNumberHotel star classification.
reviewScoreNumberMain review score.
reviewCountIntegerTotal review count.
displayPriceTextStringListing price text shown to users.
displayPriceAmountNumberNumeric stay price amount when available.
displayPriceCurrencyStringCurrency for display price.
freeCancellationBooleanFree cancellation availability flag.
noPrepaymentNeededBooleanPay-later policy flag.
isPreferredBooleanPreferred listing flag.
isSustainableBooleanSustainability flag.
photoUrlsArrayMain listing photo URLs.

Usage Examples

Basic Run

{
"startUrl": "https://www.booking.com/searchresults.html?ss=London%2C+Greater+London%2C+United+Kingdom&group_adults=2&no_rooms=1&group_children=0",
"results_wanted": 20
}

Higher Volume Collection

{
"startUrl": "https://www.booking.com/searchresults.html?ss=London%2C+Greater+London%2C+United+Kingdom&group_adults=2&no_rooms=1&group_children=0",
"results_wanted": 150,
"max_pages": 20
}

Run With Residential Proxy

{
"startUrl": "https://www.booking.com/searchresults.html?ss=London%2C+Greater+London%2C+United+Kingdom&group_adults=2&no_rooms=1&group_children=0",
"results_wanted": 60,
"max_pages": 12,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"searchUrl": "https://www.booking.com/searchresults.html?ss=London%2C+Greater+London%2C+United+Kingdom&group_adults=2&no_rooms=1&group_children=0&lang=en-us",
"searchLocation": "London, Greater London, United Kingdom",
"hotelId": 1929259,
"hotelName": "Montcalm Royal London House, London City",
"hotelUrl": "https://www.booking.com/hotel/gb/the-montcalm-royal-london-house.html",
"city": "London",
"countryCode": "gb",
"starRating": 5,
"reviewScore": 8.5,
"reviewCount": 8880,
"displayLocation": "Islington, London",
"freeCancellation": false,
"noPrepaymentNeeded": false,
"isPreferred": true,
"isSustainable": true,
"certifications": ["Green Key (FEE)"],
"photoUrls": [
"https://www.booking.com/xdata/images/hotel/square600/86639018.webp?k=e1b72e4ccb212a323edac7268163b4e0d24f79b93c0030fc3e078cfcecd673f0&o="
]
}

Tips for Best Results

Use Clean Search URLs

  • Use Booking listing URLs from search results, city pages, or country pages.
  • Keep destination and guest parameters in the URL.

Start Small

  • Test with results_wanted: 20 first.
  • Scale up after confirming output quality.

Use Proxy for Stability

  • Residential proxy often improves consistency on protected pages.
  • Increase max_pages only when needed.

Integrations

Connect your extracted dataset with:

  • Google Sheets - Reporting and ad-hoc analysis.
  • Airtable - Searchable hotel databases.
  • Make - Automated workflows.
  • Zapier - Trigger downstream actions.
  • Webhooks - Push records to custom services.

Export Formats

  • JSON - Developer workflows and pipelines.
  • CSV - Spreadsheet analysis.
  • Excel - Business reporting.
  • XML - Legacy integrations.

Frequently Asked Questions

Can I scrape multiple destinations in one run?

Run one destination URL per actor run for predictable output.

Why are some fields missing?

Some listings do not expose every optional field. Empty values are removed from output.

How many hotels can I collect?

Set results_wanted and max_pages based on your target volume and runtime limits.

Does it remove duplicates?

Yes. Duplicate properties are filtered before saving.

Is proxy required?

Not always, but proxy usage is recommended for consistent runs.


Support

For bug reports or feature requests, use your repository issue tracker or Apify Console support channels.


This actor is intended for lawful data collection and analysis. You are responsible for compliance with Booking terms, local regulations, and all applicable data usage rules.