# Tools Reference: Metasearch Pricing

# get_metasearch_pricing

Fetch live booking offers (price, provider, cancellation policy) for a hotel on a specific check-in date. Returns one entry per provider, with room-level detail where available.

Access requirements

This tool is available to all Full tier accounts. On Trial tier, a separate metasearch subscription is required. Calls without the correct tier or subscription return an HTTP 402 error. Contact hello@ubio.ai to upgrade or add a subscription.

Requires permission: metasearch:view

Typical response time is 3–4 seconds — the server fans out requests to multiple booking providers in real time.


# Parameters

Parameter Type Required Default Description
hotelIdType string Yes "huId" or "GoogleHotels"
hotelId string Yes Hotel identifier in the specified ID system
checkIn string Yes Check-in date in YYYY-MM-DD format
nights integer (≥1) Yes Number of nights
adults integer (≥1) Yes Number of adult guests
children integer (≥0) Yes Number of children
rateType string No "cheapest" "cheapest" or "refundable"
currency string No "GBP" ISO 4217 currency code: three uppercase letters (e.g. "USD", "EUR")
locale string No "us" Locale code
deviceType string No "desktop" "desktop" or "mobile"

# Example — search by Hotel Universe ID

curl -X POST https://api.hotel-universe.travel/mcp \
  -H "Authorization: Bearer pat_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_metasearch_pricing",
      "arguments": {
        "hotelIdType": "huId",
        "hotelId": "HU4A2BC9",
        "checkIn": "2026-07-14",
        "nights": 3,
        "adults": 2,
        "children": 0,
        "currency": "EUR",
        "rateType": "refundable"
      }
    }
  }'

# Example — search by Google Hotels ID

curl -X POST https://api.hotel-universe.travel/mcp \
  -H "Authorization: Bearer pat_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_metasearch_pricing",
      "arguments": {
        "hotelIdType": "GoogleHotels",
        "hotelId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
        "checkIn": "2026-07-14",
        "nights": 2,
        "adults": 2,
        "children": 0
      }
    }
  }'

# Response

{
  "offers": [
    {
      "advertiser": {
        "fullname": "Booking.com",
        "shortname": "Booking",
        "url": "https://www.booking.com/hotel/es/arts-barcelona.html?...",
        "isHotel": false,
        "isSponsored": false
      },
      "pricePerNight": {
        "gross": { "text": "€189", "value": 189.00 }
      },
      "totalPrice": {
        "gross": { "text": "€567", "value": 567.00 }
      },
      "cancellationDate": "Jul 12",
      "rooms": [
        {
          "name": "Superior Double Room with Sea View",
          "imageUrls": ["https://..."],
          "rates": [
            {
              "description": "Free cancellation until Jul 12",
              "pricePerNight": {
                "gross": { "text": "€189", "value": 189.00 }
              },
              "totalPrice": {
                "gross": { "text": "€567", "value": 567.00 }
              },
              "refundable": true,
              "cancellationUntil": "Jul 12",
              "breakfastIncluded": false
            }
          ]
        }
      ]
    }
  ]
}

# Response field notes

Field Notes
offers One entry per booking provider
advertiser.isHotel true if the offer is from the hotel's own direct channel
advertiser.isSponsored true for paid placements — display differently if surfacing to end users
pricePerNight / totalPrice gross is the consumer-facing price; net (pre-tax) is returned primarily for US properties
rooms Room-level detail is not always returned by every provider — handle rooms: [] gracefully
cancellationDate Human-readable cutoff date for free cancellation; null for non-refundable rates
breakfastIncluded May be null if the provider did not specify