Extractor de Precios de Booking

Cada tipo de habitación,
en columnas propias.

Pega URLs de hoteles de Booking.com, una por línea, y cada hotel vuelve como una sola fila ancha: primero los datos del alojamiento y después room_1_*, room_2_* y así sucesivamente, cada bloque con el tipo, los precios, las opciones de ocupación, los servicios y las condiciones de reserva de esa habitación. Las fechas de entrada y salida se añaden por ti.

500 filas gratis, una sola vezdespués 0,002 $ por filauna fila por hotelCSV · JSON · Excel
Cómo funciona

Un campo
y nada que configurar.

Este formulario no tiene casilla de límite ni menú de ordenación. La lista de hoteles es toda la entrada.

  1. PASO 1Inicia sesión en la plataforma.
  2. PASO 2Abre el Extractor de Precios de Booking.
  3. PASO 3Pega una URL booking.com/hotel/<cc>/<slug>.html por línea, o sube un archivo CSV, XLSX, TXT o Parquet.
  4. PASO 4Configura una PROXY_URL residencial antes de ejecutarlo. En palabras del propio servicio, Booking bloquea las IP gratuitas y de centro de datos, así que hace falta una para los precios, y tu IP real nunca se usa.
  5. PASO 5Pulsa Get Data y descarga en CSV, JSON o Excel.

El formulario acepta un slug de hotel además de la URL completa. En nuestras propias ejecuciones el slug suelto se resolvió bajo otra ruta de país y volvió sin datos del hotel, así que nosotros pegaríamos la URL completa, la que lleva el código de país.

Por qué lo usan los equipos

Una tabla de tarifas
que sí puedes comparar.

Una fila por hotel, tan ancha como haga falta

La mayoría de extractores de precios dan una fila por tarifa, lo que repite los datos del hotel en cada línea y te hace pasar la primera hora pivotando. Aquí el alojamiento está una sola vez a la izquierda y los tipos de habitación se despliegan hacia la derecha como room_1_* hasta room_N_*. Dos ejecuciones del mismo hotel encajan columna a columna, que es lo que hace posible comparar.

El período de estancia vuelve con el precio

Una tarifa no significa nada sin las noches para las que se cotizó. checkin y checkout se añaden automáticamente y viajan en la fila, así que un archivo que exportaste el mes pasado sigue diciendo qué estancia estaba valorando. En todas las filas que tenemos las dos fechas eran días consecutivos -una sola noche- y ambas venían rellenas.

Las condiciones, no solo el número

room_N_prices es una lista y no una cifra suelta, y está junto a room_N_choices y room_N_options: las condiciones de reserva y la ocupación con la que se ofreció cada tarifa. Un número más barato que es prepago, no reembolsable y para una persona no es el mismo producto que el flexible de arriba, y esta exportación mantiene visible la diferencia.

Diccionario de datos

Dieciséis columnas fijas,
y después cinco por habitación.

Los nombres y su orden vienen del propio código de columnas del servicio, así que son fiables. Cómo son los valores se midió sobre una muestra mucho más estrecha: la nota final dice exactamente cuánto, y qué campos no la superaron.

