Batch rates by check-in date

Overview

Enterprise-only endpoint that prices every length of stay (LOS) × occupancy combination for a single check-in across up to 200 hotels. LOS is the number of nights between check-in and check-out. Returns an NDJSON stream (one hotel object per line) so you can process results as they arrive.

When to Use

  • Build a LOS matrix for a check-in date across many hotels without calling /hotels/rates repeatedly
  • Compare occupancy options (e.g. 2 adults vs 2 adults + child) for the same stay window

What You Get

  • One NDJSON line per hotel with every LOS × occupancy cell exactly once
  • Trimmed rates — cheapest RFN (free-cancel until checkin−N days, default N=5) and cheapest NRFN per mappedRoomId × feed
  • Prebookable offerId values — same booking flow as /hotels/rates
  • Per-cell status — ok, no_availability, or error with a machine-readable code

Key Features

  • Inclusive LOS range via lengthsOfStay.min / lengthsOfStay.max (max 28 nights)
  • Up to 8 occupancy options priced independently (not multi-room in one booking)
  • Multi-feed support with the same feed / feeds rules as /hotels/rates
  • Configurable trim depth via maxRatesPerHotel (default 10 rates requested per cell before RFN/NRFN trim)
  • Refundable deadline control via refundableDeadlineDaysBeforeCheckin (default 5; set 0 to disable)

Quick Start

Required fields: hotelIds, checkin, lengthsOfStay, occupancies, currency, guestNationality

Tip: Start with a small LOS range (e.g. min=1, max=2) and one occupancy while integrating. Enable roomMapping when you need mappedRoomId for room content.

Rate limit: Each call costs losCount × occupancyCount × feedCount against your API key quota. Check the X-RateLimit-Cost response header.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
hotelIds
array of strings
required
length ≤ 200

Hotel LP IDs. Maximum 200 per request.

hotelIds*
date
required

Exactly one check-in date per call.

lengthsOfStay
object
required

Inclusive length of stay (LOS) range in nights. Covers every checkout from checkin+min to checkin+max. Max 28.

occupancies
array of objects
required
length ≤ 8

Occupancy options priced separately (not rooms in one booking).

occupancies*
string
required

The currency in which the prices will be displayed.

string
required

The guest's nationality in ISO 2-letter country code format.

boolean

Enable room mapping to retrieve the mappedRoomId for each room. This allows you to link a rate to its specific room by combining it with hotel details, providing access to room images and additional information

feeds
array of strings

Optional multi-feed list (same rules as /hotels/rates).

feeds
string

Optional single feed (mutually exclusive with feeds).

number

Per-cell supplier timeout in seconds. Default 30.

integer
≥ 1

Optional override for how many rates each LOS×occupancy cell requests before RFN/NRFN trim. Default 10.

integer
≥ 0

RFN rates must remain free to cancel until checkin minus this many days. Default 5 (Airbnb sellable refundable window). Set 0 to disable the deadline filter.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/x-ndjson
application/json