---
title: "Get cached public price for a hotel"
method: GET
path: "/prices/public"
tags: ["Price Index"]
---

# Get cached public price for a hotel

`GET /prices/public`

## Request

- Base URL: `https://api.liteapi.travel/v3.0`
- URL: `https://api.liteapi.travel/v3.0/prices/public`
- Auth: API key in header `X-API-Key`

## Overview

Retrieve cached public price data for a specific hotel and occupancy. This endpoint returns pricing information sourced from public booking platforms (e.g., Booking.com, Expedia) that has been pre-fetched and cached. It applies occupancy canonicalization automatically, so callers don't need to replicate that logic.

**⚠️ Beta Feature**: This endpoint is currently in beta. The API structure and behavior may change in future versions.

**Pricing**: $0.02 per request

**Rate Limiting**: This endpoint is rate-limited to **10 requests per minute** for both sandbox and production API keys. Exceeding this limit will result in a `429 Too Many Requests` response.

## When to Use

- **Price comparison** - Compare your negotiated rates against publicly available prices
- **Rate validation** - Verify that your offered rates are competitive before displaying to end users
- **Market intelligence** - Understand public pricing trends for specific hotels and dates

## What You Get

- **amount** - The best (lowest) cached public price for the stay in the specified currency
- **nightlyAmount** - The best (lowest) nightly public price
- **nightlyRateWithFees** / **stayTotalWithFees** - The best offer's nightly price and stay total including taxes and fees, when the source showed them
- **currency** - Currency code (USD)
- **provider** - Normalized provider identifier for the best offer (e.g., `cheaptickets`)
- **rawObservedText** - Raw observed price text from the source
- **offers** - Public price offers from multiple booking providers, each with its stay total including taxes and fees (`stayTotalWithFees`) when the source showed one
- **fetchedAt** - When the price was last retrieved from the source
- **expiresAt** - When this cached price expires and should no longer be used

## Key Features

- **Occupancy-specific** - Prices are stored per occupancy configuration; query params must match write-time occupancy
- **Negative cache aware** - Returns 404 for both cache misses and negative cache entries (hotels with no public price found)
- **Low latency** - Direct cache lookup, no upstream API calls

## Parameters

- `hotelId` (required): The liteAPI hotel ID (e.g., `lpec902`)
- `checkin` (required): Check-in date in YYYY-MM-DD format
- `checkout` (required): Check-out date in YYYY-MM-DD format
- `adults` (required): Number of adult guests
- `childrenAges` (optional): Comma-separated ages of children (e.g., `5,8`)
- `currency` (optional): Currency code; if present, must be `USD`

## Query parameters

- `hotelId` string, required
- `checkin` string, date, required
- `checkout` string, date, required
- `adults` integer, required
- `childrenAges` string
- `currency` 'USD'

## Response `200`

Successfully retrieved cached public price

- object
  - `data` PublicPrice: Cached public price for a hotel and occupancy
    - `hotelId` string, required: The liteAPI hotel ID
    - `checkin` string, date, required: Check-in date in YYYY-MM-DD format
    - `checkout` string, date, required: Check-out date in YYYY-MM-DD format
    - `amount` number, required: The best (lowest) cached public price amount for the stay
    - `nightlyAmount` number, required: The best (lowest) nightly public price amount
    - `nightlyRateWithFees` number: The best offer's nightly price including taxes and fees, when the source showed one
    - `stayTotalWithFees` number: The best offer's total stay amount including taxes and fees, as shown by the source. Absent when the source did not show one, or showed one inconsistent with the nightly rate.
    - `currency` string, required: Currency code
    - `provider` string, required: Normalized provider identifier for the best offer
    - `rawObservedText` string, required: Raw observed price text from the source
    - `adults` integer, required: Number of adult guests for this occupancy
    - `offers` PublicPriceOffer[], required: Public price offers from multiple booking providers
      - `amount` number, required: Total stay amount from this provider
      - `nightly` number, required: Nightly amount from this provider
      - `stayTotalWithFees` number: Total stay amount from this provider including taxes and fees, as shown by the source ("Stay total with taxes + fees"). Absent when the source did not show one, or showed one inconsistent with the nightly rate.
      - `provider` string, required: Normalized provider identifier
      - `rawProvider` string, required: Raw provider display name as observed
    - `fetchedAt` string, date-time, required: When the price was last retrieved from the source
    - `expiresAt` string, date-time, required: When this cached price expires

## Other responses

- `400`: Bad Request - Invalid parameters
- `401`: Unauthorized - Missing or invalid API key
- `404`: Not Found - No cache entry or negative cache
- `429`: Too Many Requests - Rate limit exceeded
- `500`: Internal Server Error

---

[API](https://skmtc.dev/liteapi/apis/api-price-index.md) - [All operations](https://skmtc.dev/liteapi/apis/api-price-index/llms.txt) - [OpenAPI document](https://skmtc.dev/liteapi/apis/api-price-index/revisions/a59bea9eff2a?raw)
