Ir al contenido

Cotización simple

GET /v1/quotes devuelve la cotización de un hotel. Identifícalo por hotel_id (el preferido: resuelve directo, sin paso de emparejamiento) o, si todavía no tienes uno, por name + city/lat/lon para que el emparejamiento confirme el hotel correcto por distancia GPS.

Ventana de terminal
curl "https://api.rateshooter.com/v1/quotes?hotel_id=2008&checkin=2026-12-10&checkout=2026-12-11&adults=2" \
-H "Authorization: Bearer <tu_api_key>"
{
  "status": "ok",
  "hotel": {
    "resolved_name": "Grand Oasis Cancun",
    "hotel_id": 2008,
    "verified": true
  },
  "offers": [
    {
      "vendor": "The Grand Oasis Cancun - All Inclusive",
      "price_per_night": 245.40494,
      "total_price": 245.40494,
      "taxes_included": true
    },
    {
      "vendor": "Super.com",
      "price_per_night": 185.50781,
      "total_price": 185.50781,
      "taxes_included": true
    },
    {
      "vendor": "trivago DEALS",
      "price_per_night": 189.47403,
      "total_price": 189.47403,
      "taxes_included": true
    },
    {
      "vendor": "Traveluro",
      "price_per_night": 187.65692,
      "total_price": 187.65692,
      "taxes_included": true
    },
    {
      "vendor": "Billabook.com",
      "price_per_night": 210,
      "total_price": 210,
      "taxes_included": true
    },
    {
      "vendor": "goseek.com",
      "price_per_night": 219.50781,
      "total_price": 219.50781,
      "taxes_included": true
    },
    {
      "vendor": "Despegar",
      "price_per_night": 301.375,
      "total_price": 301.375,
      "taxes_included": true
    },
    {
      "vendor": "Expedia.mx",
      "price_per_night": 302.93268,
      "total_price": 302.93268,
      "taxes_included": true
    },
    {
      "vendor": "Agoda",
      "price_per_night": 230.1875,
      "total_price": 230.1875,
      "taxes_included": true
    },
    {
      "vendor": "Booking.com",
      "price_per_night": 297.90625,
      "total_price": 297.90625,
      "taxes_included": true
    },
    {
      "vendor": "Priceline",
      "price_per_night": 305.90625,
      "total_price": 305.90625,
      "taxes_included": true
    },
    {
      "vendor": "Evendo",
      "price_per_night": 256.15396,
      "total_price": 256.15396,
      "taxes_included": true
    },
    {
      "vendor": "Central de Reservas",
      "price_per_night": 247.38129,
      "total_price": 247.38129,
      "taxes_included": true
    },
    {
      "vendor": "Hotel prive",
      "price_per_night": 292.5,
      "total_price": 292.5,
      "taxes_included": true
    },
    {
      "vendor": "Hoteles.com",
      "price_per_night": 302.93268,
      "total_price": 302.93268,
      "taxes_included": true
    },
    {
      "vendor": "Qantas Hotels",
      "price_per_night": 302.1284,
      "total_price": 302.1284,
      "taxes_included": true
    },
    {
      "vendor": "klook",
      "price_per_night": 235.61737,
      "total_price": 235.61737,
      "taxes_included": true
    },
    {
      "vendor": "Clicktrip.com",
      "price_per_night": 241.47806,
      "total_price": 241.47806,
      "taxes_included": true
    }
  ],
  "meta": {
    "offers_count": 18,
    "billable": true
  },
  "stay": {
    "checkin": "2026-12-10",
    "checkout": "2026-12-11",
    "nights": 1,
    "adults": 2,
    "rooms": 1,
    "children": [],
    "currency": "USD"
  }
}
Parámetro Obligatorio Descripción
hotel_id no* El id del hotel. Preferido: resuelve directo, sin emparejamiento.
hotel_ref no* Un id que ya tengas, con prefijo namespace:id (p. ej. code:100231).
name no* Solo cuando no tienes un id. Busca en nuestro catálogo por nombre.
city no Contexto para humanos; no se usa para emparejar.
lat / lon no Envíalos junto con name: la distancia GPS confirma el emparejamiento.
country no ISO-3166-1 alfa-2. Acota candidatos al emparejar por name.
phone no Solo sus últimos 8 dígitos se comparan. Puede promover un candidato.
checkin / checkout sí YYYY-MM-DD. checkout debe ser posterior a checkin.
adults sí Adultos de la estancia.
rooms no Habitaciones. Por defecto 1.
children no Edades de los menores, separadas por coma (0 a 17).
currency no Por defecto USD.
market no Punto de venta. Por defecto mx.
max_age no Antigüedad de caché aceptable, en segundos. 0 fuerza una consulta en vivo. Por defecto 300.
max_wait_ms no Cuánto espera este request a que una celda de alta ocupación se caliente.

* Debes enviar al menos uno de hotel_id, hotel_ref o name.

  • hotel: el hotel resuelto (resolved_name, hotel_id, verified).
  • offers: una entrada por canal con oferta. price_per_night siempre incluye impuestos — es el único campo comparable entre canales.
  • meta.offers_count: cuántos canales respondieron. meta.billable: si esta llamada se cobra (ver qué se cobra).
  • stay: la estancia normalizada que usó la cotización.
Header Qué informa
X-HotelQuotes-Charged Cuántos hotel-quotes cobró esta llamada.
X-Quota-Limit / X-Quota-Used / X-Quota-Remaining Tu cuota mensual.
X-Request-Id Identificador de la llamada, útil para soporte.

Un grupo que no cabe en las habitaciones del hotel responde 422, no 200 con una lista vacía:

{
  "status": "not_quotable",
  "reason": "rooms_insufficient",
  "min_rooms": 3,
  "max_rooms": 14,
  "message": "Este grupo necesita al menos 3 habitaciones"
}

min_rooms y max_rooms viajan siempre en este caso, para que puedas mostrarle al usuario el rango válido sin adivinarlo. Más casos en errores y límites.