Skip to main content

Identifying Listings

Most endpoints require a listing_id and channel path or query parameter to identify the listing a request is being made for. Both values come from the GET /listings endpoint:

  • listing_id — use the id field from the listing object.
  • channel — use the channel field from the same listing object.

A typical flow is to call GET /listings once to build a local map of your listings, then use the id and channel values from that map for all subsequent listing-specific calls.

Multi-unit listings

Some listings represent a single bookable property that has multiple independently bookable units underneath it — for example, a building with several apartments, or a property with a main house and a guest cottage managed as one listing. These are called multi-unit listings.

You can identify a multi-unit listing by the number_of_active_units field on the listing object (returned by GET /listings and GET /listings/{listing_id}). A non-null value indicates a multi-unit listing; null indicates a standard single-unit listing.

For endpoints that return per-date data (such as GET /listings/{listing_id}/price_calendar and GET /listings/{listing_id}/last_posted_prices), multi-unit listings return one row per unit per date. Each row includes a unit_number field (a positive integer starting at 1) that identifies which unit the row belongs to. Single-unit listings always return unit_number: 0.

When processing calendar data for a multi-unit listing, group rows by unit_number to get the per-unit availability and pricing. Preferences and settings (fetched via GET /preferences/{listing_id}) apply at the listing level and are shared across all units.