query
Lo que enviaste para esta fila -una URL de hotel o un slug suelto- devuelto. Lo escribe el scraper, así que está ahí incluso cuando no hay nada más.
id
El identificador propio de Booking para el alojamiento. Estable a lo largo de nuestras ejecuciones del mismo hotel, lo que lo convierte en la clave por la que unir, mejor que el nombre.
name
El nombre del alojamiento.
description
La descripción del alojamiento. En nuestras filas llegó truncada con puntos suspensivos, no completa.
reviews
El número de reseñas del alojamiento, como cadena y no como número. Se movió entre nuestras ejecuciones, que es lo esperable en una cifra viva.
rating
La puntuación de los clientes, otra vez como cadena - 8.0 en nuestras filas, sobre la escala de diez de Booking.
stars
La clasificación por estrellas. Trátala con desconfianza. A lo largo de siete filas rellenas del mismo hotel vimos 3, 5, 2, 4 y dos veces nada en absoluto, así que con nuestra evidencia no es un atributo fiable del alojamiento.
city
La ciudad. En mayúsculas en nuestras filas, y vacía en dos de las siete.
country
El código de país de dos letras, y vale la pena leerlo porque te dice bajo qué ruta nacional se resolvió la URL.
address
La dirección postal como una sola cadena.
latitude
Latitud decimal, como cadena. Rellena en cinco de nuestras siete filas con datos.
longitude
Longitud decimal, misma forma y los mismos huecos.
detailed_rating
Las subpuntuaciones como objeto JSON: en nuestras filas Staff, Facilities, Cleanliness, Comfort, Value for money, Location y Free Wifi. Parséalo; no lo leas como número.
checkin
La fecha de entrada para la que se cotizaron los precios, en formato ISO. Añadida automáticamente.
checkout
La fecha de salida, mismo formato. En todas las filas que tenemos era el día siguiente a checkin.
gallery
Un array JSON de URLs de imagen en tamaños mixtos.
room_N_type
El nombre del tipo de habitación - Economy Twin Room, Deluxe Suite y demás. N cuenta desde 1, y la fila más ancha que vimos llevaba siete.
room_N_prices
Un array JSON de objetos de precio, cada uno con currency, value y display. Más de uno, porque un tipo de habitación suele ofrecerse en varios planes tarifarios. No se promete ninguna moneda: la nuestra varió entre ejecuciones, así que lee el campo en vez de suponer.
room_N_options
La ocupación con la que se ofreció cada tarifa, como array JSON - en nuestras filas expresada como Max. people: 2.
room_N_facilities
Un array JSON con las características de la habitación. La primera entrada suele ser el tamaño, y la unidad no es fija: nuestras ejecuciones devolvieron pies cuadrados y metros cuadrados para la misma habitación.
room_N_choices
Las condiciones de reserva asociadas a las tarifas, como array JSON: en nuestras filas, prepago, modificaciones y desayuno. Esta es la columna que te dice si un número bajo es realmente comparable.
postal_code
El código postal.
price_range
Prevista para una banda de precios del alojamiento.
url
La página de Booking desde la que se leyó la fila. Compárala con query: si enviaste un slug suelto, aquí está adónde fue de verdad.

De dónde vienen y hasta dónde llegan. Los nombres de columna y su orden se leen directamente del propio código de columnas del servicio, así que la forma del archivo no está en duda: dieciséis columnas de hotel, después un bloque de cinco por cada tipo de habitación encontrado, y después postal_code, price_range y url. Una salvedad sobre el orden: la tabla en pantalla y el archivo de Excel ponen esas tres últimas al final, mientras que el JSON que tenemos las coloca entre gallery y room_1_type. Los VALORES descritos pisan terreno mucho más estrecho. Tenemos trece exportaciones de ejecución, pero seis son una forma antigua y descatalogada que ya no corresponde a este servicio y aquí se ignoran por completo. Las siete actuales contienen diez filas de hotel, y todas son el mismo hotel: el alojamiento de ejemplo del propio formulario. Cada observación de arriba es, por tanto, un hecho sobre diez filas de un hotel a lo largo de siete ejecuciones, y por eso los campos que fallaron se nombran tan alto como los que funcionaron: price_range estaba vacía en las diez, stars se contradijo entre ejecuciones, latitud, longitud y ciudad faltaban en algunas filas, y en una ejecución los prices de todas las habitaciones volvieron vacíos mientras el resto de columnas de habitación venían rellenas. Configura primero una PROXY_URL residencial -el servicio dice sin rodeos que Booking bloquea las IP gratuitas y de centro de datos y que hace falta una para los precios- y luego lanza el plan gratuito contra un hotel que te importe y lee tu propia primera fila.

Flujos habituales

Tres tareas para las que
la gente lo usa.

Todas empiezan con un enlace de hotel que puedes copiar de la barra de direcciones.

Revenue

Vigilar un compset sin abrir doce pestañas

