This tutorial shows how to scrape Booking.com reviews for Spanish hotel pages into CSV with the Booking.com Reviews Scraper for Spain template. You will import the workflow, confirm the reviewlist URLs, set the export path, run the bounded pagination loop, and validate the fields before analysis.
Scope
Prerequisites and policy checks
You need UScraper installed as a local desktop app, the Spain reviewlist URLs you are allowed to process, and a folder for the CSV export. Start with one property before adding more URLs because Booking.com can vary markup by locale, language, cookie state, and anti-automation checks.
This guide is for supervised research exports from pages you can inspect in a browser. It does not cover private account areas, CAPTCHA bypassing, access-control workarounds, or high-volume unattended collection. Review Booking.com's Terms of Use, check the current robots.txt, and use approved routes when your project needs contractual redistribution rights.
Booking.com also maintains an official developer portal and Demand API documentation. If you are eligible for API access and need a production integration, evaluate the official accommodations reviews endpoint before choosing a scraper workflow.
Technical access is not permission. Keep runs modest, document why you collected the data, and stop when a verification page or unexpected access barrier appears.
Workflow shape
Understand the Spain review export
The bundled JSON is the authoritative workflow definition. It navigates a prepared list of Booking.com reviewlist URLs, waits for the parent review row selector, exports each row, then continues to the next configured URL. That avoids relying on a modal next button that can be hidden, intercepted, or changed by page updates.
| JSON setting | Value in the template | Why it matters |
|---|---|---|
| URL strategy | Eight reviewlist URLs with offsets 0 through 70 | Keeps pagination bounded and auditable. |
| Row selector | .review_list_new_item_block | Restricts extraction to the parent review item instead of nested fragments. |
| Export file | booking-resena-scraper.csv | Appends every offset into one local CSV. |
| Output mode | Headers enabled, append mode | Preserves a single file across the multi-URL loop. |
| Core fields | Hotel, rating, category scores, reviewer, date, traveler type, summary, positives, negatives | Covers both property context and review-level text. |
The export is Spanish-locale aware. The workflow uses column names such as calificacion, cantidad_de_comentario, fecha_de_comentario, buenos, and malos, while still keeping the file usable in Excel, Google Sheets, BI tools, or Python notebooks.
{
"rowSelector": ".review_list_new_item_block",
"fileName": "booking-resena-scraper.csv",
"fileMode": "append",
"columns": [
"hotel",
"calificacion",
"cantidad_de_comentario",
"nombre",
"fecha_de_comentario",
"resumen",
"buenos",
"malos"
]
}
Runbook
How to scrape Booking.com Spain reviews
Import the JSON template
Open Booking.com Reviews Scraper for Spain, download the JSON, and import it into UScraper.
Confirm the reviewlist URLs
In the Navigate block, inspect the sample URLs and replace them with the Booking.com Spain reviewlist URLs you are allowed to process. Keep the offset pattern bounded.
Run to the first review row
Execute the workflow through the page-load and wait blocks. If a consent prompt, sign-in prompt, or verification screen appears, handle it manually before exporting.
Set the export destination
In Structured Export, change the save location to your project folder. Keep headers enabled and append mode on so every offset lands in the same CSV.
Export one offset first
Run only the first URL, open the CSV, and compare two or three rows against the visible Booking.com review cards.
Run the bounded loop
Once the first page is clean, let Loop Continue advance through the remaining configured offsets and append the additional rows.
The safest run is boring: one property, one language, one export folder, and one validation pass before scale. If you need multiple hotels, duplicate the project, update the URL list, and preserve a short note with the property name, input URLs, run date, and any prompts you handled.
Validation
Validate the CSV before analysis
Open booking-resena-scraper.csv after the first offset. The property-level fields such as hotel, calificacion, and category scores should repeat consistently, while review-level fields such as nombre, fecha_de_comentario, calificacion_personal, resumen, buenos, and malos should change row by row.
| Symptom | Likely cause | Fix |
|---|---|---|
| Zero rows exported | Review rows did not load or a prompt covered the page | Handle the prompt, rerun the first offset, and confirm .review_list_new_item_block appears. |
| Duplicate review text | The row selector is catching nested review blocks | Keep export scoped to the parent review item and retest one row. |
| Names are blank | Booking.com changed reviewer markup or locale labels | Inspect one review card and update the nombre column logic. |
| Positives and negatives are swapped | The page changed labels around review text | Compare buenos and malos against the browser and adjust those columns. |
| Pagination repeats rows | The URL list or offset sequence was edited incorrectly | Restore offsets in steps of ten and rerun from a clean CSV. |
Do not treat the CSV as final until you check at least one high-score review, one low-score review, and one row with missing positive or negative text. Those edge cases reveal most selector mistakes.
API choice
Booking reviews API vs scraper workflow
If your search is booking reviews API vs scraper, start with the job you need to finish. Official API access is better when you need a sanctioned integration, stable response contracts, authentication, and clear permitted-use terms. A third-party hosted API or scraping actor can reduce maintenance, but it introduces vendor custody, pricing, and policy trade-offs.
UScraper is a better fit when an analyst needs a reviewable CSV from a small, approved list of visible hotel review pages and wants to watch the browser state during the run. You still own selector maintenance, but you also keep the export local, inspectable, and easy to pause.
| Approach | Best fit | Trade-off |
|---|---|---|
| Official Booking.com API | Eligible partner integrations | Requires approved access and API-specific permitted use. |
| Hosted scraper or review API | Managed extraction at scale | Data passes through a third party and billing may depend on rows or requests. |
| Custom Python scraper | Engineering teams that need full control | You maintain browser automation, retries, parsing, and anti-bot handling. |
| UScraper template | Supervised CSV exports | Best for bounded runs where local validation matters more than cloud scale. |
FAQ
Booking.com Spain review scraper FAQ
Booking.com reviews can be visible in a browser, but automated collection may still be limited by Booking.com terms, robots directives, copyright, privacy law, database rights, and how you reuse the data. Review the current rules, do not bypass CAPTCHA or access controls, and get legal review before commercial reuse.
Next steps
Download the template and keep the workflow auditable
Use the Booking.com Reviews Scraper for Spain template as the download path, then browse the broader UScraper template library for hotel, map, and review workflows. The UScraper blog has more tutorials on local desktop scraping, CSV validation, and no-code workflow maintenance.

