# Data Samples

Metasearch Pricing provides real-time hotel rates from multiple OTAs and direct channels through a REST API. Access live pricing, cancellation policies, room details, and booking URLs from providers worldwide.

BETA

These data points are available in Hotel Universe as of October 2025. This is a BETA feature with continuous improvements to data quality and coverage.

# What Data Is Included

# Provider/Advertiser Information

  • Full name - Complete provider name (e.g., "Booking.com", "Expedia")
  • Short name - Abbreviated provider name (e.g., "Booking", "Expedia")
  • URL - Direct booking link to the provider's site
  • Is hotel - Boolean indicating if this is the hotel's direct website (true) or an OTA (false)
  • Is sponsored - Boolean indicating if this is a sponsored/paid placement

# Pricing (Top-Level Offer)

Each provider offer includes:

  • Price per night
    • Gross price (including taxes)
      • Formatted text (e.g., "£53", "$125")
      • Numeric value (e.g., 52.87742)
    • Net price (before taxes) - Optional, primarily US properties
      • Formatted text
      • Numeric value
  • Total price (for entire stay)
    • Gross price (including taxes)
      • Formatted text (e.g., "£106", "$250")
      • Numeric value (e.g., 105.75484)
    • Net price (before taxes) - Optional
      • Formatted text
      • Numeric value
  • Cancellation date - Free cancellation deadline (e.g., "Nov 28", "Dec 24") - Optional

# Room Details (Optional)

When available, detailed room-level information includes:

  • Room name - Room type name (e.g., "Standard Double Room", "Twin Room - Smoking")
  • Room images - Array of image URLs
  • Multiple rates - Different rate options for the same room:
    • Rate description (e.g., "Free cancellation", "Non-refundable")
    • Price per night (gross/net)
    • Total price (gross/net)
    • Refundable status - Boolean
    • Cancellation deadline - Date string (e.g., "Nov 28")
    • Breakfast included - Boolean

Note

Room-level details are more commonly available from direct hotel websites. OTA aggregators typically provide basic offer information only.

# Response Schema

The complete JSON Schema for the Metasearch Pricing API response:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api.hotel-universe.travel/schemas/metasearch-pricing-response.json",
  "title": "Metasearch Pricing Response",
  "description": "Response schema for the Hotel Universe Metasearch Pricing API endpoint",
  "type": "array",
  "items": {
    "$ref": "#/definitions/ProviderOffer"
  },
  "definitions": {
    "ProviderOffer": {
      "type": "object",
      "description": "A single provider offer with pricing and optional room details",
      "required": ["advertiser", "pricePerNight", "totalPrice"],
      "properties": {
        "advertiser": {
          "$ref": "#/definitions/Advertiser"
        },
        "pricePerNight": {
          "$ref": "#/definitions/Price",
          "description": "Price per night for the stay"
        },
        "totalPrice": {
          "$ref": "#/definitions/Price",
          "description": "Total price for the entire stay"
        },
        "cancellationDate": {
          "type": ["string", "null"],
          "description": "Free cancellation deadline (e.g., 'Nov 28', 'Dec 24')",
          "examples": ["Nov 28", "Dec 24", "2024-06-14T12:00:00Z"]
        },
        "rooms": {
          "type": "array",
          "description": "Optional room-level details (more common from direct hotels)",
          "items": {
            "$ref": "#/definitions/Room"
          }
        }
      }
    },
    "Advertiser": {
      "type": "object",
      "description": "Provider/advertiser information",
      "required": ["fullname", "url", "shortname", "isHotel", "isSponsored"],
      "properties": {
        "fullname": {
          "type": "string",
          "description": "Full provider name",
          "examples": ["Booking.com", "Expedia", "The Grand Hotel London"]
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Direct booking URL for this offer"
        },
        "shortname": {
          "type": "string",
          "description": "Abbreviated provider name",
          "examples": ["Booking", "Expedia", "The Grand Hotel"]
        },
        "isHotel": {
          "type": "boolean",
          "description": "True if this is the hotel's direct website, false for OTAs"
        },
        "isSponsored": {
          "type": "boolean",
          "description": "True if this is a sponsored/paid placement"
        }
      }
    },
    "Price": {
      "type": "object",
      "description": "Price information with optional net (before tax) and gross (including tax) values. At least one of net or gross must be present.",
      "properties": {
        "net": {
          "$ref": "#/definitions/PriceDetail",
          "description": "Price before taxes (primarily available for US properties)"
        },
        "gross": {
          "$ref": "#/definitions/PriceDetail",
          "description": "Price including all taxes and fees"
        }
      },
      "anyOf": [
        {
          "required": ["net"]
        },
        {
          "required": ["gross"]
        }
      ]
    },
    "PriceDetail": {
      "type": "object",
      "description": "Formatted and numeric price representation",
      "required": ["text", "value"],
      "properties": {
        "text": {
          "type": "string",
          "description": "Formatted price string with currency symbol",
          "examples": ["£53", "$125", "€98"]
        },
        "value": {
          "type": "number",
          "description": "Numeric price value",
          "minimum": 0,
          "examples": [52.87742, 125.00, 98.50]
        }
      }
    },
    "Room": {
      "type": "object",
      "description": "Room type with available rates",
      "required": ["name", "imageUrls", "rates"],
      "properties": {
        "name": {
          "type": "string",
          "description": "Room type name",
          "examples": ["Standard Double Room", "Twin Room - Smoking", "Deluxe King Room"]
        },
        "imageUrls": {
          "type": "array",
          "description": "Array of room image URLs",
          "items": {
            "type": "string",
            "format": "uri"
          },
          "minItems": 0
        },
        "rates": {
          "type": "array",
          "description": "Different rate options for this room",
          "items": {
            "$ref": "#/definitions/Rate"
          },
          "minItems": 1
        }
      }
    },
    "Rate": {
      "type": "object",
      "description": "A specific rate option for a room",
      "required": ["description", "pricePerNight", "totalPrice"],
      "properties": {
        "description": {
          "type": ["string", "null"],
          "description": "Rate description (can be null)",
          "examples": ["Free cancellation", "Non-refundable", "Breakfast included", null]
        },
        "pricePerNight": {
          "$ref": "#/definitions/Price",
          "description": "Per-night price for this rate"
        },
        "totalPrice": {
          "$ref": "#/definitions/Price",
          "description": "Total price for this rate"
        },
        "refundable": {
          "type": "boolean",
          "description": "Whether this rate is refundable"
        },
        "cancellationUntil": {
          "type": "string",
          "description": "Cancellation deadline",
          "examples": ["Nov 28", "Dec 24", "2024-06-14T12:00:00Z"]
        },
        "breakfastIncluded": {
          "type": "boolean",
          "description": "Whether breakfast is included in this rate"
        }
      }
    }
  }
}