Pon las URLs de los hoteles de tu competencia en la caja y cada alojamiento se convierte en una fila con todos sus tipos de habitación tarificados en paralelo. Ejecútalo otra vez mañana y los dos archivos se comparan columna a columna, que es justo para lo que el formato es ancho y no largo.

Revenue management
Posicionamiento

Ver qué tipo de habitación te está bajando el precio

"Son más baratos" casi nunca es cierto de un hotel entero. Suele ser un tipo de habitación en un plan tarifario. Con room_N_type, room_N_prices y room_N_choices en la misma fila ves si el número bajo es un producto comparable o una individual prepagada y no reembolsable.

Comercial · Estrategia
Viajes

Montar un archivo de tarifas para una lista de clientes

Las agencias y los equipos de viajes corporativos tarifican el mismo puñado de alojamientos una y otra vez. Un solo pegado te da los datos del alojamiento, los campos geográficos, el inventario de habitaciones y las condiciones en un archivo, con el período de estancia escrito en cada fila para que la exportación del mes pasado siga explicándose sola.

Viajes · Compras
Precios

Paga por fila de hotel,
tenga las habitaciones que tenga.

Sin suscripción, sin mínimo, sin licencia por usuario. Tus primeras 500 filas corren de nuestra cuenta; a partir de ahí, pago por uso.

Plan gratuito

500 filas gratis - 0 $

Para cada cuenta nueva, una sola vez. Sin tarjeta de crédito. Todos los scrapers desbloqueados. Aquí una fila es un hotel entero con todos sus tipos de habitación, así que el plan gratuito cunde mucho en este servicio: lo bastante para tarificar un compset completo antes de haber gastado nada.

0 $ para siempre
Pago por uso

0,002 $ por fila, tras el plan gratuito

La misma tarifa plana que cualquier otro scraper de la plataforma, y la unidad es el hotel y no la tarifa. Un alojamiento con siete tipos de habitación a tres planes cada uno sigue siendo una fila. Eso hace que las ejecuciones repetidas -que es en lo que consiste vigilar precios- salgan aquí inusualmente baratas.

El más popular
Enterprise

A medida - un compset, con calendario

Precios por volumen, SLAs, workers dedicados y onboarding a medida para equipos que retarifican un mercado en vez de una lista corta. Dinos tus números y te preparamos una propuesta.

Habla con nosotros
10 % de descuento en tu primera ejecución de pago.Usa el código LIVESCRAPER10 al pagar.
Regístrate
Combina bien con

El mismo alojamiento,
desde otro lado.

Una tarifa es un hecho sobre un hotel. Estos devuelven los demás.

La parte legal

¿Es legal extraer
precios de Booking.com?

Respuesta corta: sí, siempre que solo recojas lo que es públicamente visible en la página de un hotel - y eso es todo lo que lee este servicio.

La página de un hotel, su lista de habitaciones y sus tarifas anunciadas son públicas. Cualquiera puede abrir el anuncio sin cuenta y leerlas, y recopilar precios públicamente visibles para investigación de mercado y análisis competitivo es una práctica asentada desde hace mucho. Mientras los datos sean de acceso público y el proceso no perturbe el servicio, no hay leyes federales que lo prohíban.

Esta exportación está inusualmente libre de datos personales: describe habitaciones y tarifas, no personas. Eso hace que la cuestión del RGPD sea estrecha y no inexistente: los campos geográficos y la dirección del alojamiento son información de empresa, y aquí nada identifica a un huésped. Lo que sí merece cuidado es qué haces con los precios. Vigilar las tarifas públicas de un competidor es práctica comercial normal; acordar con él cuáles deberían ser esas tarifas no lo es, y ningún scraper vuelve eso legal.

Los términos de Booking restringen el acceso automatizado, así que sigue siendo una cuestión de términos. No tocamos nada tras un inicio de sesión, leemos solo lo que ve cualquier visitante, no ejecutamos rastreadores de terceros en la capa de datos y tus exportaciones se autoeliminan a los 30 días.

