Booking.com Search Scraper
Pricing
from $2.99 / 1,000 hotel search results
Booking.com Search Scraper
Scrape hotel listings, prices, ratings, and detailed descriptions from Booking.com with support for search by location, specific hotel URLs, and deep details extraction.
Pricing
from $2.99 / 1,000 hotel search results
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Booking.com Search Scraper do?
Booking.com Search Scraper collects public hotel and accommodation results from Booking.com. It supports location searches, custom public search URLs, direct hotel URLs, optional detail-page enrichment, and an HTTP fallback for public HTML or JSON-LD responses. It is a practical Booking.com API alternative for travel research, rate comparison, and public property-data workflows.
The Actor only uses information exposed on public pages. It does not request private account data, bypass CAPTCHAs, or use protected endpoints. When a target cannot produce a source-backed hotel row, the Actor records the reason in the run log and reports counts in the OUTPUT summary.
Why use Booking.com Search Scraper?
- Search by city or region, submit an existing public search URL, or provide public hotel URLs.
- Capture public names, prices, review scores, distances, images, cancellation and meal indicators when displayed.
- Enable deep scraping for descriptions, amenities, room offers, policies, coordinates, nearby landmarks, transportation, sustainability text, and review highlights.
- Keep source and extraction provenance on every record, including the browser or HTTP fallback path.
- Run on Apify with scheduling, API access, webhooks, proxy configuration, monitoring, and integrations.
What data can it extract?
| Field | Type | Description |
|---|---|---|
name, url, hotelId | string | Public property identity and URL-derived identifier. |
price, priceAmount, priceCurrency, originalPrice | string/number | Public displayed price, parsed amount, inferred display currency, and optional original price. |
reviewScore, reviewCategory, reviewsCount | string/number | Public guest-review information. |
starRating | integer | Public hotel class in stars. |
address, distance, thumbnail | string | Public location and search-card information. |
amenities, rooms, images | array | Optional detail-page enrichment. |
scrapedAt | string | UTC timestamp for the emitted row. |
The dataset schema also preserves useful legacy aliases such as rating, reviewCount, location, distanceFromCenter, badge, rawText, and priceAvailable.
How to scrape Booking.com
- Open the Actor and choose
search,hotelUrl, orsearchUrlin the input tab. - For
search, enter a city or region. Add check-in and check-out dates when you need date-specific public prices. - Set
maxItemsand choose whether to enabledeepScrapingandincludeReviews. - Direct public requests are used by default. Configure a proxy only when explicitly needed for your lawful public-data use case.
- Start the run and inspect source-backed hotel rows in the dataset. Target failures and clean empty results are described in the run log and
OUTPUTsummary.
How much does it cost?
The Actor uses Apify compute units and any proxy resources selected for the run. Search-only runs are generally lighter than detail-enriched runs because deep scraping visits individual property pages. Keep maxItems low while developing, and disable deepScraping when you only need search-card data. Exact cost depends on browser time, retries, concurrency, page complexity, and proxy usage.
Input
See the input tab for full configuration options. The main inputs are mode, searchQuery, hotelUrls, searchUrl, checkInDate, checkOutDate, adults, children, rooms, currency, language, maxItems, deepScraping, includeReviews, headless, and proxyConfiguration.
hotelUrls should contain public Booking.com hotel URLs. searchUrl should be a complete public search URL with its desired filters. maxItems accepts 1–1000 and counts source-backed hotel rows; unavailable targets do not consume that count.
When dates are omitted, the Actor generates a one-night stay beginning 30 days in the future so search results can expose current public prices.
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. A simplified successful output looks like this:
[{"name": "Example Central Hotel","price": "US$245","priceAmount": 245,"priceCurrency": "USD","reviewScore": "8.4","url": "https://www.booking.com/hotel/fr/example-central-hotel.html","scrapedAt": "2026-09-08T00:00:00.000Z"}]
The OUTPUT key-value-store record includes required status, runStatus, and dataStatus fields plus datasetItems, diagnosticItems, uniqueItems, and failureCount. Failure details remain in the run log. A clean empty result is SUCCEEDED with dataStatus: NO_RESULTS; a failure after saved rows is SUCCEEDED with dataStatus: PARTIAL.
Tips and advanced options
- Start with
deepScraping: falseto confirm search-card coverage, then enable detail enrichment. - Supply dates and currency for more meaningful public price text.
- Use
includeReviews: trueonly when review snippets are needed; it increases page work. - Treat missing optional fields as normal. Booking.com may not expose address, cancellation, breakfast, or room details on every locale or property page.
FAQ, disclaimers, and support
Does this Actor bypass CAPTCHAs or private access controls?
No. The Actor stops its current path when a public access barrier is detected and reports it in the run log. It does not bypass CAPTCHAs, paywalls, login walls, geofences, rate limits, device checks, or WAF controls.
Is the output personal data?
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the 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.
Use the Issues tab for feedback and the API tab for programmatic access. You are responsible for complying with Booking.com terms, applicable law, robots guidance, and any restrictions that apply to your use case.