Skip to main content
GET
/
api
/
public
/
v1
/
product
/
get
/
{productId}
cURL
curl --location 'https://www.headout.com/api/v1/product/get/3336?currencyCode=EUR&language=PT&fetch-variants=true' \
--header 'Headout-Auth: <YOUR_API_KEY>'
{
  "id": 123,
  "name": "<string>",
  "url": "<string>",
  "canonicalUrl": "<string>",
  "neighbourhood": "<string>",
  "content": {
    "highlights": "<string>",
    "highlightsHtml": "<string>",
    "shortSummary": "<string>",
    "summaryHtml": "<string>",
    "inclusions": "<string>",
    "inclusionsHtml": "<string>",
    "exclusions": "<string>",
    "exclusionsHtml": "<string>",
    "faqHtml": "<string>",
    "ticketDeliveryInfoHtml": "<string>"
  },
  "city": {
    "code": "<string>",
    "name": "<string>",
    "image": {
      "url": "<string>"
    }
  },
  "displayTags": [
    "<string>"
  ],
  "images": [
    {
      "url": "<string>",
      "type": "IMAGE"
    }
  ],
  "startLocation": {
    "geolocation": {
      "latitude": 123,
      "longitude": 123
    },
    "address": {
      "addressLine1": "<string>",
      "addressLine2": "<string>",
      "cityName": "<string>",
      "postalCode": "<string>",
      "state": "<string>",
      "countryName": "<string>"
    }
  },
  "endLocation": {
    "geolocation": {
      "latitude": 123,
      "longitude": 123
    },
    "address": {
      "addressLine1": "<string>",
      "addressLine2": "<string>",
      "cityName": "<string>",
      "postalCode": "<string>",
      "state": "<string>",
      "countryName": "<string>"
    }
  },
  "productType": "TOUR",
  "ratingCumulative": {
    "avg": 123,
    "count": 123
  },
  "pricing": {
    "type": "PER_PERSON",
    "currencyCode": "<string>",
    "minimumPrice": {
      "originalPrice": 123,
      "finalPrice": 123
    },
    "bestDiscount": 123
  },
  "currency": {
    "code": "<string>",
    "currencyName": "<string>",
    "symbol": "<string>",
    "localSymbol": "<string>",
    "precision": 123
  },
  "hasInstantConfirmation": true,
  "hasMobileTicket": true,
  "primaryCategory": {
    "id": "<string>",
    "name": "<string>",
    "cityCode": "<string>",
    "canonicalUrl": "<string>",
    "localeSpecificUrls": {}
  },
  "inventorySelectionType": "NORMAL",
  "variants": [
    {
      "id": "<string>",
      "name": "<string>",
      "description": "<string>",
      "duration": 123,
      "inventoryType": "FIXED_START_FIXED_DURATION",
      "pax": {
        "min": 123,
        "max": 123
      },
      "cashback": {
        "value": 123,
        "type": "PERCENTAGE"
      },
      "ticketDeliveryInfoHtml": "<string>",
      "inputFields": [
        {
          "oldId": 123,
          "id": "<string>",
          "name": "<string>",
          "dataType": "STRING",
          "validation": {
            "regex": "<string>",
            "minLength": 123,
            "maxLength": 123,
            "minValue": 123,
            "maxValue": 123,
            "required": true,
            "values": [
              "<string>"
            ]
          },
          "level": "PRIMARY_CUSTOMER"
        }
      ],
      "tags": [
        "<string>"
      ]
    }
  ]
}

Authorizations

Headout-Auth
string
header
required

Path Parameters

productId
string
required

ID of the product to fetch.

Query Parameters

currencyCode
string

Currency code for product pricing.

fetch-variants
boolean

Flag to fetch product variants.

language
enum<string>
default:EN

Language code for localization.

Available options:
EN,
ES,
FR,
IT,
DE,
PT,
NL,
PL
Example:

"EN"

Response

200 - application/json

Successful response

id
integer

Headout's unique product identifier. Use this to fetch full product details via the getProductById endpoint.

name
string

Display name of the experience (e.g., "Skip-the-Line Tickets to the Eiffel Tower").

url
string

Relative URL path for this product page on Headout.

canonicalUrl
string

The canonical Headout URL for this product page. Use for linking and affiliate tracking.

neighbourhood
string | null

Neighbourhood or locality where the experience takes place (e.g., "Times Square", "Old Town").

content
object

Editorial content for the product including highlights, summary, inclusions, and exclusions.

city
object

The city where this experience takes place.

displayTags
string[]

Display tags associated with the product (e.g., "Best Seller", "Top Rated").

images
object[]

Product images and videos for display in listings and product detail pages.

startLocation
object

Meeting or departure point for this experience, including GPS coordinates and optional address.

endLocation
object

Drop-off or end point for this experience. Same structure as startLocation. Null if the experience ends at the start location.

productType
enum<string>

Experience category. Useful for filtering and display logic.

Available options:
TOUR,
ACTIVITY,
EVENT,
ATTRACTION,
TRANSFER,
AIRPORT_TRANSFER,
ADD_ON
ratingCumulative
object

Aggregated rating and review count from verified Headout customers.

pricing
object

Starting price for display on product cards. Reflects the cheapest available variant.

currency
object

Currency in which all prices in this response are denominated.

hasInstantConfirmation
boolean

Whether bookings for this product are confirmed immediately without manual review.

hasMobileTicket
boolean

Whether this product supports mobile/digital tickets (no print required).

primaryCategory
object

The main experience category this product belongs to (e.g., Tickets, Tours).

inventorySelectionType
enum<string>

Inventory selection flow for this product. Determines how date/time selection should be presented to users.

Available options:
NORMAL,
SEATMAP
variants
object[]