livescraper.app · principios
Solo páginas públicas de hoteles
Sin inicios de sesión, sin muros de pago
Las tarifas son datos comerciales: obsérvalas, no te coordines sobre ellas!
Alineado con el RGPD por defecto
Las exportaciones se autoeliminan (30 días)
Las mismas habitaciones y tarifas que ve cualquier viajero en el anuncio.
Preguntas frecuentes

Lo que preguntan antes de registrarse.

Las preguntas que más oímos. ¿Algo más? Habla con nosotros: las respuestas las escriben personas, no bots.

¿Qué representa una fila?+
Un hotel, no una tarifa. Los datos del alojamiento están a la izquierda de la fila y cada tipo de habitación se despliega hacia la derecha como room_1_type, room_1_prices, room_1_options, room_1_facilities, room_1_choices, después room_2_* y así sucesivamente. El archivo es por tanto tan ancho como el hotel más grande de tu conjunto de resultados, y la fila más ancha que hemos visto llevaba siete tipos de habitación.
¿Qué columnas contendrá la exportación?+
Dieciséis columnas fijas de hotel - query, id, name, description, reviews, rating, stars, city, country, address, latitude, longitude, detailed_rating, checkin, checkout, gallery - después cinco columnas por cada tipo de habitación, y después postal_code, price_range y url. Ese orden se lee del propio código de columnas del servicio. Un matiz que conviene saber: la tabla y la descarga de Excel ponen esas tres últimas al final, mientras que el JSON las pone antes de los bloques de habitación.
¿Necesito un proxy residencial?+
Sí, y lo dice el propio servicio: Booking bloquea las IP gratuitas y de centro de datos, así que hace falta una PROXY_URL residencial para los precios, y tu IP real nunca se usa. Si lo ejecutas sin ella, el mensaje de la propia plataforma es que Booking cierra la API de disponibilidad y precios a esas direcciones. Configúrala antes de tu primera ejecución en vez de después de una vacía.
¿Puedo fijar las fechas de entrada y salida?+
En este formulario no. Las fechas se añaden automáticamente y vuelven en las columnas checkin y checkout, de modo que cada fila registra la estancia para la que se tarificó. En todas las filas que tenemos las dos fechas eran días consecutivos, así que la cotización era de una sola noche.
¿Hay opción de límite o de ordenación?+
No. A diferencia de la mayoría de nuestros scrapers, este formulario no tiene ninguna de las dos: la lista de URLs de hotel es toda la entrada. El tamaño de la ejecución lo controlas tú según cuántos hoteles pegues.
¿Sirve un slug de hotel suelto en lugar de la URL completa?+
El formulario dice que sí, y aun así nosotros pegaríamos la URL completa. Cuando enviamos un slug suelto, la fila volvió con la url reescrita bajo otra ruta de país, la columna country leyendo us, name mostrando el título genérico de Booking y todos los demás campos vacíos: ninguna columna de habitación. La URL completa lleva el código de país, y esas ejecuciones sí devolvieron la fila completa.
¿De qué columnas no debería fiarme?+
De dos. price_range estaba vacía en todas las filas que tenemos, así que nunca la hemos visto llevar un valor. Y stars se contradijo: a lo largo de siete filas rellenas del mismo alojamiento vimos 3, 5, 2, 4 y dos veces nada en absoluto, así que con nuestra evidencia no es una clasificación fiable. Comprueba ambas en tu propia primera exportación.
¿En qué moneda están los precios?+
No prometemos ninguna. Cada entrada de room_N_prices es un objeto con sus propios campos currency, value y display, y la moneda no fue la misma en nuestras ejecuciones: léela de la fila en vez de suponerla. La misma cautela vale para los tamaños de habitación dentro de room_N_facilities, que llegaron en pies cuadrados en unas ejecuciones y en metros cuadrados en otras.
¿Lo habéis ejecutado de verdad?+
Sí, y el alcance honesto es estrecho. Tenemos trece exportaciones de ejecución, pero seis son una forma antigua que ya no corresponde a este servicio y las ignoramos. Las siete actuales contienen diez filas de hotel, y todas son el mismo alojamiento: el hotel de ejemplo del propio formulario. Así que los nombres de columna y el formato son sólidos, y todo lo que decimos sobre valores es un hecho sobre diez filas de un hotel.
¿Cuánto cuesta?+
Las primeras 500 filas de una cuenta nueva son gratis y de una sola vez; a partir de ahí son 0,002 $ por fila - unos 2 $ por 1.000 - de pago por uso y sin suscripción. Una fila es un hotel entero con todos sus tipos de habitación, lo que abarata las comprobaciones de precio repetidas. Los créditos no caducan y no hay reinicio mensual.

