Controla el mercado hotelero de una plaza entera
Los endpoints de tarifas responden sobre un alojamiento. Este responde sobre el mercado: quién más está a la venta esta noche, a qué precio, y en qué parte de esa distribución caes tú. Configura la búsqueda de destino, lanza el import y lee la plaza entera en una llamada.

Qué vas a construir
Una foto diaria de un destino entero: todos los hoteles que casan con tus filtros, con precio, descuento, régimen, cancelación, nota, número de reseñas, estrellas y distancia — y el schedule que lo convierte en una serie histórica.
Esto hay que montarlo antes
ObligatorioLos endpoints no aceptan texto libre: aceptan tus identificadores. Esta receta da por hecho que lo de abajo ya existe en tu cuenta, y mientras falte algo la llamada responde vacía, no da error. Cada punto enlaza la receta que lo enseña.
- 01
Crea la búsqueda de destino
Un destino más sus filtros — estrellas, régimen, distancia, ocupación. Esos filtros son la entidad: deciden qué hoteles entran en el mercado y cuánto cuesta cada ejecución.
Guía: Da de alta los cuatro tipos de entidad de tu cuenta →
Lo mismo por API, si prefieres no pasar por el panel:
curl -X POST "https://api.veetal.app/v2/account/location-search" \
-H "veetal-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ ... }' # see the account reference for the bodyCómo funciona
- 01Por qué esto y no un bucle hotel a hotel
- 02Apunta el feed a tu búsqueda de destino
- 03Lanza el import y lee la estimación antes
- 04Lee el mercado
- 05Conviértelo en una serie
- 06Qué pasa después
Paso a paso
Al terminar tendrás una petición que devuelve todos los hoteles a la venta de un destino para una noche concreta —precio, nota, estrellas, tipo de habitación, política de cancelación y distancia al centro— en vez de ir preguntando hotel por hotel.
Qué necesitas: una búsqueda de destino en tu cuenta (el destino más sus filtros) y el feed Booking Location Search activo.
Lo que cuesta: la ejecución que documento aquí fueron 0,32 créditos y trajo 192 hoteles. El diálogo te lo estima antes de lanzar.
Por qué esto y no un bucle hotel a hotel
Los endpoints de tarifas responden sobre un alojamiento. Es la herramienta correcta cuando ya sabes quiénes son tus competidores. Es la equivocada cuando la pregunta es el mercado entero: quién más está a la venta esta noche, a qué precio, y en qué parte de esa distribución caes tú.
Este feed responde eso en una sola llamada. La unidad es la búsqueda de destino que creaste —un destino más los filtros que deciden quién cuenta como tu mercado— y una ejecución cubre el conjunto completo.
1. Apunta el feed a tu búsqueda de destino
Abre Feed · Booking Location Search. La página entra por Location searches, las entidades sobre las que trabaja esta API, y ahí debería estar la tuya. Si no está, la das de alta desde aquí.

Las tres tarjetas de arriba son a las que vas a volver: USAGE SUMMARY (lo que lleva costando esta API en el periodo), IMPORTS (última y próxima ejecución) y SCHEDULES.
2. Lanza el import y lee la estimación antes
Pestaña Imports, botón Launch import. En este diálogo es donde se decide el dinero:

- Location Searches — cuáles de tus búsquedas ejecutar. Cada una cuesta.
- Search location rates up to — cuántas noches hacia delante. Un día es una foto de una noche; treinta días es treinta veces el trabajo.
- From which country should Booking.com be queried? — geolocalización del proxy. Booking enseña precios distintos según el mercado, y esto es lo que hace que la respuesta coincida con lo que ve tu cliente.
- Moneda e idioma — vienen por defecto de lo que ya declara la búsqueda de destino.
Abajo del todo, Estimated cost. Léelo antes de pulsar. Para un destino y una noche dijo 0,32 créditos, y 0,32 es exactamente lo que cobró.
Launch import, y la fila aparece en el listado con su identificador, su trigger, su estado y sus créditos:

⚠️ El import escribe con la fecha del día en que corre. Lánzalo a las 23:08 y los datos caen bajo la fecha de ayer — lo que importa porque el endpoint pide una fecha objetivo y el playground no te deja elegir una pasada.
3. Lee el mercado
Pestaña Requests, Run request. La fecha objetivo viene por defecto a hoy, que es justo lo que acaba de escribir el import:

HTTP 200, 457 ms, 232 KB — 192 hoteles en una respuesta. Cada uno viene así:
{
"bookingHotelId": 29800,
"hotelName": "Catalonia Rigoletto",
"slug": "rigoletto",
"priceOriginal": 138.48,
"priceDiscount": 0,
"priceFinal": 138.48,
"currency": "EUR",
"roomType": "Habitación Doble - 1 o 2 camas",
"breakfastIncluded": false,
"freeCancellation": true,
"reviewScore": 8.6,
"reviewCount": 1842,
"starRating": 4,
"distanceToCenter": 2.1,
"photos": [ ... ]
}
Esa es la forma completa de la respuesta: precio, descuento, tipo de habitación, régimen, cancelación, nota, número de reseñas, estrellas, distancia y fotos, por cada propiedad que casó con tus filtros.
Fíjate en lo que no viene: una posición de ranking. El orden es el que devolvió Booking, y el ranking es algo que calculas tú — por precio, por nota, por nota entre euro, por distancia. Esa es la gracia: te llevas la distribución y decides qué significa "posición" para ti.
En esta ejecución: 192 hoteles, el más barato a 138,48 €, la mediana en 252,48 €, el más caro a 1.526,40 €. Tu hotel es una fila más ahí dentro, y ahora sabes exactamente en qué percentil está.
4. Conviértelo en una serie
Una ejecución es una foto. El valor está en la curva, así que ponlo en un schedule: pestaña Schedules, eliges la búsqueda de destino, marcas diario, y el estimador te enseña el coste por ejecución y el equivalente mensual antes de guardar.
A partir de ahí el feed responde por cada fecha que hayas importado, y puedes recorrerlas hacia atrás: cómo se movió la mediana del mercado, cuándo bajó precios el compset, si un evento empujó toda la distribución hacia arriba.
Qué pasa después
Esa misma búsqueda de destino alimenta también el dataset de demanda de mercado, y el gemelo real-time de este endpoint —GET /v2/real-time/location-search/{id}/booking/{date}— responde lo mismo en vivo, sin import, cuando lo que necesitas es un destino ahora mismo y no un histórico.
Preguntas
¿Por qué el endpoint responde 404 si el import fue bien?
Porque la fecha que has pedido no tiene datos. El import escribe con la fecha del día en que corre, y el endpoint pide una fecha objetivo: pide un día que nadie importó y recibes un 404 con el código 510, NoDataFoundForRequestedDate. Mira en la pestaña Imports qué fechas tienes de verdad.
¿Cuánto cuesta un destino entero?
Depende de cuántas noches pidas y cuántas búsquedas de destino ejecutes, no de cuántos hoteles vuelvan. Un destino para una noche fueron 0,32 créditos y devolvió 192 hoteles. El diálogo de import te estima la cifra exacta antes de lanzar, y el estimador del schedule te enseña el equivalente mensual.
¿Puedo controlar qué hoteles entran?
Para eso están los filtros de la búsqueda de destino: estrellas, tipo de alojamiento, régimen, puntuación mínima, distancia al centro, ocupación. Cámbialos y cambias tu mercado — y el coste. Si necesitas dos vistas distintas de la misma ciudad, crea dos búsquedas de destino.
¿La respuesta me dice mi posición en el ranking?
No como campo. Te llevas todos los hoteles con su precio, su nota, sus estrellas y su distancia, y la posición que importa la calculas tú. Ordenar por precio no es lo mismo que ordenar por nota o por relación calidad-precio, y cuál cuenta depende de tu estrategia.
¿Feed o real time?
Usa el feed cuando quieras histórico: un schedule escribe una foto al día y puedes recorrer la serie hacia atrás. Usa el gemelo real-time, GET /v2/real-time/location-search/{id}/booking/{date}, cuando necesites un destino ahora mismo y no te importe guardarlo.
Construye el tuyo
Empieza gratis con 100 créditos de API. Sin tarjeta ni llamada comercial.