# 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 |
# Related
- Metasearch API Reference — the REST API equivalent for server-to-server integrations
- Metasearch Best Practices — caching, rate limits, response time management