Tarifica un compset
con un solo pegado.

Configura un proxy residencial, pega las URLs de los hoteles de tu competencia y obtén cada tipo de habitación tarificado, una fila por hotel. Tus primeras 500 filas son gratis.

Se activa al instante · sin tarjeta

Exportar tarifas de habitación de Booking.com como filas

Los precios hoteleros son incómodos de recopilar porque la unidad interesante no es el hotel ni la tarifa: es el par. Un alojamiento es barato o caro solo en relación con un tipo de habitación, un período de estancia y un conjunto de condiciones de reserva, y una página que te enseña todo eso a la vez es una página que no puedes comparar fácilmente con la de ayer. Este servicio la convierte en una tabla. Pega URLs de hoteles de Booking.com, una por línea, y cada alojamiento vuelve como una sola fila ancha: a la izquierda los identificadores y los campos de ubicación, y después un bloque de cinco columnas por cada tipo de habitación - su nombre, sus precios, la ocupación con la que se ofreció cada tarifa, los servicios de la habitación y las condiciones de reserva asociadas.

Hay muy poco que configurar, y es deliberado. Este formulario no tiene casilla de límite ni menú de ordenación; la lista de hoteles es toda la entrada, y tú dimensionas la ejecución según cuántos pegues. Las fechas de entrada y salida se añaden automáticamente y vuelven en la fila, así que una exportación se explica sola meses después: en todas las filas que tenemos las dos fechas eran consecutivas, una cotización de una noche. Lo que sí tienes que preparar antes es una PROXY_URL residencial. El servicio dice sin rodeos que Booking bloquea las IP gratuitas y de centro de datos, que hace falta una dirección residencial para los precios y que tu IP real nunca se usa. Hacerlo antes de la primera ejecución te ahorra una vacía.

El formato ancho es el objetivo, no una rareza. Un archivo con una fila por tarifa repite el hotel en cada línea y hay que pivotarlo antes de que signifique algo; aquí dos ejecuciones del mismo hotel encajan columna a columna, así que una comparación muestra exactamente qué tipo de habitación se movió y cuánto. También hace agradable la aritmética: se te factura por fila, una fila es un hotel entero con las habitaciones que tenga, y así las ejecuciones repetidas -en las que consiste realmente vigilar precios- siguen saliendo baratas.

Los límites se enuncian con claridad porque cambian lo que cabe esperar. Los nombres de columna y su orden se leen del propio código de columnas del servicio y son fiables. Los valores descritos no están en la misma situación: tenemos trece exportaciones de ejecución, seis de ellas en una forma antigua que ya no corresponde a este servicio y que se ignora, y las siete actuales contienen diez filas de hotel, todas del mismo alojamiento, el hotel de ejemplo del propio formulario. En esa muestra price_range estaba vacía en todas las filas, stars devolvió cuatro valores distintos y dos blancos para un solo hotel, latitud, longitud y ciudad faltaban en algunas filas, y una ejecución devolvió los prices de todas las habitaciones vacíos mientras el resto de columnas de habitación venían rellenas. Las monedas y las unidades de superficie variaron entre ejecuciones, así que esta página no promete ninguna de las dos. Lanza el plan gratuito contra un hotel que de verdad te importe y lee tú mismo tu primera fila; tus primeras 500 no cuestan nada y no necesitan tarjeta. Consulta precios para las tarifas actuales.