Cities & products
- Products are always fetched at a city level — this is the highest aggregation level at Headout
- The following catalog data can be cached on the partner’s side:
- Active city list → refresh monthly
- Categories & subcategories → refresh monthly
- Collections → refresh monthly
- Product list & product details → refresh daily or weekly
- B2B APIs return a flat list of all products in no particular order — there is no ranking, tagging, or B2C grouping (e.g. bestsellers). Any such filtering or ordering must be implemented on the partner’s side.
- Instead of waiting for your next scheduled refresh to catch a delisting, use Event Subscriptions to get a
product.listing_status_changedwebhook the moment a product is listed or unlisted.
Not all products visible on the Headout B2C surface will appear in the B2B API. If a product is missing from your listing, it could be due to one or more of the following reasons:
- The product is intentionally hidden or marked non-bookable for partner traffic
- The product currently has no available inventory (it would also appear unavailable on the B2C website)
- The product has been delisted — check the current B2C website, not older cached data
- The product’s booking flow is not yet supported in the Partner API. Currently, only
NORMAL,SEATMAPandSVGinventory selection types are supported. Products requiring combo booking or any other non-standard flow are not available via the Partner API
Ratings, reviews & recommendations
- Ratings are exposed via the
reviewsSummaryobject on every product returned byList ProductsandGet Product—ratingsCount(total verified ratings) andaverageRating(mean on a 1–5 scale). - Review text is not exposed via the API. If a one-time dump of review content is genuinely needed for a launch (e.g. seeding a partner-side display), this can be shared on request via your Headout SPOC.
- Recommendations and similar-products APIs are not provided. Partners that want related-product surfaces should derive them from the catalog on their own side (e.g. by collection / category / subcategory grouping).
Inventory selection types
This subsection is relevant to API Partner accounts (booking flow). Affiliate accounts do not book through the API.
inventorySelectionType that tells you how date / time / seat selection is presented and which inventory endpoint to call. There are three values today; all are supported for booking.
Read
inventorySelectionType from each product and branch your flow accordingly — never assume one type for all products. If a future value appears that isn’t in this list, treat it as unsupported for booking and fall back to displaying the product as not bookable until guidance is updated.
Search
The Headout Partner API does not expose a free-text or real-time search endpoint. Catalog discovery is structured, not query-based:- Start with
List Citiesto scope the catalog. - Narrow by
Collections,Categories, orSubcategories. - Use
List Productswith the relevant filters to retrieve products.
Variants
A single product can have multiple variants. Variants can differ by many parameters, including but not limited to:- Inclusions and exclusions
- Cancellation or reschedule eligibility
- Meeting point or pickup details
- Ticket type and fulfillment behavior
- Pricing and availability patterns
- Eiffel Tower – 2nd Floor Access
- Eiffel Tower – Summit Access
- Eiffel Tower – English Guided Tour
- Eiffel Tower – Spanish Guided Tour
Variant metadata: properties and propertiesV2
Variants return a properties map that carries additional identifying information about that variant. This is not decorative metadata — it is a critical field. Treat them as dynamic key-value data, not fixed schema fields.
propertiesis a plain object whose values are stringspropertiesV2can usually be ignored
properties is critical and must never be skipped.
If a variant carries any properties, they must be displayed prominently alongside the variant name — not buried in fine print or omitted.
Two variants can have different prices solely because their properties differ — by language, nationality, attraction count, or another variant-level condition. This information directly determines which variant the customer should select. If you don’t show it, customers can book the wrong variant and face issues at the venue, increasing the support load and customer dissatisfaction.