Skip to main content
GET
/
api
/
public
/
v2
/
inventory
/
list-by
/
tour
curl --location 'https://www.headout.com/api/public/v2/inventory/list-by/tour/?tourId=52850&startDateTime=2025-07-25T00%3A00&endDateTime=2025-07-27T00%3A00&currencyCode=EUR&offset=0&limit=1' \
--header 'Headout-Auth: <YOUR_API_KEY>'
{
  "items": [
    {
      "id": "520436588",
      "startDateTime": "2026-03-26T10:00:00",
      "endDateTime": "2026-03-26T19:00:00",
      "availability": "LIMITED",
      "remaining": 14,
      "pricing": {
        "persons": [
          {
            "type": "ADULT",
            "name": "Adult",
            "description": null,
            "ageFrom": 13,
            "ageTo": 64,
            "price": 48.99,
            "originalPrice": 48.99,
            "netPrice": 48.99,
            "headoutSellingPrice": 48.99,
            "remaining": 14,
            "availability": "LIMITED",
            "paxRange": {
              "min": null,
              "max": null
            }
          },
          {
            "type": "CHILD",
            "name": "Child",
            "description": null,
            "ageFrom": 4,
            "ageTo": 12,
            "price": 38.11,
            "originalPrice": 38.11,
            "netPrice": 38.11,
            "headoutSellingPrice": 38.11,
            "remaining": 14,
            "availability": "LIMITED",
            "paxRange": {
              "min": null,
              "max": null
            }
          },
          {
            "type": "SENIOR",
            "name": "Senior",
            "description": null,
            "ageFrom": 65,
            "ageTo": 99,
            "price": 38.11,
            "originalPrice": 38.11,
            "netPrice": 38.11,
            "headoutSellingPrice": 38.11,
            "remaining": 14,
            "availability": "LIMITED",
            "paxRange": {
              "min": null,
              "max": null
            }
          }
        ],
        "groups": []
      }
    }
  ],
  "nextUrl": "https://www.headout.com/api/public/v2/inventory/list-by/tour?tourId=82665&startDateTime=2026-03-26T00%3A00&endDateTime=2026-03-28T00%3A00&currencyCode=USD&offset=1&limit=1",
  "prevUrl": null,
  "total": 2,
  "nextOffset": 1
}
For products with inventorySelectionType: NORMAL. Retrieve available time slots and pricing for a specific tour within a date range. Returns inventory items with startDateTime/endDateTime, availability status, remaining capacity, and per-person or group pricing tiers (Adult, Child, Student, etc.). Use this to display bookable slots and prices to users before creating a booking.
curl --location 'https://www.headout.com/api/public/v2/inventory/list-by/tour/?tourId=52850&startDateTime=2025-07-25T00%3A00&endDateTime=2025-07-27T00%3A00&currencyCode=EUR&offset=0&limit=1' \
--header 'Headout-Auth: <YOUR_API_KEY>'
{
  "items": [
    {
      "id": "520436588",
      "startDateTime": "2026-03-26T10:00:00",
      "endDateTime": "2026-03-26T19:00:00",
      "availability": "LIMITED",
      "remaining": 14,
      "pricing": {
        "persons": [
          {
            "type": "ADULT",
            "name": "Adult",
            "description": null,
            "ageFrom": 13,
            "ageTo": 64,
            "price": 48.99,
            "originalPrice": 48.99,
            "netPrice": 48.99,
            "headoutSellingPrice": 48.99,
            "remaining": 14,
            "availability": "LIMITED",
            "paxRange": {
              "min": null,
              "max": null
            }
          },
          {
            "type": "CHILD",
            "name": "Child",
            "description": null,
            "ageFrom": 4,
            "ageTo": 12,
            "price": 38.11,
            "originalPrice": 38.11,
            "netPrice": 38.11,
            "headoutSellingPrice": 38.11,
            "remaining": 14,
            "availability": "LIMITED",
            "paxRange": {
              "min": null,
              "max": null
            }
          },
          {
            "type": "SENIOR",
            "name": "Senior",
            "description": null,
            "ageFrom": 65,
            "ageTo": 99,
            "price": 38.11,
            "originalPrice": 38.11,
            "netPrice": 38.11,
            "headoutSellingPrice": 38.11,
            "remaining": 14,
            "availability": "LIMITED",
            "paxRange": {
              "min": null,
              "max": null
            }
          }
        ],
        "groups": []
      }
    }
  ],
  "nextUrl": "https://www.headout.com/api/public/v2/inventory/list-by/tour?tourId=82665&startDateTime=2026-03-26T00%3A00&endDateTime=2026-03-28T00%3A00&currencyCode=USD&offset=1&limit=1",
  "prevUrl": null,
  "total": 2,
  "nextOffset": 1
}

Authorizations

Headout-Auth
string
header
required

Query Parameters

tourId
string
required

Unique identifier of the tour/product variant to fetch inventory for. Obtain this from the product variants in the Products API response.

currencyCode
string
required

Currency code for displaying prices (e.g., USD, EUR, GBP). All price fields in the response will use this currency. See Currency Codes.

startDateTime
string<date-time>
required

Beginning of the date range to fetch available slots (URL encoded). Example: 2025-07-25T00:00. See ISO 8601.

endDateTime
string<date-time>

End of the date range to fetch available slots (URL encoded). Maximum range varies by product. See ISO 8601.

offset
integer
default:0

Number of records to skip for pagination. Use with limit to paginate through large result sets. Start at 0 for the first page.

limit
integer
default:10

Maximum number of records to return per request. Use with offset to paginate through results. Check nextOffset in response for more pages.

Response

200 - application/json

Successful response

items
object[]

The inventory slots in this page of results.

nextUrl
string | null

Full URL to fetch the next page of results. Null if on the last page.

prevUrl
string | null

Full URL to fetch the previous page of results. Null if on the first page.

total
integer

Total number of available inventory slots across all pages.

nextOffset
integer | null

Offset value to use in the next request to retrieve the following page.