Download OpenAPI specification:
The Headout API enables seamless integration with Headout's platform, providing access to a wide range of functionalities, including querying availability, managing products, processing bookings, and much more.
APIs are designed for developers. If you are not familiar with programming, we offer other solutions that may be easier to use. Headout provides a range of plugins for website integration, which do not require direct API usage. To learn more, check the integration plugins available in your Headout account.
If you're looking to build a new service around Headout’s platform, require additional APIs, or want Headout to directly integrate with your company's software, reach out to our team to review your project and discuss feasibility.
Headout offers different API products for various business needs. Make sure to choose the right one for your specific use case.
Affiliates using the Headout API will primarily interact with product, category, subcategory, collection, and city APIs to access the necessary data for their platforms. Please note that affiliates will not require access to booking and inventory APIs, as these are more relevant for other types of partners.
The available APIs for affiliates include:
By focusing on these APIs, affiliates can seamlessly integrate Headout's offerings into their platforms, ensuring accurate and up-to-date information for their users.
API partners using the Headout API will have access to the full suite of available APIs, enabling comprehensive integration with Headout's platform. This includes access to products, categories, subcategories, collections, cities, bookings, and inventory management.
The available APIs for API partners include:
API partners can utilize this comprehensive set of APIs to fully integrate Headout’s offerings into their own platforms, enabling seamless transactions, accurate data management, and enhanced user experiences.
All requests to the Headout API must use HTTPS.
If you attempt to use HTTP, the request will be
automatically redirected to HTTPS with an HTTP
Status 301 (Permanent Redirect). The API is not available on
non-SSL/TLS ports, ensuring secure communication.
We do not support Cross-Origin Resource Sharing (CORS), so REST calls to the Headout API should not be made directly from a browser. Instead, calls should be made server-to-server or through a secure environment.
All API calls require a valid API Key for authentication. The API Key must be passed as an HTTP header in all requests:
HTTP headers:
Headout-Auth: {api-token}
Example:
Headout-Auth: pk_fgjsfg597sf7g5shsfhgf7hs7fg57s64sfg74h
To obtain your API Key, sign up on our Affiliate platform / Distributor platform, and you will receive your API keys via email. There are two types of API keys:
pk_ and are valid only in the production
environment. Use this key for all live production work.tk_ and are valid only in the testing sandbox
environment. Use this key for testing purposes.The Headout API is versioned, and you must include the version in the URL when making API calls. Our API is continuously updated within the same version with non-breaking changes, and the version number will be incremented only for major breaking changes.
All Partner APIs are prefixed with
/api/public/v{api_version}. For instance, if the
API version is v2, the URL structure will be
/api/public/v2.
While V1 APIs, which previously followed the
/api/v1 structure, will continue to work, it is
recommended to transition to the new URL structure:
/api/public/v1.
Please refer to the changelog for detailed information on updates and changes.
Currently, the Headout Product API is at version v2, while the Booking and Inventory APIs remain at version v1:
GET https://www.headout.com/api/public/v2/products
POST https://www.headout.com/api/public/v1/booking
We have both Staging and Production environments. Use the Staging environment to test your integration before moving to the Production environment.
| Environment | API URL |
|---|---|
| Staging | https://sandbox.api.dev-headout.com |
| Production | https://www.headout.com |
Updates are typically released to the Staging environment about one week before they are deployed to Production. Therefore, there may be differences between these environments during that period.
For testing your integration, use the sandbox environment available at https://sandbox.api.dev-headout.com. You will need to use the testing API key to access this environment.
Keep your API key confidential and do not publish it in any publicly available repository or version control system, as this could expose your key to malicious bots frequently scanning for vulnerabilities.
The Headout API supports JSON payloads encoded in UTF-8. It
is essential to include both the Accept and
Content-Type headers in your requests to ensure
proper handling of the data:
Content-Type: application/json; charset=UTF-8
Accept: application/json
APIs that return multiple items are paginated by default. You
can control the pagination using the offset and
limit query parameters.
For example:
GET /products?offset=0&limit=100
GET /products?offset=100&limit=100
GET /products?offset=200&limit=100
Pagination responses are wrapped with a pagination-wrapper
{
"items": [],
"nextUrl": "https://next-url",
"prevUrl": "https://prev-url",
"total": 100,
"nextOffset": 20
}
There are two date formats used in the Headout API:
ISO8601 Format: Typically used for
fields such as startTime,
endTime, dateCreated, and
dateUpdated. This format is ideal for
precise, timezone-aware timestamps.
Localized Format: Based on the
supplier's timezone setup on Headout, this format is
displayed as yyyy-MM-dd HH:mm:ss and is often
used for times that are relevant to the local context,
such as tour start times.
When making API requests, you can choose to use either of
these formats. If both are provided, the
startTime (ISO8601) will take precedence over
startTimeLocal (Localized).
By understanding these formats, you can ensure that your application correctly handles date and time data, whether it's for global coordination or local relevance.
POST /bookingCreate a new booking object in UNCAPTURED
state.
The booking creation and acceptance flow is a 2 step
flow. Calling this API creates the initial booking in
UNCAPTURED
state and returns back the same booking along with the new
booking id. You should call this API before fulfilling the
booking flow on your end. Once you get a response, you can
then fulfill the booking flow on your end and then
call PUT /booking to capture the booking and
start the fulfillment process of the booking on our end.
If the booking capturing doesn't happen within an
hour then the booking status is automatically changed
to CAPTURE_TIMEOUT.
{
"productId": "5678",
"variantId": "1234",
"inventoryId": "1455",
"customersDetails": {
"count": 3,
"customers": [
{
"personType": "ADULT",
"isPrimary": true,
"inputFields": [
{
"id": "EMAIL",
"value": "a@b.com"
}
]
}
]
},
"price": {
"amount": 100,
"currencyCode": "USD"
}
}
{
"bookingId": "126890",
"partnerReferenceId": null,
"variantId": "1234",
"startDateTime": "2017-04-12T19:30:00",
"product": {
"id": "2832",
"name": "Aladdin",
"variant": {
"id": "4384",
"name": "Grand Circle"
}
},
"customersDetails": {
"count": 3,
"customers": [
{
"personType": "ADULT",
"isPrimary": true,
"inputFields": [
{
"id": "EMAIL",
"name": "Name",
"value": "a@b.com"
}
]
}
]
},
"seatInfo": [
{
"section": "A",
"row": "10",
"seatNumber": "12",
"seatCode": "A-10-12"
}
],
"price": {
"amount": 100,
"currencyCode": "USD"
},
"status": "CAPTURE_TIMEOUT",
"voucherUrl": "https://www.headout.com/voucher/126890?key=AAAD6AAAABhsDVGlVXsL2YDAf65qMsOQAlqJZdsw80eczQCIL6sa5rITsvOjxoD5NwaoBDiwlEY%3D",
"tickets": [
{
"publicId": "9e4d8330-abc7-40f8-951d-19b9e8731dcf",
"url": null,
"type": "QRCODE"
}
],
"creationTimestamp": 1491902295
}
UNCAPTURED status
and must be captured within 1 hour via PUT
/booking/{id}price.amount and
price.currencyCode in the response may
differ from the request if currency conversion occurs
tickets array is typically empty/null for
new bookings and populated after fulfillmentvoucherUrl provides immediate access to
booking information even before tickets are generated
seatInfo is only populated for
seatmap-enabled bookingsbookingId represents the itinerary
identifier in the systemvariantId represents the variant (tour)
identifier that was booked| productId |
string
ID of the product which the variant is part of. |
| variantId |
string
ID of the variant to be booked. |
| inventoryId |
string
ID of the inventory to be booked. |
|
object
Details of the customers. |
|
|
object
Pricing details for the booking. |
{
-
"productId":
"string",
-
"variantId":
"string",
-
"inventoryId":
"string",
-
"customersDetails":
{
-
"count":
0,
-
"customers":
[
-
{
-
"personType":
"string",
-
"isPrimary":
true,
-
"inputFields":
[
-
{
-
"id":
"string",
-
"value":
"string"
}
]
}
]
},
-
"price":
{
-
"amount":
0.1,
-
"currencyCode":
"string"
}
}
{
-
"bookingId":
"string",
-
"partnerReferenceId":
"string",
-
"variantId":
"string",
-
"startDateTime":
"2019-08-24T14:15:22Z",
-
"product":
{
-
"id":
"string",
-
"name":
"string",
-
"variant":
{
-
"id":
"string",
-
"name":
"string"
}
},
-
"customersDetails":
{
-
"count":
0,
-
"customers":
[
-
{
-
"personType":
"string",
-
"isPrimary":
true,
-
"inputFields":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"value":
"string"
}
]
}
]
},
-
"seatInfo":
[
-
{
-
"section":
"string",
-
"row":
"string",
-
"seatNumber":
"string",
-
"seatCode":
"string"
}
],
-
"price":
{
-
"amount":
0.1,
-
"currencyCode":
"string"
},
-
"status":
"UNCAPTURED",
-
"voucherUrl":
"string",
-
"tickets":
[
-
{
-
"publicId":
"string",
-
"url":
"string",
-
"type":
"PDF_URL"
}
],
-
"creationTimestamp":
0
}
GET /bookingRetrieve a list of all Bookings.
{
"items": [{
"bookingId": "126890",
"partnerReferenceId": "AX67873DDFSR",
"variantId": "1234",
"startDateTime": "2017-04-12T19:30:00",
"product": {
"id": "2832",
"name": "Aladdin",
"variant": {
"id": "4384",
"name": "Grand Circle"
}
},
"customersDetails": {
"count": 3,
"customers": [{
"personType": "ADULT",
"isPrimary": true,
"inputFields": [{
"id": "EMAIL",
"name": "Name",
"value": "a@b.com"
}]
}]
},
"seatInfo": [
{
"section": "A",
"row": "10",
"seatNumber": "12",
"seatCode": "A-10-12"
}
],
"price": {
"amount": 100,
"currencyCode": "USD"
},
"status": "CAPTURE_TIMEOUT",
"voucherUrl": "https://www.headout.com/voucher/126890?key=AAAD6AAAABhsDVGlVXsL2YDAf65qMsOQAlqJZdsw80eczQCIL6sa5rITsvOjxoD5NwaoBDiwlEY%3D",
"tickets": [
{
"publicId": "9e4d8330-abc7-40f8-951d-19b9e8731dcf",
"url": null,
"type": "QRCODE"
}],
"creationTimestamp": 1491902295
}],
"nextUrl": "https://www.headout.com/api/public/v1/booking?offset=1&limit=1",
"prevUrl": null,
"total": 100,
"nextOffset": 1
}
curl --location 'https://www.headout.com/api/public/v1/booking' \ --header 'Headout-Auth: <YOUR_API_KEY>' \ --header 'Content-Type: application/json'
{
-
"items":
[
-
{
-
"bookingId":
"string",
-
"partnerReferenceId":
"string",
-
"variantId":
"string",
-
"startDateTime":
"2019-08-24T14:15:22Z",
-
"product":
{
-
"id":
"string",
-
"name":
"string",
-
"variant":
{
-
"id":
"string",
-
"name":
"string"
}
},
-
"customersDetails":
{
-
"count":
0,
-
"customers":
[
-
{
-
"personType":
"string",
-
"isPrimary":
true,
-
"inputFields":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"value":
"string"
}
]
}
]
},
-
"seatInfo":
[
-
{
-
"section":
"string",
-
"row":
"string",
-
"seatNumber":
"string",
-
"seatCode":
"string"
}
],
-
"price":
{
-
"amount":
0.1,
-
"currencyCode":
"string"
},
-
"status":
"UNCAPTURED",
-
"voucherUrl":
"string",
-
"tickets":
[
-
{
-
"publicId":
"string",
-
"url":
"string",
-
"type":
"PDF_URL"
}
],
-
"creationTimestamp":
0
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET /booking/{id}Retrieve details of a specific Booking by its ID.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| PATH | id | string | no | The booking id. |
{
"bookingId": "126890",
"partnerReferenceId": "AX67873DDFSR",
"variantId": "1234",
"startDateTime": "2017-04-12T19:30:00",
"product": {
"id": "2832",
"name": "Aladdin",
"variant": {
"id": "4384",
"name": "Grand Circle"
}
},
"customersDetails": {
"count": 3,
"customers": [
{
"personType": "ADULT",
"isPrimary": true,
"inputFields": [
{
"id": "EMAIL",
"name": "Name",
"value": "a@b.com"
}
]
}
]
},
"seatInfo": [
{
"section": "A",
"row": "10",
"seatNumber": "12",
"seatCode": "A-10-12"
}
],
"price": {
"amount": 100,
"currencyCode": "USD"
},
"status": "CAPTURE_TIMEOUT",
"voucherUrl": "https://www.headout.com/voucher/126890?key=AAAD6AAAABhsDVGlVXsL2YDAf65qMsOQAlqJZdsw80eczQCIL6sa5rITsvOjxoD5NwaoBDiwlEY%3D",
"tickets": [
{
"publicId": "9e4d8330-abc7-40f8-951d-19b9e8731dcf",
"url": null,
"type": "QRCODE"
}
],
"creationTimestamp": 1491902295
}
| id
required
|
string
ID of the booking to fetch. |
curl --location 'https://www.headout.com/api/public/v1/booking/<some-booking-id>' \ --header 'Headout-Auth: <YOUR_API_KEY>' \ --header 'Content-Type: application/json'
{
-
"bookingId":
"string",
-
"partnerReferenceId":
"string",
-
"variantId":
"string",
-
"startDateTime":
"2019-08-24T14:15:22Z",
-
"product":
{
-
"id":
"string",
-
"name":
"string",
-
"variant":
{
-
"id":
"string",
-
"name":
"string"
}
},
-
"customersDetails":
{
-
"count":
0,
-
"customers":
[
-
{
-
"personType":
"string",
-
"isPrimary":
true,
-
"inputFields":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"value":
"string"
}
]
}
]
},
-
"seatInfo":
[
-
{
-
"section":
"string",
-
"row":
"string",
-
"seatNumber":
"string",
-
"seatCode":
"string"
}
],
-
"price":
{
-
"amount":
0.1,
-
"currencyCode":
"string"
},
-
"status":
"UNCAPTURED",
-
"voucherUrl":
"string",
-
"tickets":
[
-
{
-
"publicId":
"string",
-
"url":
"string",
-
"type":
"PDF_URL"
}
],
-
"creationTimestamp":
0
}
PUT /booking/{id}Used to modify a booking. Currently this is only used for
capturing the booking and assigning a
partnerReferenceId.
Use this method to capture the booking by specifying the
status as PENDING. The booking will be
fulfilled on our end
only once you capture it.
{
"status": "PENDING",
"partnerReferenceId": "AX67873DDFSR"
}
{
"bookingId": "126890",
"partnerReferenceId": "AX67873DDFSR",
"variantId": "1234",
"startDateTime": "2017-04-12T19:30:00",
"product": {
"id": "2832",
"name": "Aladdin",
"variant": {
"id": "4384",
"name": "Grand Circle"
}
},
"customersDetails": {
"count": 3,
"customers": [
{
"personType": "ADULT",
"isPrimary": true,
"inputFields": [
{
"id": "EMAIL",
"name": "Name",
"value": "a@b.com"
}
]
}
]
},
"seatInfo": [
{
"section": "A",
"row": "10",
"seatNumber": "12",
"seatCode": "A-10-12"
}
],
"price": {
"amount": 100,
"currencyCode": "USD"
},
"status": "PENDING",
"voucherUrl": "https://www.headout.com/voucher/126890?key=AAAD6AAAABhsDVGlVXsL2YDAf65qMsOQAlqJZdsw80eczQCIL6sa5rITsvOjxoD5NwaoBDiwlEY%3D",
"tickets": [
{
"publicId": "9e4d8330-abc7-40f8-951d-19b9e8731dcf",
"url": null,
"type": "QRCODE"
}
],
"creationTimestamp": 1491902295
}
| id
required
|
string
ID of the booking to update. |
| status |
string
Enum: "PENDING"
"UNCAPTURED"
"COMPLETED"
"CANCELLED"
"FAILED"
Updated status of the booking. |
| partnerReferenceId |
string
or null
Updated partner reference ID. |
{
-
"status":
"PENDING",
-
"partnerReferenceId":
"string"
}
{
-
"bookingId":
"string",
-
"partnerReferenceId":
"string",
-
"variantId":
"string",
-
"startDateTime":
"2019-08-24T14:15:22Z",
-
"product":
{
-
"id":
"string",
-
"name":
"string",
-
"variant":
{
-
"id":
"string",
-
"name":
"string"
}
},
-
"customersDetails":
{
-
"count":
0,
-
"customers":
[
-
{
-
"personType":
"string",
-
"isPrimary":
true,
-
"inputFields":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"value":
"string"
}
]
}
]
},
-
"seatInfo":
[
-
{
-
"section":
"string",
-
"row":
"string",
-
"seatNumber":
"string",
-
"seatCode":
"string"
}
],
-
"price":
{
-
"amount":
0.1,
-
"currencyCode":
"string"
},
-
"status":
"UNCAPTURED",
-
"voucherUrl":
"string",
-
"tickets":
[
-
{
-
"publicId":
"string",
-
"url":
"string",
-
"type":
"PDF_URL"
}
],
-
"creationTimestamp":
0
}
Submit a cancellation request for a bookingId owned by your partner account. This validates input and ownership, creates a request log with status SUBMITTED, and enqueues an asynchronous job for downstream processing. The immediate response acknowledges submission and does not represent the final booking outcome.
Base path: /api/public/v2/partner/booking
| bookingId
required
|
string
Booking identifier owned by the calling partner. |
| reason
required
|
string
Enum: "TICKETS_NOT_RECEIVED"
"CHANGE_OF_TRAVEL_PLANS"
"MODIFY_EXISTING_RESERVATION"
"FOUND_CHEAPER_OPTION_ELSEWHERE"
"OTHER"
Cancellation reason. |
| comment |
string
or null
Optional free-text comment |
{
-
"reason":
"CHANGE_OF_TRAVEL_PLANS",
-
"comment":
"string"
}
{
-
"success":
true,
-
"message":
"Cancellation
request submitted
successfully"
}
Submit a reschedule request for a bookingId owned by your partner account. This validates input and ownership, creates a request log with status SUBMITTED, and enqueues an asynchronous job for downstream processing. The immediate response acknowledges submission and does not represent the final booking outcome.
Base path: /api/public/v2/partner/booking
| bookingId
required
|
string
Booking identifier owned by the calling partner. |
| startDateTime
required
|
string
<date-time>
Local date-time values. |
| endDateTime
required
|
string
<date-time>
Local date-time values. |
| comment |
string
or null
Optional free-text comment |
{
-
"startDateTime":
"2025-11-02T09:00:00",
-
"endDateTime":
"2025-11-02T11:00:00",
-
"comment":
"string"
}
{
-
"success":
true,
-
"message":
"Cancellation
request submitted
successfully"
}
GET
/category/list-by/cityRetrieve a list of all categories for a specific city.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| QUERY | cityCode | string | no | The city code. Eg: NEW_YORK,
DUBAI |
| QUERY | offset | string | yes | The offset for pagination. Ref: Pagination - Request Params |
| QUERY | limit | int | yes | The limit for pagination. Ref: Pagination - Request Params |
{
"items": [
{
"id": "123",
"name": "Broadway",
"cityCode": "NEW_YORK",
"canonicalUrl": "https://www.headout.com/category/24/broadway"
}
],
"nextUrl": "https://www.headout.com/api/public/v1/category/list-by/city?cityCode=NEW_YORK,offset=21,limit=20",
"prevUrl": "https://www.headout.com/api/public/v1/category/list-by/city?cityCode=NEW_YORK,offset=0,limit=20",
"total": 100,
"nextOffset": 21
}
| cityCode
required
|
string
City code to list categories for. |
| offset |
string
Number of items to skip before starting to collect the result set. |
| limit |
integer
Maximum number of items to return. |
curl --location 'https://www.headout.com/api/public/v1/category/list-by/city?cityCode=DUBAI' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"items":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET /collectionsThe Partner Collections API v2 provides endpoints for accessing the collections. This API is designed to facilitate partners in fetching relevant data for different cities and languages.
| Parameter | Required / Optional | Description | Default Value |
|---|---|---|---|
cityCode |
Required | The city code to fetch collections for. | |
languageCode |
Optional | Language code. | EN |
offset |
Optional | Offset for pagination. | 0 |
limit |
Optional | Limit for pagination. | 10 |
| Header | Required / Optional | Description |
|---|---|---|
Headout-Auth |
Required | The Authorization Token. |
{
"collections": [
{
"id": "24",
"name": "Broadway",
"cityCode": "NEW_YORK",
"localeSpecificUrls": {
"EN": "/broadway-tickets-c-24/",
"ES": "/es/entradas-espectaculos-de-broadway-c-24/",
"FR": "/fr/billets-comedie-musicale-broadway-c-24/",
"IT": "/it/broadway-biglietti-c-24/",
"DE": "/de/broadway-tickets-c-24/",
"PT": "/pt/broadway-c-24/",
"NL": "/nl/broadway-c-24/"
},
"canonicalUrl": "https://www.headout.com/broadway-tickets-c-24/"
},
{
"id": "161",
"name": "Off Broadway Show Tickets",
"cityCode": "NEW_YORK",
"localeSpecificUrls": {
"EN": "/off-broadway-show-tickets-c-161/",
"ES": "/es/entradas-espectaculos-off-broadway-c-161/",
"FR": "/fr/off-broadway-c-161/",
"IT": "/it/biglietti-per-spettacoli-off-broadway-c-161/",
"DE": "/de/off-broadway-c-161/",
"PT": "/pt/ingressos-para-espetaculos-off-broadway-c-161/",
"NL": "/nl/off-broadway-c-161/"
},
"canonicalUrl": "https://www.headout.com/off-broadway-show-tickets-c-161/"
},
{
"id": "121",
"name": "Statue of Liberty",
"cityCode": "NEW_YORK",
"localeSpecificUrls": {
"EN": "/statue-of-liberty-cruises-c-121/",
"ES": "/es/estatua-de-la-libertad-c-121/",
"FR": "/fr/statue-de-la-liberte-c-121/",
"IT": "/it/statua-della-liberta-c-121/",
"DE": "/de/freiheitsstatue-c-121/",
"PT": "/pt/estatua-da-liberdade-c-121/",
"NL": "/nl/vrijheidsbeeld-c-121/"
},
"canonicalUrl": "https://www.headout.com/statue-of-liberty-cruises-c-121/"
}
],
"nextUrl": null,
"prevUrl": null,
"total": 3,
"nextOffset": null
}
offset and
limit) help in managing large datasets.
| cityCode
required
|
string
The code of the city for which data is being requested. |
| languageCode |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
The language code for localization. Default is 'EN'. |
| offset |
string
The number of items to skip before starting to collect the result set. |
| limit |
integer
The numbers of items to return. |
curl --location 'https://www.headout.com/api/public/v2/collections?cityCode=<CITY_CODE>&languageCode=<LANGUAGE_CODE>&limit=<LIMIT>&offset=<OFFSET>' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"collections":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"canonicalUrl":
"string",
-
"content":
{
-
"description":
"string",
-
"subtext":
"string"
},
-
"heroImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
},
-
"cardImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
}
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET /cityList all the active cities.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| QUERY | offset | string | yes | The offset for pagination. Ref: Pagination - Request Params |
| QUERY | limit | int | yes | The limit for pagination. Ref: Pagination - Request Params |
{
"items": [
{
"code": "NEW_YORK",
"name": "New York",
"image": "https://cdn-imgix.headout.com/cities/new-york/images/mobile/morning.jpg"
}
],
"nextUrl": "https://www.headout.com/api/public/v1/city?offset=21,limit=20",
"prevUrl": "https://www.headout.com/api/public/v1/city?offset=0,limit=20",
"total": 100,
"nextOffset": 21
}
| offset |
string
Number of items to skip before starting to collect the result set. |
| limit |
integer
Maximum number of items to return. |
curl --location 'https://www.headout.com/api/public/v1/city' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"items":
[
-
{
-
"code":
"string",
-
"name":
"string",
-
"image":
{
-
"url":
"string"
}
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET
/inventory/list-by/variantGet the available inventory for a variant.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| QUERY | variantId | string | no | The ID of the variant for which the inventory needs to be fetched. |
| QUERY | startDateTime | string | yes | The start date time from which the inventory needs
to be fetched. If unspecified then the current
timestamp is taken into consideration. Format:
fm-date-time.
Ref: inventory.startDateTime
|
| QUERY | endDateTime | string | yes | The end date time till which the inventory needs
to be fetched. If unspecified then this is taken as
infinity. Format: fm-date-time.
Ref: inventory.startDateTime
|
| QUERY | offset | string | yes | The offset for pagination. Ref: Pagination - Request Params |
| QUERY | limit | int | yes | The limit for pagination. Ref: Pagination - Request Params |
| QUERY | currencyCode | string | yes | The currency in which pricing information will be
returned. Eg: USD, AED.
Ref: https://en.wikipedia.org/wiki/ISO_4217
|
{
"items": [
{
"id": "1212121",
"startDateTime": "2017-03-30T15:30:00",
"endDateTime": "2017-03-30T15:30:00",
"availability": "LIMITED/UNLIMITED/CLOSED",
"remaining": 5,
"pricing": {
"persons": [
{
"type": "ADULT",
"name": "Adult",
"ageFrom": 13,
"ageTo": null,
"price": 100,
"originalPrice": 110
},
{
"type": "CHILD",
"name": "Child",
"ageFrom": 4,
"ageTo": 12,
"price": 50,
"originalPrice": 60
}
],
"groups": [
{
"size": 4,
"price": 100,
"originalPrice": 120
}
]
}
}
],
"nextUrl": "https://www.headout.com/api/public/v1/inventory/list-by/variant?variantId=1234&offset=21&limit=20",
"prevUrl": "https://www.headout.com/api/public/v1/inventory/list-by/variant?variantId=1234&offset=0&limit=20",
"total": 100,
"nextOffset": 21
}
| variantId
required
|
string
ID of the variant to list inventory for. |
| startDateTime |
string
Start date and time for inventory availability. |
| endDateTime |
string
End date and time for inventory availability. |
| offset |
string
Number of items to skip before starting to collect the result set. |
| limit |
integer
Maximum number of items to return. |
| currencyCode |
string
Enum: "EUR"
"GBP"
"AED"
"USD"
"SGD"
"AUD"
"THB"
"INR"
"HKD"
"KRW"
"CAD"
"JPY"
"NZD"
"CHF"
"ZAR"
"MYR"
"BRL"
"RUB"
"SEK"
"IDR"
"ISK"
"MOP"
"CNY"
"TWD"
"MXN"
"EGP"
"QAR"
"SAR"
"DKK"
"AFN"
"ALL"
"AMD"
"ANG"
"AOA"
"ARS"
"AWG"
"AZN"
"BAM"
"BBD"
"BDT"
"BGN"
"BHD"
"BIF"
"BMD"
"BND"
"BOB"
"BSD"
"BTN"
"BWP"
"BYR"
"BZD"
"CDF"
"CLP"
"COP"
"CRC"
"CUC"
"CUP"
"CVE"
"CZK"
"DJF"
"DOP"
"DZD"
"ERN"
"ETB"
"FJD"
"FKP"
"GEL"
"GGP"
"GHS"
"GIP"
"GMD"
"GNF"
"GTQ"
"GYD"
"HNL"
"HRK"
"HTG"
"HUF"
"ILS"
"IMP"
"IQD"
"IRR"
"JEP"
"JMD"
"JOD"
"KES"
"KGS"
"KHR"
"KMF"
"KPW"
"KWD"
"KYD"
"KZT"
"LAK"
"LBP"
"LKR"
"LRD"
"LSL"
"LTL"
"LVL"
"LYD"
"MAD"
"MDL"
"MGA"
"MKD"
"MMK"
"MNT"
"MRO"
"MUR"
"MVR"
"MWK"
"MZN"
"NAD"
"NGN"
"NIO"
"NOK"
"NPR"
"OMR"
"PAB"
"PEN"
"PGK"
"PHP"
"PKR"
"PLN"
"PYG"
"RON"
"RSD"
"RWF"
"SBD"
"SCR"
"SDG"
"SHP"
"SLL"
"SOS"
"SPL"
"SRD"
"SSP"
"STD"
"SVC"
"SYP"
"SZL"
"TJS"
"TMT"
"TND"
"TOP"
"TRY"
"TTD"
"TVD"
"TZS"
"UAH"
"UGX"
"UYU"
"UZS"
"VEF"
"VND"
"VUV"
"WST"
"XAF"
"XCD"
"XDR"
"XOF"
"XPF"
"YER"
"ZMW"
"ZWD"
Currency code for inventory pricing. |
curl --location 'https://www.headout.com/api/public/v1/inventory/list-by/variant?variantId=2671&offset=0&limit=150¤cyCode=AED' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"items":
[
-
{
-
"id":
"string",
-
"startDateTime":
"2019-08-24T14:15:22Z",
-
"endDateTime":
"2019-08-24T14:15:22Z",
-
"availability":
"string",
-
"remaining":
0,
-
"pricing":
{
-
"persons":
[
-
{
-
"type":
"string",
-
"name":
"string",
-
"ageFrom":
0,
-
"ageTo":
0,
-
"price":
0.1,
-
"originalPrice":
0.1
}
],
-
"groups":
[
-
{
-
"size":
0,
-
"price":
0.1,
-
"originalPrice":
0.1
}
]
}
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET
/product/get/{product_id}Gets a product by productId.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| PATH | productId | string | no | Product id |
| QUERY | currencyCode | string | yes | The currency in which pricing information will be
returned. Eg: USD, AED.
Ref: https://en.wikipedia.org/wiki/ISO_4217
|
| QUERY | fetch-variants | boolean | yes (Default: true) | Flag to toggle the option of fetching variants. |
| QUERY | language | string | yes (Default: EN) | The language in which the product details will be
returned. Eg: EN, ES,
FR, IT, DE,
PT, NL, etc. |
{
"id": 512,
"name": "Wicked",
"url": "/broadway-tickets/wicked-e-512/",
"canonicalUrl": "https://www.headout.com/broadway-tickets/wicked-e-512/",
"neighbourhood": "",
"city": {
"name": "New York",
"code": "NEW_YORK"
},
"currency": {
"code": "USD",
"name": "United States Dollar",
"symbol": "US$",
"localSymbol": "$",
"precision": 2
},
"displayTags": [
"Broadway",
"Musical",
"Best of Broadway",
"Entertainment"
],
"images": [
{
"url": "https://cdn-imgix.headout.com/media/images/5276fb91a066165e4069516143ae2ea3-512-new-york-wicked-01.jpg",
"altText": "wicked-1",
"description": "Wicked Newyork",
"credit": "Broadway Inbound, Inc"
}
],
"contentListHtml": [
{
"title": "Summary",
"type": "SUMMARY_HTML",
"html": "<h2>Why Watch Wicked</h2>\n<p>Dive deep into the enchanting world of Oz, presented from a perspective you've never witnessed before. Secure your Wicked Broadway tickets to step into a multi-award-winning phenomenon. With its spellbinding cast, extraordinary crew, and accolades that stretch beyond Broadway's glimmering lights, Wicked is an unmatched theatrical experience. The numerous awards and consistent critical acclaim stand testimony to its brilliance. Don't miss your chance to be swept away by this bewitching tale of friendship, love, and the cost of integrity.</p>\n<h2>The Story</h2>\n<p>Before Dorothy and her famous ruby slippers, there was a profound friendship between two young women, one with emerald green skin. This is their story. Book your Wicked Broadway tickets now and embark on a magical journey that unveils the untold tale of the witches of Oz. Witness the transformation of Elphaba, the future Wicked Witch of the West, and Glinda, the Good Witch. It's a mesmerizing, heart-tugging story filled with songs and emotions that promise to leave an indelible mark on your soul.</p>\n<h2>Great For</h2>\n<p>Fans of Fantasy | Musical Enthusiasts | Night Out with Family</p>"
}
],
"content": [
{
"title": "Summary",
"type": "SUMMARY_HTML",
"html": "<h2>Why Watch Wicked</h2>\n<p>Dive deep into the enchanting world of Oz, presented from a perspective you've never witnessed before. Secure your Wicked Broadway tickets to step into a multi-award-winning phenomenon. With its spellbinding cast, extraordinary crew, and accolades that stretch beyond Broadway's glimmering lights, Wicked is an unmatched theatrical experience. The numerous awards and consistent critical acclaim stand testimony to its brilliance. Don't miss your chance to be swept away by this bewitching tale of friendship, love, and the cost of integrity.</p>\n<h2>The Story</h2>\n<p>Before Dorothy and her famous ruby slippers, there was a profound friendship between two young women, one with emerald green skin. This is their story. Book your Wicked Broadway tickets now and embark on a magical journey that unveils the untold tale of the witches of Oz. Witness the transformation of Elphaba, the future Wicked Witch of the West, and Glinda, the Good Witch. It's a mesmerizing, heart-tugging story filled with songs and emotions that promise to leave an indelible mark on your soul.</p>\n<h2>Great For</h2>\n<p>Fans of Fantasy | Musical Enthusiasts | Night Out with Family</p>"
}
],
"startLocation": {
"geolocation": {
"latitude": 40.762332916259766,
"longitude": -73.98523712158203
},
"address": {
"addressLine1": "Gershwin Theatre",
"addressLine2": "222 West 51 Street",
"cityName": "New York",
"postalCode": "10019",
"state": "New York",
"countryName": "United States"
}
},
"endLocation": {
"geolocation": {
"latitude": 40.762332916259766,
"longitude": -73.98523712158203
},
"address": {
"addressLine1": "Gershwin Theatre",
"addressLine2": "222 West 51 Street",
"cityName": "New York",
"postalCode": "10019",
"state": "New York",
"countryName": "United States"
}
},
"productType": "EVENT",
"ratingCumulative": {
"avg": 4.43,
"count": 1262
},
"hasInstantConfirmation": false,
"hasMobileTicket": false,
"variants": [
{
"id": 647,
"name": "Rear Orchestra/Rear Mezzanine",
"description": "",
"duration": 9900000,
"inventoryType": "FIXED_START_FIXED_DURATION",
"pax": {
"min": 1,
"max": 8
},
"cashback": {
"value": 0.0000,
"type": "PERCENTAGE"
},
"ticketDeliveryInfoHtml": null,
"inputFields": [
{
"oldId": 62,
"id": "NAME",
"name": "Full Name",
"dataType": "STRING",
"validation": {
"regex": "\\s*[^\\s]+\\s+[^\\s]+.*",
"minLength": 3,
"maxLength": 80,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 237880,
"id": "CUSTOM_237880",
"name": "Passport Details",
"description": "Passport ID number",
"dataType": "STRING",
"validation": {
"regex": null,
"minLength": null,
"maxLength": null,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "ALL_CUSTOMER"
},
{
"oldId": 247089,
"id": "CUSTOM_247089",
"name": "Pickup Location",
"description": "Please select your pickup location",
"dataType": "LOCATION",
"validation": {
"regex": null,
"minLength": null,
"maxLength": null,
"minValue": null,
"maxValue": null,
"required": true,
"values": [
{
"id": 292744,
"latitude": 7.79685,
"longitude": 98.311755,
"address": "Rawai, Mueang Phuket District, Phuket 83100, Thailand",
"displayName": "2c Phuket Residence",
"timingConfig": {
"startTime": null,
"endTime": null,
"minPeriod": null,
"maxPeriod": null
},
"note": null
},
{
"id": 292745,
"latitude": 7.880448,
"longitude": 98.39225,
"address": "Phuket, Mueang Phuket District, Phuket 83000, Thailand",
"displayName": "A2 Home",
"timingConfig": {
"startTime": null,
"endTime": null,
"minPeriod": null,
"maxPeriod": null
},
"note": null
}
]
},
"level": "PRIMARY_CUSTOMER"
},
],
"tags": [
"BROADWAY",
"BROADWAY2",
"BROADWAYFORKIDS",
"BROADWAYFORKIDS2",
"BTTFA"
]
}
],
"pricing": {
"type": "PER_PERSON",
"currencyCode": "USD",
"minimumPrice": {
"originalPrice": 96.50,
"finalPrice": 96.50
},
"bestDiscount": 0
}
}
| productId
required
|
string
ID of the product to fetch. |
| currencyCode |
string
Enum: "EUR"
"GBP"
"AED"
"USD"
"SGD"
"AUD"
"THB"
"INR"
"HKD"
"KRW"
"CAD"
"JPY"
"NZD"
"CHF"
"ZAR"
"MYR"
"BRL"
"RUB"
"SEK"
"IDR"
"ISK"
"MOP"
"CNY"
"TWD"
"MXN"
"EGP"
"QAR"
"SAR"
"DKK"
"AFN"
"ALL"
"AMD"
"ANG"
"AOA"
"ARS"
"AWG"
"AZN"
"BAM"
"BBD"
"BDT"
"BGN"
"BHD"
"BIF"
"BMD"
"BND"
"BOB"
"BSD"
"BTN"
"BWP"
"BYR"
"BZD"
"CDF"
"CLP"
"COP"
"CRC"
"CUC"
"CUP"
"CVE"
"CZK"
"DJF"
"DOP"
"DZD"
"ERN"
"ETB"
"FJD"
"FKP"
"GEL"
"GGP"
"GHS"
"GIP"
"GMD"
"GNF"
"GTQ"
"GYD"
"HNL"
"HRK"
"HTG"
"HUF"
"ILS"
"IMP"
"IQD"
"IRR"
"JEP"
"JMD"
"JOD"
"KES"
"KGS"
"KHR"
"KMF"
"KPW"
"KWD"
"KYD"
"KZT"
"LAK"
"LBP"
"LKR"
"LRD"
"LSL"
"LTL"
"LVL"
"LYD"
"MAD"
"MDL"
"MGA"
"MKD"
"MMK"
"MNT"
"MRO"
"MUR"
"MVR"
"MWK"
"MZN"
"NAD"
"NGN"
"NIO"
"NOK"
"NPR"
"OMR"
"PAB"
"PEN"
"PGK"
"PHP"
"PKR"
"PLN"
"PYG"
"RON"
"RSD"
"RWF"
"SBD"
"SCR"
"SDG"
"SHP"
"SLL"
"SOS"
"SPL"
"SRD"
"SSP"
"STD"
"SVC"
"SYP"
"SZL"
"TJS"
"TMT"
"TND"
"TOP"
"TRY"
"TTD"
"TVD"
"TZS"
"UAH"
"UGX"
"UYU"
"UZS"
"VEF"
"VND"
"VUV"
"WST"
"XAF"
"XCD"
"XDR"
"XOF"
"XPF"
"YER"
"ZMW"
"ZWD"
Currency code for product pricing. |
| fetch-variants |
boolean
Flag to fetch product variants. |
| language |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
Example: language=EN
Language code for localization. |
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":
"string",
-
"name":
"string",
-
"canonicalUrl":
"string",
-
"content":
{
-
"highlights":
"string",
-
"shortSummary":
"string",
-
"inclusions":
"string",
-
"exclusions":
"string",
-
"highlightsHtml":
"string",
-
"inclusionsHtml":
"string",
-
"exclusionsHtml":
"string",
-
"summaryHtml":
"string",
-
"faqHtml":
"string"
},
-
"city":
{
-
"code":
"string",
-
"name":
"string",
-
"image":
{
-
"url":
"string"
}
},
-
"media":
[
-
{
-
"url":
"string",
-
"type":
"string"
}
],
-
"startLocation":
{
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"address":
{
-
"address":
"string",
-
"city":
"string",
-
"country":
"string",
-
"postalCode":
"string",
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"productType":
"string",
-
"reviewsSummary":
{
-
"ratingsCount":
0,
-
"averageRating":
0.1
},
-
"listingPrice":
{
-
"type":
"string",
-
"currencyCode":
"string",
-
"minimumPrice":
{
-
"originalPrice":
0.1,
-
"finalPrice":
0.1
},
-
"bestDiscount":
0.1
},
-
"currency":
{
-
"code":
"EUR",
-
"currencyName":
"string",
-
"symbol":
"string",
-
"localSymbol":
"string",
-
"precision":
0
},
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"hasInstantConfirmation":
true,
-
"hasMobileTicket":
true,
-
"primaryCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primarySubCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"categoryId":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primaryCollection":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"canonicalUrl":
"string",
-
"content":
{
-
"description":
"string",
-
"subtext":
"string"
},
-
"heroImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
},
-
"cardImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
}
},
-
"variants":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"duration":
0,
-
"inventoryType":
"string",
-
"pax":
{
-
"min":
0,
-
"max":
0
},
-
"cashback":
{
-
"value":
0.1,
-
"type":
"string"
},
-
"properties":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"propertiesV2":
{
-
"property1":
[
-
"string"
],
-
"property2":
[
-
"string"
]
},
-
"ticketDeliveryInfoHtml":
"string",
-
"cutoffTimeInMinutes":
0,
-
"contentsHtml":
"string",
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpTo":
0
},
-
"meetingPointInfo":
{
-
"latitude":
"string",
-
"longitude":
"string",
-
"address":
"string"
},
-
"inputFields":
[
-
{
-
"oldId":
0,
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"dataType":
"string",
-
"validation":
{
-
"regex":
"string",
-
"minLength":
0,
-
"maxLength":
0,
-
"minValue":
0,
-
"maxValue":
0,
-
"required":
true,
-
"values":
[
-
"string"
]
},
-
"level":
"string"
}
],
-
"tags":
[
-
"string"
]
}
],
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpToInMinutes":
0
},
-
"reschedulePolicy":
{
-
"reschedulable":
true,
-
"reschedulableUpToInMinutes":
0
},
-
"pois":
[
-
{
-
"name":
"string",
-
"operatingSchedules":
[
-
{
-
"startDate":
"2019-08-24",
-
"endDate":
"2019-08-24",
-
"scheduleName":
"string",
-
"operatingDaySchedules":
[
-
{
-
"dayOfWeek":
"string",
-
"openingTime":
"string",
-
"closingTime":
"string",
-
"lastEntryTime":
"string",
-
"closed":
true
}
]
}
],
-
"holidays":
[
-
"2019-08-24"
],
-
"freeEntryDays":
[
-
"2019-08-24"
]
}
],
-
"cutoffTimeInMinutes":
0,
-
"inventorySelectionType":
"string"
}
/product/listing/list-by/cityList product listing using city.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| QUERY | cityCode | string | no | The city code. Eg: NEW_YORK,
DUBAI |
| QUERY | currencyCode | string | yes | The currency in which pricing information will be
returned. Eg: USD, AED.
Ref: https://en.wikipedia.org/wiki/ISO_4217
|
| QUERY | language | string | yes (Default: EN) | The language in which the product details will be
returned. Eg: EN, ES,
FR, IT, DE,
PT, NL |
| QUERY | offset | string | yes | The offset for pagination. Ref: Pagination - Request Params |
| QUERY | limit | int | yes | The limit for pagination. Ref: Pagination - Request Params |
{
"items": [
{
"id": "2844",
"name": "Fast Track Tickets to the London Eye",
"url": "/london-eye-tickets/fast-track-tickets-to-the-london-eye-e-2844/",
"canonicalUrl": "https://www.headout.com/london-eye-tickets/fast-track-tickets-to-the-london-eye-e-2844/",
"city": {
"name": "London",
"code": "LONDON"
},
"image": {
"url": "https://cdn-imgix.headout.com/tour/4407/TOUR-IMAGE/12d3a2c5-a39e-4f0f-9724-dcd63f5429cb-2844-london-london-eye--fast-track-entry-tickets-04.jpg"
},
"neighbourhood": null,
"primaryCategory": {
"id": 279,
"name": "London Eye Tickets",
"cityCode": "LONDON",
"url": "/category/279"
},
"currency": {
"code": "USD",
"currencyName": "United States Dollar",
"symbol": "US$",
"localSymbol": "$",
"precision": 2,
"currency": "USD"
},
"startGeolocation": {
"latitude": 51.50345230102539,
"longitude": -0.119518555700779
},
"ratingCumulative": {
"avg": 4.47,
"count": 3398
},
"pricing": {
"type": "PER_PERSON",
"currencyCode": "USD",
"minimumPrice": {
"originalPrice": 58.4,
"finalPrice": 58.4
},
"bestDiscount": 0
},
"hasInstantConfirmation": true
}
],
"nextUrl": "https://www.headout.com/api/v1/product/listing/list-by/city?cityCode=LONDON¤cyCode=USD&language=EN&offset=11&limit=1",
"prevUrl": "https://www.headout.com/api/v1/product/listing/list-by/city?cityCode=LONDON¤cyCode=USD&language=EN&offset=9&limit=1",
"total": 224,
"nextOffset": 11
}
| cityCode
required
|
string
City code to list product listings for. |
| currencyCode |
string
Enum: "EUR"
"GBP"
"AED"
"USD"
"SGD"
"AUD"
"THB"
"INR"
"HKD"
"KRW"
"CAD"
"JPY"
"NZD"
"CHF"
"ZAR"
"MYR"
"BRL"
"RUB"
"SEK"
"IDR"
"ISK"
"MOP"
"CNY"
"TWD"
"MXN"
"EGP"
"QAR"
"SAR"
"DKK"
"AFN"
"ALL"
"AMD"
"ANG"
"AOA"
"ARS"
"AWG"
"AZN"
"BAM"
"BBD"
"BDT"
"BGN"
"BHD"
"BIF"
"BMD"
"BND"
"BOB"
"BSD"
"BTN"
"BWP"
"BYR"
"BZD"
"CDF"
"CLP"
"COP"
"CRC"
"CUC"
"CUP"
"CVE"
"CZK"
"DJF"
"DOP"
"DZD"
"ERN"
"ETB"
"FJD"
"FKP"
"GEL"
"GGP"
"GHS"
"GIP"
"GMD"
"GNF"
"GTQ"
"GYD"
"HNL"
"HRK"
"HTG"
"HUF"
"ILS"
"IMP"
"IQD"
"IRR"
"JEP"
"JMD"
"JOD"
"KES"
"KGS"
"KHR"
"KMF"
"KPW"
"KWD"
"KYD"
"KZT"
"LAK"
"LBP"
"LKR"
"LRD"
"LSL"
"LTL"
"LVL"
"LYD"
"MAD"
"MDL"
"MGA"
"MKD"
"MMK"
"MNT"
"MRO"
"MUR"
"MVR"
"MWK"
"MZN"
"NAD"
"NGN"
"NIO"
"NOK"
"NPR"
"OMR"
"PAB"
"PEN"
"PGK"
"PHP"
"PKR"
"PLN"
"PYG"
"RON"
"RSD"
"RWF"
"SBD"
"SCR"
"SDG"
"SHP"
"SLL"
"SOS"
"SPL"
"SRD"
"SSP"
"STD"
"SVC"
"SYP"
"SZL"
"TJS"
"TMT"
"TND"
"TOP"
"TRY"
"TTD"
"TVD"
"TZS"
"UAH"
"UGX"
"UYU"
"UZS"
"VEF"
"VND"
"VUV"
"WST"
"XAF"
"XCD"
"XDR"
"XOF"
"XPF"
"YER"
"ZMW"
"ZWD"
Currency code for product pricing. |
| language |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
Example: language=EN
Language code for localization. |
| offset |
string
Number of items to skip before starting to collect the result set. |
| limit |
integer
Maximum number of items to return. |
curl --location 'https://www.headout.com/api/v1/product/listing/list-by/city?cityCode=LONDON¤cyCode=CAD&language=FR&limit=10&offset=10' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"items":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"canonicalUrl":
"string",
-
"content":
{
-
"highlights":
"string",
-
"shortSummary":
"string",
-
"inclusions":
"string",
-
"exclusions":
"string",
-
"highlightsHtml":
"string",
-
"inclusionsHtml":
"string",
-
"exclusionsHtml":
"string",
-
"summaryHtml":
"string",
-
"faqHtml":
"string"
},
-
"city":
{
-
"code":
"string",
-
"name":
"string",
-
"image":
{
-
"url":
"string"
}
},
-
"media":
[
-
{
-
"url":
"string",
-
"type":
"string"
}
],
-
"startLocation":
{
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"address":
{
-
"address":
"string",
-
"city":
"string",
-
"country":
"string",
-
"postalCode":
"string",
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"productType":
"string",
-
"reviewsSummary":
{
-
"ratingsCount":
0,
-
"averageRating":
0.1
},
-
"listingPrice":
{
-
"type":
"string",
-
"currencyCode":
"string",
-
"minimumPrice":
{
-
"originalPrice":
0.1,
-
"finalPrice":
0.1
},
-
"bestDiscount":
0.1
},
-
"currency":
{
-
"code":
"EUR",
-
"currencyName":
"string",
-
"symbol":
"string",
-
"localSymbol":
"string",
-
"precision":
0
},
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"hasInstantConfirmation":
true,
-
"hasMobileTicket":
true,
-
"primaryCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primarySubCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"categoryId":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primaryCollection":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"canonicalUrl":
"string",
-
"content":
{
-
"description":
"string",
-
"subtext":
"string"
},
-
"heroImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
},
-
"cardImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
}
},
-
"variants":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"duration":
0,
-
"inventoryType":
"string",
-
"pax":
{
-
"min":
0,
-
"max":
0
},
-
"cashback":
{
-
"value":
0.1,
-
"type":
"string"
},
-
"properties":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"propertiesV2":
{
-
"property1":
[
-
"string"
],
-
"property2":
[
-
"string"
]
},
-
"ticketDeliveryInfoHtml":
"string",
-
"cutoffTimeInMinutes":
0,
-
"contentsHtml":
"string",
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpTo":
0
},
-
"meetingPointInfo":
{
-
"latitude":
"string",
-
"longitude":
"string",
-
"address":
"string"
},
-
"inputFields":
[
-
{
-
"oldId":
0,
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"dataType":
"string",
-
"validation":
{
-
"regex":
"string",
-
"minLength":
0,
-
"maxLength":
0,
-
"minValue":
0,
-
"maxValue":
0,
-
"required":
true,
-
"values":
[
-
"string"
]
},
-
"level":
"string"
}
],
-
"tags":
[
-
"string"
]
}
],
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpToInMinutes":
0
},
-
"reschedulePolicy":
{
-
"reschedulable":
true,
-
"reschedulableUpToInMinutes":
0
},
-
"pois":
[
-
{
-
"name":
"string",
-
"operatingSchedules":
[
-
{
-
"startDate":
"2019-08-24",
-
"endDate":
"2019-08-24",
-
"scheduleName":
"string",
-
"operatingDaySchedules":
[
-
{
-
"dayOfWeek":
"string",
-
"openingTime":
"string",
-
"closingTime":
"string",
-
"lastEntryTime":
"string",
-
"closed":
true
}
]
}
],
-
"holidays":
[
-
"2019-08-24"
],
-
"freeEntryDays":
[
-
"2019-08-24"
]
}
],
-
"cutoffTimeInMinutes":
0,
-
"inventorySelectionType":
"string"
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET
/product/listing/list-by/categoryList product listing using category.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| QUERY | categoryId | string | no | The id of the category. |
| QUERY | language | string | yes (Default: EN) | The language in which the product details will be
returned. Eg: EN, ES,
FR, IT, DE,
PT, NL |
| QUERY | currencyCode | string | yes | The currency in which pricing information will be
returned. Eg: USD, AED.
Ref: https://en.wikipedia.org/wiki/ISO_4217
|
| QUERY | limit | int | yes | The limit for pagination. Ref: Pagination - Request Params |
| QUERY | offset | string | yes | The offset for pagination. Ref: Pagination - Request Params |
{
"items": [
{
"id": "11228",
"name": "Tickets to Khao Kheow Open Zoo",
"url": "/es/khao-kheow-open-zoo/khao-kheow-open-zoo-e-11228/",
"canonicalUrl": "https://www.headout.com/es/khao-kheow-open-zoo/khao-kheow-open-zoo-e-11228/",
"city": {
"name": "Pattaya",
"code": "PATTAYA"
},
"image": {
"url": "https://cdn-imgix.headout.com/tour/21259/TOUR-IMAGE/4dd55cf1-4beb-45ad-aa50-7d6b8b58ca39-11228-pattaya-khao-kheow-open-zoo-01.jpg"
},
"neighbourhood": null,
"primaryCategory": {
"id": 4842,
"name": "Khao Kheow Open Zoo",
"cityCode": "PATTAYA",
"url": "/category/4842"
},
"currency": {
"code": "EUR",
"currencyName": "Euro",
"symbol": "EUR",
"localSymbol": "€",
"precision": 2,
"currency": "EUR"
},
"startGeolocation": {
"latitude": 13.214982986450195,
"longitude": 101.05597686767578
},
"ratingCumulative": {
"avg": 4.44,
"count": 2023
},
"pricing": {
"type": "PER_PERSON",
"currencyCode": "EUR",
"minimumPrice": {
"originalPrice": 6.51,
"finalPrice": 5.73
},
"bestDiscount": 12
},
"hasInstantConfirmation": true
}
],
"nextUrl": "https://www.headout.com/api/v1/product/listing/list-by/category?categoryId=3956&language=ES¤cyCode=EUR&offset=11&limit=1",
"prevUrl": "https://www.headout.com/api/v1/product/listing/list-by/category?categoryId=3956&language=ES¤cyCode=EUR&offset=9&limit=1",
"total": 25,
"nextOffset": 11
}
| categoryId
required
|
string
Category ID to list product listings for. |
| language |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
Example: language=EN
Language code for localization. |
| currencyCode |
string
Enum: "EUR"
"GBP"
"AED"
"USD"
"SGD"
"AUD"
"THB"
"INR"
"HKD"
"KRW"
"CAD"
"JPY"
"NZD"
"CHF"
"ZAR"
"MYR"
"BRL"
"RUB"
"SEK"
"IDR"
"ISK"
"MOP"
"CNY"
"TWD"
"MXN"
"EGP"
"QAR"
"SAR"
"DKK"
"AFN"
"ALL"
"AMD"
"ANG"
"AOA"
"ARS"
"AWG"
"AZN"
"BAM"
"BBD"
"BDT"
"BGN"
"BHD"
"BIF"
"BMD"
"BND"
"BOB"
"BSD"
"BTN"
"BWP"
"BYR"
"BZD"
"CDF"
"CLP"
"COP"
"CRC"
"CUC"
"CUP"
"CVE"
"CZK"
"DJF"
"DOP"
"DZD"
"ERN"
"ETB"
"FJD"
"FKP"
"GEL"
"GGP"
"GHS"
"GIP"
"GMD"
"GNF"
"GTQ"
"GYD"
"HNL"
"HRK"
"HTG"
"HUF"
"ILS"
"IMP"
"IQD"
"IRR"
"JEP"
"JMD"
"JOD"
"KES"
"KGS"
"KHR"
"KMF"
"KPW"
"KWD"
"KYD"
"KZT"
"LAK"
"LBP"
"LKR"
"LRD"
"LSL"
"LTL"
"LVL"
"LYD"
"MAD"
"MDL"
"MGA"
"MKD"
"MMK"
"MNT"
"MRO"
"MUR"
"MVR"
"MWK"
"MZN"
"NAD"
"NGN"
"NIO"
"NOK"
"NPR"
"OMR"
"PAB"
"PEN"
"PGK"
"PHP"
"PKR"
"PLN"
"PYG"
"RON"
"RSD"
"RWF"
"SBD"
"SCR"
"SDG"
"SHP"
"SLL"
"SOS"
"SPL"
"SRD"
"SSP"
"STD"
"SVC"
"SYP"
"SZL"
"TJS"
"TMT"
"TND"
"TOP"
"TRY"
"TTD"
"TVD"
"TZS"
"UAH"
"UGX"
"UYU"
"UZS"
"VEF"
"VND"
"VUV"
"WST"
"XAF"
"XCD"
"XDR"
"XOF"
"XPF"
"YER"
"ZMW"
"ZWD"
Currency code for product pricing. |
| offset |
string
Number of items to skip before starting to collect the result set. |
| limit |
integer
Maximum number of items to return. |
curl --location 'https://www.headout.com/api/v1/product/listing/list-by/category?categoryId=3956&language=ES¤cyCode=EUR&limit=20&offset=10' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"items":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"canonicalUrl":
"string",
-
"content":
{
-
"highlights":
"string",
-
"shortSummary":
"string",
-
"inclusions":
"string",
-
"exclusions":
"string",
-
"highlightsHtml":
"string",
-
"inclusionsHtml":
"string",
-
"exclusionsHtml":
"string",
-
"summaryHtml":
"string",
-
"faqHtml":
"string"
},
-
"city":
{
-
"code":
"string",
-
"name":
"string",
-
"image":
{
-
"url":
"string"
}
},
-
"media":
[
-
{
-
"url":
"string",
-
"type":
"string"
}
],
-
"startLocation":
{
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"address":
{
-
"address":
"string",
-
"city":
"string",
-
"country":
"string",
-
"postalCode":
"string",
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"productType":
"string",
-
"reviewsSummary":
{
-
"ratingsCount":
0,
-
"averageRating":
0.1
},
-
"listingPrice":
{
-
"type":
"string",
-
"currencyCode":
"string",
-
"minimumPrice":
{
-
"originalPrice":
0.1,
-
"finalPrice":
0.1
},
-
"bestDiscount":
0.1
},
-
"currency":
{
-
"code":
"EUR",
-
"currencyName":
"string",
-
"symbol":
"string",
-
"localSymbol":
"string",
-
"precision":
0
},
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"hasInstantConfirmation":
true,
-
"hasMobileTicket":
true,
-
"primaryCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primarySubCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"categoryId":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primaryCollection":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"canonicalUrl":
"string",
-
"content":
{
-
"description":
"string",
-
"subtext":
"string"
},
-
"heroImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
},
-
"cardImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
}
},
-
"variants":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"duration":
0,
-
"inventoryType":
"string",
-
"pax":
{
-
"min":
0,
-
"max":
0
},
-
"cashback":
{
-
"value":
0.1,
-
"type":
"string"
},
-
"properties":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"propertiesV2":
{
-
"property1":
[
-
"string"
],
-
"property2":
[
-
"string"
]
},
-
"ticketDeliveryInfoHtml":
"string",
-
"cutoffTimeInMinutes":
0,
-
"contentsHtml":
"string",
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpTo":
0
},
-
"meetingPointInfo":
{
-
"latitude":
"string",
-
"longitude":
"string",
-
"address":
"string"
},
-
"inputFields":
[
-
{
-
"oldId":
0,
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"dataType":
"string",
-
"validation":
{
-
"regex":
"string",
-
"minLength":
0,
-
"maxLength":
0,
-
"minValue":
0,
-
"maxValue":
0,
-
"required":
true,
-
"values":
[
-
"string"
]
},
-
"level":
"string"
}
],
-
"tags":
[
-
"string"
]
}
],
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpToInMinutes":
0
},
-
"reschedulePolicy":
{
-
"reschedulable":
true,
-
"reschedulableUpToInMinutes":
0
},
-
"pois":
[
-
{
-
"name":
"string",
-
"operatingSchedules":
[
-
{
-
"startDate":
"2019-08-24",
-
"endDate":
"2019-08-24",
-
"scheduleName":
"string",
-
"operatingDaySchedules":
[
-
{
-
"dayOfWeek":
"string",
-
"openingTime":
"string",
-
"closingTime":
"string",
-
"lastEntryTime":
"string",
-
"closed":
true
}
]
}
],
-
"holidays":
[
-
"2019-08-24"
],
-
"freeEntryDays":
[
-
"2019-08-24"
]
}
],
-
"cutoffTimeInMinutes":
0,
-
"inventorySelectionType":
"string"
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET /productsThe Partner Products API v2 provides endpoints for accessing the products. This API is designed to facilitate partners in fetching relevant product information for different cities and languages.
| Parameter | Required / Optional | Description | Default Value |
|---|---|---|---|
cityCode |
Required | The city code to fetch products for. | |
collectionId |
Optional | Collection ID to filter products. | |
categoryId |
Optional | Category ID to filter products. | |
subCategoryId |
Optional | Subcategory ID to filter products. | |
languageCode |
Optional | Language code. | EN |
currencyCode |
Optional | Currency code. | |
campaignName |
Optional | Campaign name for filtering. | |
offset |
Optional | Offset for pagination. | 0 |
limit |
Optional | Limit for pagination. | 20 |
| Header | Required / Optional | Description |
|---|---|---|
Headout-Auth |
Required | The Authorization Token. |
{
"products": [
{
"id": "19513",
"name": "Edge Observation Deck Tickets",
"canonicalUrl": "https://www.headout.com/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/?affiliate_code=n5cprT&utm_medium=affiliate&utm_source=",
"city": {
"code": "NEW_YORK",
"name": "New York",
"image": {
"url": "//cdn-imgix.headout.com/media/images/ee075882083344be170ed38c8c76b4a1-new-york-city-01.jpeg"
}
},
"media": [
{
"url": "https://cdn-imgix.headout.com/media/images/7dff2143faf0c49109d1aeca8a7dcd9f-19513-new-york-edge-observation-deck-adimssion-tickets--09.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/13457e49907d62d8240ed934d0c3ee4e-19513-TicketstoEdgeObservationDeck---002.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/649480a68651bab273b313916235160e-19513-TicketstoEdgeObservationDeck---003.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/4ef5529db833ea7a1798d495cee3ccb0-19513-TicketstoEdgeObservationDeck---004.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/cb2d4b053a719b3cf6c74459795258f4-19513-TicketstoEdgeObservationDeck---005.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/4b621678552897b11e5632d62be8160c-19513-new-york-edge-observation-deck-adimssion-tickets--07.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/94dc11b01eb6040267b2d3ac96444d55-19513-new-york-edge-observation-deck-adimssion-tickets--06.jpg",
"type": "IMAGE"
}
],
"startLocation": {
"latitude": 40.75412368774414,
"longitude": -74.0009765625
},
"productType": "ATTRACTION",
"reviewsSummary": {
"ratingsCount": 2763,
"averageRating": 4.03
},
"listingPrice": {
"type": "PER_PERSON",
"currencyCode": "USD",
"minimumPrice": {
"originalPrice": 41.00,
"finalPrice": 41.00
},
"bestDiscount": 0
},
"currency": {
"code": "USD",
"currencyName": "United States Dollar",
"symbol": "US$",
"localSymbol": "$",
"precision": 2,
"currency": "USD"
},
"localeSpecificUrls": {
"EN": "/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/",
"ES": "/es/edge-nyc/entradas-a-la-plataforma-de-observacion-edge-e-19513/",
"FR": "/fr/edge-nyc/billets-pour-le-pont-dobservation-edge-e-19513/",
"IT": "/it/edge-nyc/biglietti-per-il-ponte-di-osservazione-di-edge-30-hudson-yards-e-19513/",
"DE": "/de/rand-nyc/tickets-fur-die-aussichtsplattform-the-edge-e-19513/",
"PT": "/pt/borda-nyc/ingressos-para-o-edge-observation-deck-e-19513/",
"NL": "/nl/rand-nyc/tickets-voor-edge-observation-deck-e-19513/"
},
"hasInstantConfirmation": true,
"hasMobileTicket": true,
"primaryCategory": {
"id": "1",
"name": "Tickets",
"localeSpecificUrls": {
"EN": "/tickets-new_york-ca-1~21553/",
"ES": "/es/entradas-new_york-ca-1~21553/",
"FR": "/fr/billets-new_york-ca-1~21553/",
"IT": "/it/biglietti-new_york-ca-1~21553/",
"DE": "/de/tickets-new_york-ca-1~21553/",
"PT": "/pt/ingressos-new_york-ca-1~21553/",
"NL": "/nl/tickets-new_york-ca-1~21553/"
},
"canonicalUrl": "https://www.headout.com/tickets-new_york-ca-1~21553/"
},
"primarySubCategory": {
"id": "1007",
"name": "Landmarks",
"categoryId": "1",
"canonicalUrl": "https://www.headout.com/landmarks-new_york-sc-1007~21553/",
"localeSpecificUrls": {
"EN": "/landmarks-new_york-sc-1007~21553/",
"ES": "/es/principales-atracciones-new_york-sc-1007~21553/",
"FR": "/fr/monuments-new_york-sc-1007~21553/",
"IT": "/it/punti-di-interesse-new_york-sc-1007~21553/",
"DE": "/de/wahrzeichen-new_york-sc-1007~21553/",
"PT": "/pt/marcos-historicos-new_york-sc-1007~21553/",
"NL": "/nl/bezienswaardigheden-new_york-sc-1007~21553/"
}
},
"primaryCollection": {
"id": "4012",
"name": "Edge NYC",
"cityCode": "NEW_YORK",
"localeSpecificUrls": {},
"canonicalUrl": "https://www.headout.com/edge-observation-deck-tickets-c-4012/"
},
"cancellationPolicy": {
"cancellable": false,
"cancellableUpToInMinutes": null
},
"reschedulePolicy": {
"reschedulable": false,
"reschedulableUpToInMinutes": null
}
},
{
"id": "593",
"name": "Empire State Building Observatory Skip-the-Line Tickets",
"canonicalUrl": "https://www.headout.com/empire-state-building-tickets/empire-state-building-observatory-tickets-e-593/?affiliate_code=n5cprT&utm_medium=affiliate&utm_source=",
"city": {
"code": "NEW_YORK",
"name": "New York",
"image": {
"url": "//cdn-imgix.headout.com/media/images/ee075882083344be170ed38c8c76b4a1-new-york-city-01.jpeg"
}
},
"media": [
{
"url": "https://cdn-imgix.headout.com/media/images/e783f141025783e733cf2e6f80d745ba-593-new-york-empire-state-building-observatory-tickets-11.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/9622bde2-0000-408f-b3f2-1d8938367795-593-new-york-empire-state-building-observatory-tickets-06.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/43205213-a763-4533-a23a-d544b4148b17-593-new-york-empire-state-building-observatory-tickets-09.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/94b5164c-1ebc-4bf1-aaa1-7df77868daa8-593-new-york-empire-state-building-observatory-tickets-08.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/5dbcd7d1-108d-42cb-b408-c2619a99f005-593-new-york-empire-state-building-observatory-tickets-07.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/ee824c63-5a83-4f2f-a122-9abec55543bb-593-new-york-empire-state-building-observatory-tickets-04.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/68e4067d-1135-497c-99c8-47b1e6d3af64-593-new-york-empire-state-building-observatory-tickets-03.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/ab7aabf3-994f-4a01-92cf-bf57553e4c53-593-new-york-empire-state-building-observatory-tickets-01.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/tour/724/TOUR-IMAGE/0d5d7d1c-7d6f-4d31-9bc0-14a24ee22f74-593-new-york-empire-state-building-observatory-tickets-02.jpg",
"type": "IMAGE"
}
],
"startLocation": {
"latitude": 40.74843978881836,
"longitude": -73.98566436767578
},
"productType": "ATTRACTION",
"reviewsSummary": {
"ratingsCount": 3873,
"averageRating": 4.31
},
"listingPrice": {
"type": "PER_PERSON",
"currencyCode": "USD",
"minimumPrice": {
"originalPrice": 43.98,
"finalPrice": 43.98
},
"bestDiscount": 0
},
"currency": {
"code": "USD",
"currencyName": "United States Dollar",
"symbol": "US$",
"localSymbol": "$",
"precision": 2,
"currency": "USD"
},
"localeSpecificUrls": {
"EN": "/empire-state-building-tickets/empire-state-building-observatory-tickets-e-593/",
"ES": "/es/entradas-empire-state-building/entradas-al-empire-state-building-e-593/",
"FR": "/fr/empire-state-building/billets-pour-lobservatoire-de-lempire-state-building-e-593/",
"IT": "/it/biglietti-empire-state-building/biglietti-regolari-e-salta-la-coda-per-empire-state-building-e-593/",
"DE": "/de/buchen-sie-empire-state-building-tickets-skip-the-line-zugang/empire-state-building-tickets-fur-die-aussichtsplattform-e-593/",
"PT": "/pt/ingressos-empire-state-building/ingressos-observatorio-empire-state-building-e-593/",
"NL": "/nl/boek-tickets-voor-het-empire-state-building-toegang-tot-de-wachtrij/empire-state-building-observatory-skip-the-line-tickets-e-593/"
},
"hasInstantConfirmation": true,
"hasMobileTicket": true,
"primaryCategory": {
"id": "1",
"name": "Tickets",
"localeSpecificUrls": {
"EN": "/tickets-new_york-ca-1~21553/",
"ES": "/es/entradas-new_york-ca-1~21553/",
"FR": "/fr/billets-new_york-ca-1~21553/",
"IT": "/it/biglietti-new_york-ca-1~21553/",
"DE": "/de/tickets-new_york-ca-1~21553/",
"PT": "/pt/ingressos-new_york-ca-1~21553/",
"NL": "/nl/tickets-new_york-ca-1~21553/"
},
"canonicalUrl": "https://www.headout.com/tickets-new_york-ca-1~21553/"
},
"primarySubCategory": {
"id": "1007",
"name": "Landmarks",
"categoryId": "1",
"canonicalUrl": "https://www.headout.com/landmarks-new_york-sc-1007~21553/",
"localeSpecificUrls": {
"EN": "/landmarks-new_york-sc-1007~21553/",
"ES": "/es/principales-atracciones-new_york-sc-1007~21553/",
"FR": "/fr/monuments-new_york-sc-1007~21553/",
"IT": "/it/punti-di-interesse-new_york-sc-1007~21553/",
"DE": "/de/wahrzeichen-new_york-sc-1007~21553/",
"PT": "/pt/marcos-historicos-new_york-sc-1007~21553/",
"NL": "/nl/bezienswaardigheden-new_york-sc-1007~21553/"
}
},
"primaryCollection": {
"id": "234",
"name": "Empire State Building",
"cityCode": "NEW_YORK",
"localeSpecificUrls": {},
"canonicalUrl": "https://www.headout.com/empire-state-building-tickets-c-234/"
},
"cancellationPolicy": {
"cancellable": true,
"cancellableUpToInMinutes": 1440
},
"reschedulePolicy": {
"reschedulable": false,
"reschedulableUpToInMinutes": null
}
},
{
"id": "16722",
"name": "SUMMIT One Vanderbilt Tickets",
"canonicalUrl": "https://www.headout.com/summit-one-vanderbilt/summit-one-vanderbilt-summit-experience-tickets-e-16722/?affiliate_code=n5cprT&utm_medium=affiliate&utm_source=",
"city": {
"code": "NEW_YORK",
"name": "New York",
"image": {
"url": "//cdn-imgix.headout.com/media/images/ee075882083344be170ed38c8c76b4a1-new-york-city-01.jpeg"
}
},
"media": [
{
"url": "https://cdn-imgix.headout.com/media/images/d8105cea5ffac3d7b626719b57856d96-16722Vanderbilt-0000s-0018-SUMMITOVAffinityDaytimeFather-DaughterCloseUp.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/e0f42ed5b1c6163fff9afb92b2a2b579-16722Vanderbilt-0000s-0016-SUMMITOneVanderbiltAffinity2.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/ae9ec1e1323fde409b4feea088fad2d6-16722Vanderbilt-0000s-0005-SUMMITOneVanderbiltUnity.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/0d0e3e2c66b6b7f4de9a3f9c5043627b-16722Vanderbilt-0000s-0009-SUMMITOVReflect.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/ea537004c0390a31240213121ae73e2b-16722Vanderbilt-0000s-0006-SUMMITOneVanderbiltAerialCloseUp.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/2cbc6ad100ede58f651bd25212d428d8-16722Vanderbilt-0000s-0003-SUMMITOVApre-sTerraceBar.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/b9e3d346f2089a1b4b738fc504555f46-16722Vanderbilt-0000s-0004-SUMMITOVApre-sCafe-SouthView.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/78f0895523e615963d3c5f297f833359-16722Vanderbilt-0000s-0012-SUMMITOneVanderbiltTranscendenceLounging.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/2868ac656026e65fe63573ff0fadbc52-16722Vanderbilt-0000s-0021-Transcendence-Sunset.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/4dcf25c322347255fe64e5d19bd00ca8-16722Vanderbilt-0000s-0011-SUMMITOneVanderbiltTranscendencePortal.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/97a3d307e00ddfa34ec8bbdca2130c24-16722Vanderbilt-0000s-0013-SUMMITOneVanderbiltTranscendenceatNight.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/15389840d6fd3520417f100458098c27-16722Vanderbilt-0000s-0015-SUMMITOneVanderbiltatNight3.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/9b0e785ceff45ece83c1dcc817f36c4d-16722Vanderbilt-0000s-0000-OneVanderbiltAerialatSunset.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/e4c991ee65e4ef7390082a32b9c4e9d4-16722Vanderbilt-0000s-0010-OneVanderbiltatNight.jpg",
"type": "IMAGE"
}
],
"startLocation": {
"latitude": 40.75276565551758,
"longitude": -73.97874450683594
},
"productType": "TOUR",
"reviewsSummary": {
"ratingsCount": 2246,
"averageRating": 4.45
},
"listingPrice": {
"type": "PER_PERSON",
"currencyCode": "USD",
"minimumPrice": {
"originalPrice": 42.00,
"finalPrice": 42.00
},
"bestDiscount": 0
},
"currency": {
"code": "USD",
"currencyName": "United States Dollar",
"symbol": "US$",
"localSymbol": "$",
"precision": 2,
"currency": "USD"
},
"localeSpecificUrls": {
"EN": "/summit-one-vanderbilt/summit-one-vanderbilt-summit-experience-tickets-e-16722/",
"ES": "/es/entradas-para-summit-one-vanderbilt-nueva-york-headout/entradas-summit-one-vanderbilt-e-16722/",
"FR": "/fr/billets-pour-le-summit-one-vanderbilt-new-york-headout/billets-pour-le-summit-one-vanderbilt-e-16722/",
"IT": "/it/biglietti-per-summit-one-vanderbilt-new-york-uscita-di-testa/biglietti-per-summit-one-vanderbilt-e-16722/",
"DE": "/de/summit-one-vanderbilt-tickets-new-york-headout/summit-one-vanderbilt-tickets-e-16722/",
"PT": "/pt/ingressos-summit-one-vanderbilt-nova-york-headout/ingressos-para-summit-one-vanderbilt-e-16722/",
"NL": "/nl/tickets-voor-summit-one-vanderbilt-new-york/tickets-voor-summit-one-vanderbilt-e-16722/"
},
"hasInstantConfirmation": true,
"hasMobileTicket": true,
"primaryCategory": {
"id": "1",
"name": "Tickets",
"localeSpecificUrls": {
"EN": "/tickets-new_york-ca-1~21553/",
"ES": "/es/entradas-new_york-ca-1~21553/",
"FR": "/fr/billets-new_york-ca-1~21553/",
"IT": "/it/biglietti-new_york-ca-1~21553/",
"DE": "/de/tickets-new_york-ca-1~21553/",
"PT": "/pt/ingressos-new_york-ca-1~21553/",
"NL": "/nl/tickets-new_york-ca-1~21553/"
},
"canonicalUrl": "https://www.headout.com/tickets-new_york-ca-1~21553/"
},
"primarySubCategory": {
"id": "1007",
"name": "Landmarks",
"categoryId": "1",
"canonicalUrl": "https://www.headout.com/landmarks-new_york-sc-1007~21553/",
"localeSpecificUrls": {
"EN": "/landmarks-new_york-sc-1007~21553/",
"ES": "/es/principales-atracciones-new_york-sc-1007~21553/",
"FR": "/fr/monuments-new_york-sc-1007~21553/",
"IT": "/it/punti-di-interesse-new_york-sc-1007~21553/",
"DE": "/de/wahrzeichen-new_york-sc-1007~21553/",
"PT": "/pt/marcos-historicos-new_york-sc-1007~21553/",
"NL": "/nl/bezienswaardigheden-new_york-sc-1007~21553/"
}
},
"primaryCollection": {
"id": "3732",
"name": "SUMMIT One Vanderbilt",
"cityCode": "NEW_YORK",
"localeSpecificUrls": {},
"canonicalUrl": "https://www.headout.com/summit-one-vanderbilt-c-3732/"
},
"cancellationPolicy": {
"cancellable": false,
"cancellableUpToInMinutes": null
},
"reschedulePolicy": {
"reschedulable": false,
"reschedulableUpToInMinutes": null
}
}
],
"nextUrl": "/api/public/v2/products?cityCode=NEW_YORK&offset=3&limit=3",
"prevUrl": null,
"total": 69,
"nextOffset": 3
}
offset and
limit) help in managing large datasets.
| cityCode
required
|
string
The code of the city for which data is being requested. |
| collectionId |
string
The ID of the collection. |
| categoryId |
string
The ID of the category. |
| subCategoryId |
string
The ID of the subcategory. |
| languageCode |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
The language code for localization. Default is 'EN'. |
| currencyCode |
string
Enum: "EUR"
"GBP"
"AED"
"USD"
"SGD"
"AUD"
"THB"
"INR"
"HKD"
"KRW"
"CAD"
"JPY"
"NZD"
"CHF"
"ZAR"
"MYR"
"BRL"
"RUB"
"SEK"
"IDR"
"ISK"
"MOP"
"CNY"
"TWD"
"MXN"
"EGP"
"QAR"
"SAR"
"DKK"
"AFN"
"ALL"
"AMD"
"ANG"
"AOA"
"ARS"
"AWG"
"AZN"
"BAM"
"BBD"
"BDT"
"BGN"
"BHD"
"BIF"
"BMD"
"BND"
"BOB"
"BSD"
"BTN"
"BWP"
"BYR"
"BZD"
"CDF"
"CLP"
"COP"
"CRC"
"CUC"
"CUP"
"CVE"
"CZK"
"DJF"
"DOP"
"DZD"
"ERN"
"ETB"
"FJD"
"FKP"
"GEL"
"GGP"
"GHS"
"GIP"
"GMD"
"GNF"
"GTQ"
"GYD"
"HNL"
"HRK"
"HTG"
"HUF"
"ILS"
"IMP"
"IQD"
"IRR"
"JEP"
"JMD"
"JOD"
"KES"
"KGS"
"KHR"
"KMF"
"KPW"
"KWD"
"KYD"
"KZT"
"LAK"
"LBP"
"LKR"
"LRD"
"LSL"
"LTL"
"LVL"
"LYD"
"MAD"
"MDL"
"MGA"
"MKD"
"MMK"
"MNT"
"MRO"
"MUR"
"MVR"
"MWK"
"MZN"
"NAD"
"NGN"
"NIO"
"NOK"
"NPR"
"OMR"
"PAB"
"PEN"
"PGK"
"PHP"
"PKR"
"PLN"
"PYG"
"RON"
"RSD"
"RWF"
"SBD"
"SCR"
"SDG"
"SHP"
"SLL"
"SOS"
"SPL"
"SRD"
"SSP"
"STD"
"SVC"
"SYP"
"SZL"
"TJS"
"TMT"
"TND"
"TOP"
"TRY"
"TTD"
"TVD"
"TZS"
"UAH"
"UGX"
"UYU"
"UZS"
"VEF"
"VND"
"VUV"
"WST"
"XAF"
"XCD"
"XDR"
"XOF"
"XPF"
"YER"
"ZMW"
"ZWD"
The currency code for price information. |
| campaignName |
string
The name of the campaign. |
| offset |
string
The number of items to skip before starting to collect the result set. |
| limit |
integer
The numbers of items to return. |
curl --location 'https://www.headout.com/api/public/v2/products?cityCode=<CITY_CODE>&collectionId=<COLLECTION_ID>&campaignName=<CAMPAIGN_NAME>&languageCode=<LANGUAGE_CODE>¤cyCode=<CURRENCY_CODE>&limit=<LIMIT>&offset=<OFFSET>' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"products":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"canonicalUrl":
"string",
-
"content":
{
-
"highlights":
"string",
-
"shortSummary":
"string",
-
"inclusions":
"string",
-
"exclusions":
"string",
-
"highlightsHtml":
"string",
-
"inclusionsHtml":
"string",
-
"exclusionsHtml":
"string",
-
"summaryHtml":
"string",
-
"faqHtml":
"string"
},
-
"city":
{
-
"code":
"string",
-
"name":
"string",
-
"image":
{
-
"url":
"string"
}
},
-
"media":
[
-
{
-
"url":
"string",
-
"type":
"string"
}
],
-
"startLocation":
{
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"address":
{
-
"address":
"string",
-
"city":
"string",
-
"country":
"string",
-
"postalCode":
"string",
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"productType":
"string",
-
"reviewsSummary":
{
-
"ratingsCount":
0,
-
"averageRating":
0.1
},
-
"listingPrice":
{
-
"type":
"string",
-
"currencyCode":
"string",
-
"minimumPrice":
{
-
"originalPrice":
0.1,
-
"finalPrice":
0.1
},
-
"bestDiscount":
0.1
},
-
"currency":
{
-
"code":
"EUR",
-
"currencyName":
"string",
-
"symbol":
"string",
-
"localSymbol":
"string",
-
"precision":
0
},
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"hasInstantConfirmation":
true,
-
"hasMobileTicket":
true,
-
"primaryCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primarySubCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"categoryId":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primaryCollection":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"canonicalUrl":
"string",
-
"content":
{
-
"description":
"string",
-
"subtext":
"string"
},
-
"heroImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
},
-
"cardImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
}
},
-
"variants":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"duration":
0,
-
"inventoryType":
"string",
-
"pax":
{
-
"min":
0,
-
"max":
0
},
-
"cashback":
{
-
"value":
0.1,
-
"type":
"string"
},
-
"properties":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"propertiesV2":
{
-
"property1":
[
-
"string"
],
-
"property2":
[
-
"string"
]
},
-
"ticketDeliveryInfoHtml":
"string",
-
"cutoffTimeInMinutes":
0,
-
"contentsHtml":
"string",
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpTo":
0
},
-
"meetingPointInfo":
{
-
"latitude":
"string",
-
"longitude":
"string",
-
"address":
"string"
},
-
"inputFields":
[
-
{
-
"oldId":
0,
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"dataType":
"string",
-
"validation":
{
-
"regex":
"string",
-
"minLength":
0,
-
"maxLength":
0,
-
"minValue":
0,
-
"maxValue":
0,
-
"required":
true,
-
"values":
[
-
"string"
]
},
-
"level":
"string"
}
],
-
"tags":
[
-
"string"
]
}
],
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpToInMinutes":
0
},
-
"reschedulePolicy":
{
-
"reschedulable":
true,
-
"reschedulableUpToInMinutes":
0
},
-
"pois":
[
-
{
-
"name":
"string",
-
"operatingSchedules":
[
-
{
-
"startDate":
"2019-08-24",
-
"endDate":
"2019-08-24",
-
"scheduleName":
"string",
-
"operatingDaySchedules":
[
-
{
-
"dayOfWeek":
"string",
-
"openingTime":
"string",
-
"closingTime":
"string",
-
"lastEntryTime":
"string",
-
"closed":
true
}
]
}
],
-
"holidays":
[
-
"2019-08-24"
],
-
"freeEntryDays":
[
-
"2019-08-24"
]
}
],
-
"cutoffTimeInMinutes":
0,
-
"inventorySelectionType":
"string"
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
GET
/products/{productId}The Partner Products API v2 provides endpoints for accessing the products. This API is designed to facilitate partners in fetching relevant product information for different cities and languages.
| Mode | Parameter | Required / Optional | Description | Default Value |
|---|---|---|---|---|
| PATH | productId |
Required | Product ID to fetch the details for. | |
| QUERY | languageCode |
Optional | Language code. | EN |
| QUERY | currencyCode |
Optional | Currency code. | |
| QUERY | campaignName |
Optional | Campaign name for filtering. | |
| QUERY | offset |
Optional | Offset for pagination. | 0 |
| QUERY | limit |
Optional | Limit for pagination. | 20 |
| Header | Required / Optional | Description |
|---|---|---|
Headout-Auth |
Required | The Authorization Token. |
{
"id": "19513",
"name": "Edge Observation Deck Tickets: Timed Entry",
"canonicalUrl": "https://www.headout.com/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/?affiliate_code=kn70d3&utm_medium=affiliate&utm_source=N/A&ci=4&cm=kn70d3_Internal_API_Mohak+Nahta_#NA",
"city": {
"code": "NEW_YORK",
"name": "New York",
"image": {
"url": "//cdn-imgix.headout.com/media/images/ee075882083344be170ed38c8c76b4a1-new-york-city-01.jpeg"
}
},
"content": {
"highlights": "- Start your experience with a spectacular multimedia journey through Hudson Yards’ history before soaring up to Edge NYC in a sky pod elevator.\r\n- Behold an unparalleled perspective of the entire borough of Manhattan and its breathtaking skyline from 1,100 feet up in the air.\r\n- Feel your pulse race as you explore the cutting-edge design with its angled glass wall, glass floor, and picturesque skyline steps.\r\n- Upgrade to the Flex Pass for anytime access or the Express Pass, which allows you to skip the line and enter anytime.\r\n- **Fun Fact:** The elevator ride to Edge takes only 52 seconds!",
"inclusions": "- Timed entry to Edge Observation Deck\r\n\r\n**Access to:**\r\n\r\n- Indoor observation deck on Level 100\r\n \r\n- Outdoor sky deck with angled walls\r\n \r\n- Glass Floor, Skyline Steps, and Eastern Point\r\n\r\n- 15% discount at the Harry Potter Shop, New York (till April 30)\r\n \r\n- Flexible entry (as per option selected)\r\n \r\n- Priority access (as per option selected)",
"exclusions": "",
"shortSummary": "Visit Edge New York, home to the highest outdoor sky deck in the Western Hemisphere, to enjoy uninterrupted 360° views of the city.",
"highlightsHtml": "<ul>\n<li>\n<p>Start your experience with a spectacular multimedia journey through Hudson Yards’ history before soaring up to Edge NYC in a sky pod elevator.</p>\n</li>\n<li>\n<p>Behold an unparalleled perspective of the entire borough of Manhattan and its breathtaking skyline from 1,100 feet up in the air.</p>\n</li>\n<li>\n<p>Feel your pulse race as you explore the cutting-edge design with its angled glass wall, glass floor, and picturesque skyline steps.</p>\n</li>\n<li>\n<p>Upgrade to the Flex Pass for anytime access or the Express Pass, which allows you to skip the line and enter anytime.</p>\n</li>\n<li>\n<p><strong>Fun Fact:</strong> The elevator ride to Edge takes only 52 seconds!</p>\n</li>\n</ul>",
"inclusionsHtml": "<ul>\n<li>Timed entry to Edge Observation Deck</li>\n</ul>\n<p><strong>Access to:</strong></p>\n<ul>\n<li>\n<p>Indoor observation deck on Level 100</p>\n</li>\n<li>\n<p>Outdoor sky deck with angled walls</p>\n</li>\n<li>\n<p>Glass Floor, Skyline Steps, and Eastern Point</p>\n</li>\n<li>\n<p>Flexible entry (as per option selected)</p>\n</li>\n<li>\n<p>Priority access (as per option selected)</p>\n</li>\n</ul>",
"exclusionsHtml": "<ul>\n<li>Hotel pickup</li>\n</ul>",
"summaryHtml": "<h2>Your experience</h2>\n<p>Treat yourself to the thrill of standing over 1,100 feet in the air and soaking in magnificent views of Manhattan from Edge New York, a feat of architecture and engineering suspended above The Shops at Hudson Yards.</p>\n<p>Before your journey begins, explore Level 4 for an exciting multimedia experience that delves into how Hudson Yards was designed, constructed, and remains sustainably operated.</p>\n<h3>Up Above the World</h3>\n<p>Reach the dizzying heights at Edge NYC, and then take it one step further 80 feet out into the open air on the outdoor sky deck. Experience an exhilarating sense of freedom as you lean against glass walls that independently cantilever outwards over a bustling skyline below. Take a daring step now and stand on the glass floor, peering down 100 stories at the streets below.</p>\n<p>Edge's Eastern Point provides a unique experience of being surrounded by nothing but air, sky, and glass – it's an image you'll never forget! On the upper level, take in the skyline steps and gaze through the glass panels beyond the deck's edge.</p>",
"faqHtml": "<h2>Know before you go</h2>\n<h3>What's not allowed</h3>\n<ul>\n<li>Prohibited items: Large bags are luggage</li>\n</ul>\n<h3>Accessibility</h3>\n<ul>\n<li>\n<p>Mobility: Wheelchair accessible</p>\n</li>\n<li>\n<p>Service animals are also permitted at Edge.</p>\n</li>\n</ul>\n<h3>Additional information</h3>\n<ul>\n<li>\n<p>Children under 12 must be accompanied by an adult during their visit.</p>\n</li>\n<li>\n<p>It's advised to dress according to the weather conditions.</p>\n</li>\n<li>\n<p>The last elevator ride is 50 minutes before closing.</p>\n</li>\n</ul>"
},
"media": [
{
"url": "https://cdn-imgix.headout.com/media/images/7dff2143faf0c49109d1aeca8a7dcd9f-19513-new-york-edge-observation-deck-adimssion-tickets--09.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/4ef5529db833ea7a1798d495cee3ccb0-19513-TicketstoEdgeObservationDeck---004.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/1af8d1d6a730714c2d1d74b385f96d2a-Exposure2.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/f4a7393f8ff59bd7f20cab5bd990cb35-Edge-EasternPoint-.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/b54f81b9a9fab93f9806c6b160486bc3-Edge-Indoorskydeck.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/54e5cc8ddd2f7b343af7b4a492864c53-Edge-EasternOverhang.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/eebd60c7f817ad0b1fc9b7e3d6aec9af-ShadesEdge.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/0ab1680af58f609c5c3d4e7d7522c374-Edge-WesternOverhang.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/134058522edd6d49f02c1284395f4cad-Edgeview.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/e8f724125cba493d7859d5b64edcbb20-Edge-SouthView-.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/b5218cbd84e05502edf7e3aff9f30ab6-Edge-Glassflooratnight.jpg",
"type": "IMAGE"
},
{
"url": "https://cdn-imgix.headout.com/media/images/e5f17edd85a120f7d5b114eb781551a9-Edge.jpg",
"type": "IMAGE"
}
],
"startLocation": {
"latitude": 40.753395080566406,
"longitude": -74.00105285644531
},
"address": {
"address": "30 Hudson Yards, New York, NY 10001, USA",
"city": "NEW_YORK",
"country": "United States",
"postalCode": "10001",
"latitude": 40.753395080566406,
"longitude": -74.00105285644531
},
"productType": "ATTRACTION",
"reviewsSummary": {
"ratingsCount": 5743,
"averageRating": 4.4
},
"listingPrice": {
"type": "PER_PERSON",
"currencyCode": "USD",
"minimumPrice": {
"originalPrice": 39.20,
"finalPrice": 39.20
},
"bestDiscount": 0
},
"currency": {
"code": "USD",
"currencyName": "United States Dollar",
"symbol": "US$",
"localSymbol": "$",
"precision": 2,
"currency": "USD"
},
"localeSpecificUrls": {
"EN": "/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/",
"ES": "/es/edge-nyc/entradas-a-la-plataforma-de-observacion-edge-e-19513/",
"FR": "/fr/edge-nyc/billets-pour-le-pont-dobservation-edge-e-19513/",
"IT": "/it/edge-nyc/biglietti-per-il-ponte-di-osservazione-di-edge-30-hudson-yards-e-19513/",
"DE": "/de/rand-nyc/tickets-fur-die-aussichtsplattform-the-edge-e-19513/",
"PT": "/pt/borda-nyc/ingressos-para-o-edge-observation-deck-e-19513/",
"NL": "/nl/rand-nyc/tickets-voor-edge-observation-deck-e-19513/",
"PL": "/pl/edge-observation-deck-tickets/tarasy-widokowe-edge-bilety-wstep-o-okreslonej-godzinie-e-19513/",
"DA": "/da/edge-observation-deck-tickets/billetter-til-edge-observationsdk-tidsbestemt-adgang-e-19513/",
"NO": "/no/edge-observation-deck-tickets/billetter-til-edge-observasjonsdekk-tidsbestemt-inngang-e-19513/",
"RO": "/ro/edge-observation-deck-tickets/puncte-de-observatie-edge-acces-pe-ore-e-19513/",
"RU": "/ru/edge-observation-deck-tickets/edge-e-19513/",
"SV": "/sv/edge-observation-deck-tickets/biljetter-till-edge-observationsdack-tidsbestamd-entre-e-19513/",
"TR": "/tr/edge-observation-deck-tickets/edge-gozlem-guvertesi-biletleri-zamanl-giris-e-19513/"
},
"hasInstantConfirmation": true,
"hasMobileTicket": true,
"primaryCategory": {
"id": "1",
"name": "Tickets",
"localeSpecificUrls": {
"EN": "/tickets-new_york-ca-1~21553/",
"ES": "/es/entradas-new_york-ca-1~21553/",
"FR": "/fr/billets-new_york-ca-1~21553/",
"IT": "/it/biglietti-new_york-ca-1~21553/",
"DE": "/de/tickets-new_york-ca-1~21553/",
"PT": "/pt/ingressos-new_york-ca-1~21553/",
"NL": "/nl/tickets-new_york-ca-1~21553/",
"PL": "/pl/bilety-new_york-ca-1~21553/",
"DA": "/da/billetter-new_york-ca-1~21553/",
"NO": "/no/billetter-new_york-ca-1~21553/",
"RO": "/ro/bilete-new_york-ca-1~21553/",
"RU": "/ru/-new_york-ca-1~21553/",
"SV": "/sv/biljetter-new_york-ca-1~21553/",
"TR": "/tr/biletler-new_york-ca-1~21553/"
},
"canonicalUrl": "https://www.headout.com/tickets-new_york-ca-1~21553/"
},
"primarySubCategory": {
"id": "1098",
"name": "Observation Decks",
"categoryId": "1",
"canonicalUrl": "https://www.headout.com/observation-decks-new_york-sc-1098~21553/",
"localeSpecificUrls": {
"EN": "/observation-decks-new_york-sc-1098~21553/",
"ES": "/es/plataformas-de-observacion-new_york-sc-1098~21553/",
"FR": "/fr/ponts-dobservation-new_york-sc-1098~21553/",
"IT": "/it/ponti-di-osservazione-new_york-sc-1098~21553/",
"DE": "/de/aussichtsplattformen-new_york-sc-1098~21553/",
"PT": "/pt/mirantes-new_york-sc-1098~21553/",
"NL": "/nl/observatiedekken-new_york-sc-1098~21553/",
"PL": "/pl/observation-decks-new_york-sc-1098~21553/",
"DA": "/da/observation-decks-new_york-sc-1098~21553/",
"NO": "/no/observation-decks-new_york-sc-1098~21553/",
"RO": "/ro/observation-decks-new_york-sc-1098~21553/",
"RU": "/ru/observation-decks-new_york-sc-1098~21553/",
"SV": "/sv/observation-decks-new_york-sc-1098~21553/",
"TR": "/tr/observation-decks-new_york-sc-1098~21553/"
}
},
"primaryCollection": {
"id": "4012",
"name": "Edge NYC",
"content": {
"description": "Top picks in the city",
"subtext": "Editor's choice"
},
"cityCode": "NEW_YORK",
"localeSpecificUrls": {},
"canonicalUrl": "https://www.headout.com/edge-observation-deck-tickets-c-4012/",
"heroImage": {
"url": "https://cdn/hero.jpg",
"type": "IMAGE"
},
"cardImage": {
"url": "https://cdn/card.jpg",
"type": "IMAGE"
}
},
"inventorySelectionType": "NORMAL",
"variants": [
{
"id": 38164,
"name": "General Admission: Timed Entry",
"description": "- Entry to Edge Observatory Deck at the time slot selected\r\n- Access to:\r\n - Indoor observation deck on Level 100\r\n - Outdoor sky deck with angled walls\r\n - Glass Floor, Skyline Steps, and Eastern Point",
"duration": 60000,
"inventoryType": "FIXED_START_FLEXIBLE_DURATION",
"properties": {
"LANGUAGE_CODE": "EN"
},
"propertiesV2": {
"LANGUAGE_CODE": ["EN", "FR"]
},
"cutoffTimeInMinutes": 1440,
"contentsHtml": "<p>Variant-specific info</p>",
"pax": {
"min": 1,
"max": 10
},
"cashback": {
"value": 0.0000,
"type": "ABSOLUTE"
},
"ticketDeliveryInfoHtml": null,
"cancellationPolicy": {
"cancellable": false,
"cancellableUpTo": null
},
"meetingPointInfo": {
"latitude": "40.7541783",
"longitude": "-74.0008789",
"address": "30 Hudson Yards, New York, NY 10001, USA"
},
"inputFields": [
{
"oldId": 119867,
"id": "NAME",
"name": "Full Name",
"dataType": "STRING",
"validation": {
"regex": "\\s*[^\\s]+\\s+[^\\s]+.*",
"minLength": 3,
"maxLength": 80,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 119868,
"id": "EMAIL",
"name": "Email",
"dataType": "STRING",
"validation": {
"regex":"(?i)^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+(\\s*,\\s*((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+)*$",
"minLength": 5,
"maxLength": null,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 119869,
"id": "PHONE",
"name": "Phone",
"dataType": "STRING",
"validation": {
"regex": null,
"minLength": null,
"maxLength": 40,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 247089,
"id": "CUSTOM_247089",
"name": "Pickup Location",
"description": "Please select your pickup location",
"dataType": "LOCATION",
"validation": {
"regex": null,
"minLength": null,
"maxLength": null,
"minValue": null,
"maxValue": null,
"required": true,
"values": [
{
"id": 292744,
"latitude": 7.79685,
"longitude": 98.311755,
"address": "Rawai, Mueang Phuket District, Phuket 83100, Thailand",
"displayName": "2c Phuket Residence",
"timingConfig": {
"startTime": null,
"endTime": null,
"minPeriod": null,
"maxPeriod": null
},
"note": null
},
{
"id": 292745,
"latitude": 7.880448,
"longitude": 98.39225,
"address": "Phuket, Mueang Phuket District, Phuket 83000, Thailand",
"displayName": "A2 Home",
"timingConfig": {
"startTime": null,
"endTime": null,
"minPeriod": null,
"maxPeriod": null
},
"note": null
}
],
"level": "PRIMARY_CUSTOMER"
}
},
],
"tags": [
"OFFERS",
"OFFERS14",
"RECOMMENDED",
"RECOMMENDED0",
"SCHEDULE-300-DAYS"
],
"properties": {},
"propertiesV2": {}
},
{
"id": 38165,
"name": "Flex Pass: Enter Anytime",
"description": "- Entry to Edge Observatory Deck anytime within operating hours\r\n- Access to:\r\n - Indoor observation deck on Level 100\r\n - Outdoor sky deck with angled walls\r\n - Glass Floor, Skyline Steps, and Eastern Point",
"duration": 43200000,
"inventoryType": "FLEXIBLE_START_FLEXIBLE_DURATION",
"pax": {
"min": 1,
"max": 10
},
"cashback": {
"value": 0.0000,
"type": "ABSOLUTE"
},
"ticketDeliveryInfoHtml": null,
"cancellationPolicy": {
"cancellable": true,
"cancellableUpTo": 1440
},
"meetingPointInfo": {
"latitude": "40.7541783000000100",
"longitude": "-74.0008789000000000",
"address": "30 Hudson Yards, New York, NY 10001, USA"
},
"inputFields": [
{
"oldId": 119870,
"id": "NAME",
"name": "Full Name",
"dataType": "STRING",
"validation": {
"regex": "\\s*[^\\s]+\\s+[^\\s]+.*",
"minLength": 3,
"maxLength": 80,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 119871,
"id": "EMAIL",
"name": "Email",
"dataType": "STRING",
"validation": {
"regex":"(?i)^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+(\\s*,\\s*((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+)*$",
"minLength": 5,
"maxLength": null,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 119872,
"id": "PHONE",
"name": "Phone",
"dataType": "STRING",
"validation": {
"regex": null,
"minLength": null,
"maxLength": 40,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
}
],
"tags": [
"OFFERS",
"OFFERS14",
"RECOMMENDED",
"RECOMMENDED0",
"SCHEDULE-300-DAYS"
],
"properties": {},
"propertiesV2": {}
},
{
"id": 55003,
"name": "Express Pass: Skip-the-Line & Enter Anytime",
"description": "- Priority elevator access\r\n- Priority entry to Edge Observatory Deck anytime within operating hours\r\n- Access to:\r\n - Indoor observation deck on Level 100\r\n - Outdoor sky deck with angled walls\r\n - Glass Floor, Skyline Steps, and Eastern Point",
"duration": 0,
"inventoryType": "FLEXIBLE_START_FLEXIBLE_DURATION",
"pax": {
"min": 1,
"max": 10
},
"cashback": {
"value": 0.0000,
"type": "PERCENTAGE"
},
"ticketDeliveryInfoHtml": null,
"cancellationPolicy": {
"cancellable": true,
"cancellableUpTo": 1440
},
"meetingPointInfo": {
"latitude": null,
"longitude": null,
"address": null
},
"inputFields": [
{
"oldId": 177676,
"id": "NAME",
"name": "Full Name",
"dataType": "STRING",
"validation": {
"regex": "\\s*[^\\s]+\\s+[^\\s]+.*",
"minLength": 3,
"maxLength": 80,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 177677,
"id": "EMAIL",
"name": "Email",
"dataType": "STRING",
"validation": {
"regex":"(?i)^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+(\\s*,\\s*((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+)*$",
"minLength": 5,
"maxLength": null,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 177678,
"id": "PHONE",
"name": "Phone",
"dataType": "STRING",
"validation": {
"regex": null,
"minLength": null,
"maxLength": 40,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
}
],
"tags": [],
"properties": {},
"propertiesV2": {}
},
{
"id": 75587,
"name": "General Admission: Timed Entry + Champagne Experience",
"description": "- A glass of bubbly\r\n- Entry to Edge Observatory Deck at the time slot selected\r\n- Access to:\r\n - Indoor observation deck on Level 100\r\n - Outdoor sky deck with angled walls\r\n - Glass Floor, Skyline Steps, and Eastern Point",
"duration": 0,
"inventoryType": "FIXED_START_FLEXIBLE_DURATION",
"pax": {
"min": 1,
"max": 10
},
"cashback": {
"value": 0.0000,
"type": "PERCENTAGE"
},
"ticketDeliveryInfoHtml": null,
"cancellationPolicy": {
"cancellable": true,
"cancellableUpTo": 1440
},
"meetingPointInfo": {
"latitude": null,
"longitude": null,
"address": ""
},
"inputFields": [
{
"oldId": 245554,
"id": "NAME",
"name": "Full Name",
"dataType": "STRING",
"validation": {
"regex": "\\s*[^\\s]+\\s+[^\\s]+.*",
"minLength": 3,
"maxLength": 80,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 245555,
"id": "EMAIL",
"name": "Email",
"dataType": "STRING",
"validation": {
"regex":"(?i)^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+(\\s*,\\s*((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\/=\\?\\^_`{\\|}~]|[\ -\\豈-\﷏\ﷰ-\])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\ -\\豈-\﷏\ﷰ-\])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\ -\\豈-\﷏\ﷰ-\]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|\\d|[\ -\\豈-\﷏\ﷰ-\])))\\.)+(([a-z]|[\ -\\豈-\﷏\ﷰ-\])|(([a-z]|[\ -\\豈-\﷏\ﷰ-\])([a-z]|\\d|-|\\.|_|~|[\ -\\豈-\﷏\ﷰ-\])*([a-z]|[\ -\\豈-\﷏\ﷰ-\])))+)*$",
"minLength": 5,
"maxLength": null,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
},
{
"oldId": 245556,
"id": "PHONE",
"name": "Phone",
"dataType": "STRING",
"validation": {
"regex": null,
"minLength": null,
"maxLength": 40,
"minValue": null,
"maxValue": null,
"required": true,
"values": null
},
"level": "PRIMARY_CUSTOMER"
}
],
"tags": [],
"properties": {},
"propertiesV2": {}
}
],
"inventorySelectionType": "NORMAL",
"cancellationPolicy": {
"cancellable": false,
"cancellableUpToInMinutes": null
},
"reschedulePolicy": {
"reschedulable": false,
"reschedulableUpToInMinutes": null
},
"pois": [
{
"name": "SUMMIT One Vanderbilt",
"operatingSchedules": [
{
"startDate": "2025-01-01",
"endDate": "2025-12-31",
"scheduleName": "annual operating schedule",
"operatingDaySchedules": [
{
"dayOfWeek": "MONDAY",
"openingTime": "09:00",
"closingTime": "00:00",
"lastEntryTime": "22:30",
"closed": false
},
{
"dayOfWeek": "TUESDAY",
"openingTime": "09:00",
"closingTime": "00:00",
"lastEntryTime": "22:30",
"closed": false
},
{
"dayOfWeek": "WEDNESDAY",
"openingTime": "09:00",
"closingTime": "00:00",
"lastEntryTime": "22:30",
"closed": false
},
{
"dayOfWeek": "THURSDAY",
"openingTime": "09:00",
"closingTime": "00:00",
"lastEntryTime": "22:30",
"closed": false
},
{
"dayOfWeek": "FRIDAY",
"openingTime": "09:00",
"closingTime": "00:00",
"lastEntryTime": "22:30",
"closed": false
},
{
"dayOfWeek": "SATURDAY",
"openingTime": "09:00",
"closingTime": "00:00",
"lastEntryTime": "22:30",
"closed": false
},
{
"dayOfWeek": "SUNDAY",
"openingTime": "09:00",
"closingTime": "00:00",
"lastEntryTime": "22:30",
"closed": false
}
]
}
],
"holidays": [],
"freeEntryDays": []
},
{
"name": "Vessel",
"operatingSchedules": [
{
"startDate": "2025-01-01",
"endDate": "2025-12-31",
"scheduleName": "Every Year",
"operatingDaySchedules": [
{
"dayOfWeek": "MONDAY",
"openingTime": "11:00",
"closingTime": "19:00",
"lastEntryTime": "18:00",
"closed": false
},
{
"dayOfWeek": "TUESDAY",
"openingTime": "11:00",
"closingTime": "19:00",
"lastEntryTime": "18:00",
"closed": false
},
{
"dayOfWeek": "WEDNESDAY",
"openingTime": "11:00",
"closingTime": "19:00",
"lastEntryTime": "18:00",
"closed": false
},
{
"dayOfWeek": "THURSDAY",
"openingTime": "11:00",
"closingTime": "19:00",
"lastEntryTime": "18:00",
"closed": false
},
{
"dayOfWeek": "FRIDAY",
"openingTime": "11:00",
"closingTime": "19:00",
"lastEntryTime": "18:00",
"closed": false
},
{
"dayOfWeek": "SATURDAY",
"openingTime": "11:00",
"closingTime": "19:00",
"lastEntryTime": "18:00",
"closed": false
},
{
"dayOfWeek": "SUNDAY",
"openingTime": "11:00",
"closingTime": "19:00",
"lastEntryTime": "18:00",
"closed": false
}
]
}
],
"holidays": [],
"freeEntryDays": []
}
],
"cutoffTimeInMinutes": 0
}
| languageCode |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
The language code for localization. Default is 'EN'. |
| currencyCode |
string
Enum: "EUR"
"GBP"
"AED"
"USD"
"SGD"
"AUD"
"THB"
"INR"
"HKD"
"KRW"
"CAD"
"JPY"
"NZD"
"CHF"
"ZAR"
"MYR"
"BRL"
"RUB"
"SEK"
"IDR"
"ISK"
"MOP"
"CNY"
"TWD"
"MXN"
"EGP"
"QAR"
"SAR"
"DKK"
"AFN"
"ALL"
"AMD"
"ANG"
"AOA"
"ARS"
"AWG"
"AZN"
"BAM"
"BBD"
"BDT"
"BGN"
"BHD"
"BIF"
"BMD"
"BND"
"BOB"
"BSD"
"BTN"
"BWP"
"BYR"
"BZD"
"CDF"
"CLP"
"COP"
"CRC"
"CUC"
"CUP"
"CVE"
"CZK"
"DJF"
"DOP"
"DZD"
"ERN"
"ETB"
"FJD"
"FKP"
"GEL"
"GGP"
"GHS"
"GIP"
"GMD"
"GNF"
"GTQ"
"GYD"
"HNL"
"HRK"
"HTG"
"HUF"
"ILS"
"IMP"
"IQD"
"IRR"
"JEP"
"JMD"
"JOD"
"KES"
"KGS"
"KHR"
"KMF"
"KPW"
"KWD"
"KYD"
"KZT"
"LAK"
"LBP"
"LKR"
"LRD"
"LSL"
"LTL"
"LVL"
"LYD"
"MAD"
"MDL"
"MGA"
"MKD"
"MMK"
"MNT"
"MRO"
"MUR"
"MVR"
"MWK"
"MZN"
"NAD"
"NGN"
"NIO"
"NOK"
"NPR"
"OMR"
"PAB"
"PEN"
"PGK"
"PHP"
"PKR"
"PLN"
"PYG"
"RON"
"RSD"
"RWF"
"SBD"
"SCR"
"SDG"
"SHP"
"SLL"
"SOS"
"SPL"
"SRD"
"SSP"
"STD"
"SVC"
"SYP"
"SZL"
"TJS"
"TMT"
"TND"
"TOP"
"TRY"
"TTD"
"TVD"
"TZS"
"UAH"
"UGX"
"UYU"
"UZS"
"VEF"
"VND"
"VUV"
"WST"
"XAF"
"XCD"
"XDR"
"XOF"
"XPF"
"YER"
"ZMW"
"ZWD"
The currency code for price information. |
| campaignName |
string
The name of the campaign. |
curl --location 'https://www.headout.com/api/public/v2/products/<PRODUCT_ID>?campaignName=<CAMPAIGN_NAME>&languageCode=<LANGUAGE_CODE>¤cyCode=<CURRENCY_CODE>' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"id":
"string",
-
"name":
"string",
-
"canonicalUrl":
"string",
-
"content":
{
-
"highlights":
"string",
-
"shortSummary":
"string",
-
"inclusions":
"string",
-
"exclusions":
"string",
-
"highlightsHtml":
"string",
-
"inclusionsHtml":
"string",
-
"exclusionsHtml":
"string",
-
"summaryHtml":
"string",
-
"faqHtml":
"string"
},
-
"city":
{
-
"code":
"string",
-
"name":
"string",
-
"image":
{
-
"url":
"string"
}
},
-
"media":
[
-
{
-
"url":
"string",
-
"type":
"string"
}
],
-
"startLocation":
{
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"address":
{
-
"address":
"string",
-
"city":
"string",
-
"country":
"string",
-
"postalCode":
"string",
-
"latitude":
0.1,
-
"longitude":
0.1
},
-
"productType":
"string",
-
"reviewsSummary":
{
-
"ratingsCount":
0,
-
"averageRating":
0.1
},
-
"listingPrice":
{
-
"type":
"string",
-
"currencyCode":
"string",
-
"minimumPrice":
{
-
"originalPrice":
0.1,
-
"finalPrice":
0.1
},
-
"bestDiscount":
0.1
},
-
"currency":
{
-
"code":
"EUR",
-
"currencyName":
"string",
-
"symbol":
"string",
-
"localSymbol":
"string",
-
"precision":
0
},
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"hasInstantConfirmation":
true,
-
"hasMobileTicket":
true,
-
"primaryCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primarySubCategory":
{
-
"id":
"string",
-
"name":
"string",
-
"categoryId":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
},
-
"primaryCollection":
{
-
"id":
"string",
-
"name":
"string",
-
"cityCode":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"canonicalUrl":
"string",
-
"content":
{
-
"description":
"string",
-
"subtext":
"string"
},
-
"heroImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
},
-
"cardImage":
{
-
"url":
"string",
-
"type":
"IMAGE"
}
},
-
"variants":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"duration":
0,
-
"inventoryType":
"string",
-
"pax":
{
-
"min":
0,
-
"max":
0
},
-
"cashback":
{
-
"value":
0.1,
-
"type":
"string"
},
-
"properties":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"propertiesV2":
{
-
"property1":
[
-
"string"
],
-
"property2":
[
-
"string"
]
},
-
"ticketDeliveryInfoHtml":
"string",
-
"cutoffTimeInMinutes":
0,
-
"contentsHtml":
"string",
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpTo":
0
},
-
"meetingPointInfo":
{
-
"latitude":
"string",
-
"longitude":
"string",
-
"address":
"string"
},
-
"inputFields":
[
-
{
-
"oldId":
0,
-
"id":
"string",
-
"name":
"string",
-
"description":
"string",
-
"dataType":
"string",
-
"validation":
{
-
"regex":
"string",
-
"minLength":
0,
-
"maxLength":
0,
-
"minValue":
0,
-
"maxValue":
0,
-
"required":
true,
-
"values":
[
-
"string"
]
},
-
"level":
"string"
}
],
-
"tags":
[
-
"string"
]
}
],
-
"cancellationPolicy":
{
-
"cancellable":
true,
-
"cancellableUpToInMinutes":
0
},
-
"reschedulePolicy":
{
-
"reschedulable":
true,
-
"reschedulableUpToInMinutes":
0
},
-
"pois":
[
-
{
-
"name":
"string",
-
"operatingSchedules":
[
-
{
-
"startDate":
"2019-08-24",
-
"endDate":
"2019-08-24",
-
"scheduleName":
"string",
-
"operatingDaySchedules":
[
-
{
-
"dayOfWeek":
"string",
-
"openingTime":
"string",
-
"closingTime":
"string",
-
"lastEntryTime":
"string",
-
"closed":
true
}
]
}
],
-
"holidays":
[
-
"2019-08-24"
],
-
"freeEntryDays":
[
-
"2019-08-24"
]
}
],
-
"cutoffTimeInMinutes":
0,
-
"inventorySelectionType":
"string"
}
GET /categoriesThe Partner Categories API v2 provides endpoints for accessing the categories. This API is designed to facilitate partners in fetching relevant data for different cities and languages.
| Parameter | Required / Optional | Description | Default Value |
|---|---|---|---|
cityCode |
Required | The city code to fetch categories for. | |
languageCode |
Optional | Language code. | EN |
| Header | Required / Optional | Description |
|---|---|---|
Headout-Auth |
Required | The Authorization Token. |
{
"categories": [
{
"id": "1",
"name": "Tickets",
"localeSpecificUrls": {
"EN": "/tickets-new_york-ca-1~21553/",
"ES": "/es/entradas-new_york-ca-1~21553/",
"FR": "/fr/billets-new_york-ca-1~21553/",
"IT": "/it/biglietti-new_york-ca-1~21553/",
"DE": "/de/tickets-new_york-ca-1~21553/",
"PT": "/pt/ingressos-new_york-ca-1~21553/",
"NL": "/nl/tickets-new_york-ca-1~21553/"
},
"canonicalUrl": "https://www.headout.com/tickets-new_york-ca-1~21553/"
},
{
"id": "2",
"name": "Tours",
"localeSpecificUrls": {
"EN": "/tours-new_york-ca-2~21553/",
"ES": "/es/tours-new_york-ca-2~21553/",
"FR": "/fr/visites-new_york-ca-2~21553/",
"IT": "/it/tour-new_york-ca-2~21553/",
"DE": "/de/touren-new_york-ca-2~21553/",
"PT": "/pt/tours-new_york-ca-2~21553/",
"NL": "/nl/tours-new_york-ca-2~21553/"
},
"canonicalUrl": "https://www.headout.com/tours-new_york-ca-2~21553/"
},
{
"id": "3",
"name": "Transportation",
"localeSpecificUrls": {
"EN": "/transportation-new_york-ca-3~21553/",
"ES": "/es/traslados-new_york-ca-3~21553/",
"FR": "/fr/transport-new_york-ca-3~21553/",
"IT": "/it/trasferimenti-new_york-ca-3~21553/",
"DE": "/de/transfer-new_york-ca-3~21553/",
"PT": "/pt/transporte-new_york-ca-3~21553/",
"NL": "/nl/vervoer-new_york-ca-3~21553/"
},
"canonicalUrl": "https://www.headout.com/transportation-new_york-ca-3~21553/"
}
]
}
| cityCode
required
|
string
The code of the city for which data is being requested. |
| languageCode |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
The language code for localization. Default is 'EN'. |
curl --location 'https://www.headout.com/api/public/v2/categories?cityCode=<CITY_CODE>&languageCode=<LANGUAGE_CODE>' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"categories":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
},
-
"canonicalUrl":
"string"
}
]
}
GET /subcategories
The Partner Subcategories API v2 provides endpoints for accessing the subcategories. This API is designed to facilitate partners in fetching relevant data for different cities and languages.
| Parameter | Required / Optional | Description | Default Value |
|---|---|---|---|
cityCode |
Required | The city code to fetch categories for. | |
languageCode |
Optional | Language code. | EN |
| Header | Required / Optional | Description |
|---|---|---|
Headout-Auth |
Required | The Authorization Token. |
Object: SubCategory
{
"subCategories": [
{
"id": "1002",
"name": "Museums",
"categoryId": "1",
"canonicalUrl": "https://www.headout.com/museums-new_york-sc-1002~21553/",
"localeSpecificUrls": {
"EN": "/museums-new_york-sc-1002~21553/",
"ES": "/es/museos-new_york-sc-1002~21553/",
"FR": "/fr/musees-new_york-sc-1002~21553/",
"IT": "/it/musei-new_york-sc-1002~21553/",
"DE": "/de/museen-new_york-sc-1002~21553/",
"PT": "/pt/museus-new_york-sc-1002~21553/",
"NL": "/nl/musea-new_york-sc-1002~21553/"
}
},
{
"id": "1006",
"name": "Religious Sites",
"categoryId": "1",
"canonicalUrl": "https://www.headout.com/religious-sites-new_york-sc-1006~21553/",
"localeSpecificUrls": {
"EN": "/religious-sites-new_york-sc-1006~21553/",
"ES": "/es/sitios-religiosos-new_york-sc-1006~21553/",
"FR": "/fr/site-religieux-new_york-sc-1006~21553/",
"IT": "/it/siti-religiosi-new_york-sc-1006~21553/",
"DE": "/de/religiose-statten-new_york-sc-1006~21553/",
"PT": "/pt/locais-religiosos-new_york-sc-1006~21553/",
"NL": "/nl/religieuze-plaatsen-new_york-sc-1006~21553/"
}
},
{
"id": "1007",
"name": "Landmarks",
"categoryId": "1",
"canonicalUrl": "https://www.headout.com/landmarks-new_york-sc-1007~21553/",
"localeSpecificUrls": {
"EN": "/landmarks-new_york-sc-1007~21553/",
"ES": "/es/principales-atracciones-new_york-sc-1007~21553/",
"FR": "/fr/monuments-new_york-sc-1007~21553/",
"IT": "/it/punti-di-interesse-new_york-sc-1007~21553/",
"DE": "/de/wahrzeichen-new_york-sc-1007~21553/",
"PT": "/pt/marcos-historicos-new_york-sc-1007~21553/",
"NL": "/nl/bezienswaardigheden-new_york-sc-1007~21553/"
}
}
]
}
Refer to this document for handling errors in the APIs.
| cityCode
required
|
string
The code of the city for which data is being requested. |
| languageCode |
string
Default: "EN"
Enum: "EN"
"ES"
"FR"
"IT"
"DE"
"PT"
"NL"
"PL"
The language code for localization. Default is 'EN'. |
curl --location 'https://www.headout.com/api/public/v2/subcategories?cityCode=<CITY_CODE>&languageCode=<LANGUAGE_CODE>' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"subCategories":
[
-
{
-
"id":
"string",
-
"name":
"string",
-
"categoryId":
"string",
-
"canonicalUrl":
"string",
-
"localeSpecificUrls":
{
-
"property1":
"string",
-
"property2":
"string"
}
}
]
}
GET
/inventory/list-by/tourGet the available inventory for a tour within a specified date range.
| MODE | KEY | TYPE | OPTIONAL | DESCRIPTION |
|---|---|---|---|---|
| QUERY | tourId | string | no | The unique identifier of the tour for which the inventory needs to be fetched. |
| QUERY | startDateTime | string | no | The start date time from which the inventory needs
to be fetched. Format: fm-date-time.
Ref: inventory.startDateTime
|
| QUERY | endDateTime | string | no | The end date time till which the inventory needs
to be fetched. Format: fm-date-time.
Ref: inventory.startDateTime
|
| QUERY | currencyCode | string | no | The currency in which pricing information will be
returned. Eg: EUR, USD,
GBP. Ref: https://en.wikipedia.org/wiki/ISO_4217
|
| QUERY | offset | string | yes | The offset for pagination. |
| QUERY | limit | int | yes | The limit for pagination. |
{
"items": [
{
"id": "450931848",
"startDateTime": "2025-07-25T11:30:00",
"endDateTime": "2025-07-25T18:30:00",
"availability": "UNLIMITED",
"remaining": 6,
"pricing": {
"persons": [
{
"type": "ADULT",
"name": "Adult",
"description": "Above 8 Years",
"ageFrom": null,
"ageTo": null,
"price": 38.04,
"originalPrice": 43.29,
"netPrice": 38.04,
"headoutSellingPrice": 43.29,
"remaining": 200,
"availability": "LIMITED",
"paxRange": { "min": null, "max": 8 }
},
{
"type": "CHILD",
"name": "Child",
"description": null,
"ageFrom": 3,
"ageTo": 8,
"price": 29.66,
"originalPrice": 33.76,
"netPrice": 29.66,
"headoutSellingPrice": 33.76,
"remaining": 200,
"availability": "LIMITED",
"paxRange": { "min": null, "max": 8 }
}
],
"groups": [
{
"size": 4,
"price": 120.00,
"originalPrice": 140.00,
"netPrice": 118.00,
"headoutSellingPrice": 120.00,
"remaining": 2,
"availability": "LIMITED"
}
]
}
}
],
"nextUrl": "https://sandbox.api.dev-headout.com:443/api/public/v2/inventory/list-by/tour?tourId=52850&startDateTime=2025-07-25T00%3A00&endDateTime=2025-07-27T00%3A00¤cyCode=EUR&offset=1&limit=1",
"prevUrl": null,
"total": 28,
"nextOffset": 1
}
| tourId
required
|
string
The unique identifier of the tour |
| startDateTime
required
|
string
<date-time>
Start date and time in ISO 8601 format (URL encoded) |
| endDateTime
required
|
string
<date-time>
End date and time in ISO 8601 format (URL encoded) |
| currencyCode |
string
Enum: "EUR"
"GBP"
"AED"
"USD"
"SGD"
"AUD"
"THB"
"INR"
"HKD"
"KRW"
"CAD"
"JPY"
"NZD"
"CHF"
"ZAR"
"MYR"
"BRL"
"RUB"
"SEK"
"IDR"
"ISK"
"MOP"
"CNY"
"TWD"
"MXN"
"EGP"
"QAR"
"SAR"
"DKK"
"AFN"
"ALL"
"AMD"
"ANG"
"AOA"
"ARS"
"AWG"
"AZN"
"BAM"
"BBD"
"BDT"
"BGN"
"BHD"
"BIF"
"BMD"
"BND"
"BOB"
"BSD"
"BTN"
"BWP"
"BYR"
"BZD"
"CDF"
"CLP"
"COP"
"CRC"
"CUC"
"CUP"
"CVE"
"CZK"
"DJF"
"DOP"
"DZD"
"ERN"
"ETB"
"FJD"
"FKP"
"GEL"
"GGP"
"GHS"
"GIP"
"GMD"
"GNF"
"GTQ"
"GYD"
"HNL"
"HRK"
"HTG"
"HUF"
"ILS"
"IMP"
"IQD"
"IRR"
"JEP"
"JMD"
"JOD"
"KES"
"KGS"
"KHR"
"KMF"
"KPW"
"KWD"
"KYD"
"KZT"
"LAK"
"LBP"
"LKR"
"LRD"
"LSL"
"LTL"
"LVL"
"LYD"
"MAD"
"MDL"
"MGA"
"MKD"
"MMK"
"MNT"
"MRO"
"MUR"
"MVR"
"MWK"
"MZN"
"NAD"
"NGN"
"NIO"
"NOK"
"NPR"
"OMR"
"PAB"
"PEN"
"PGK"
"PHP"
"PKR"
"PLN"
"PYG"
"RON"
"RSD"
"RWF"
"SBD"
"SCR"
"SDG"
"SHP"
"SLL"
"SOS"
"SPL"
"SRD"
"SSP"
"STD"
"SVC"
"SYP"
"SZL"
"TJS"
"TMT"
"TND"
"TOP"
"TRY"
"TTD"
"TVD"
"TZS"
"UAH"
"UGX"
"UYU"
"UZS"
"VEF"
"VND"
"VUV"
"WST"
"XAF"
"XCD"
"XDR"
"XOF"
"XPF"
"YER"
"ZMW"
"ZWD"
The currency code for price information. |
| offset |
string
The number of items to skip before starting to collect the result set. |
| limit |
integer
The numbers of items to return. |
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¤cyCode=EUR&offset=0&limit=1' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"items":
[
-
{
-
"id":
"string",
-
"startDateTime":
"2019-08-24T14:15:22Z",
-
"endDateTime":
"2019-08-24T14:15:22Z",
-
"availability":
"string",
-
"remaining":
0,
-
"pricing":
{
-
"persons":
[
-
{
-
"type":
"string",
-
"name":
"string",
-
"description":
"string",
-
"ageFrom":
0,
-
"ageTo":
0,
-
"price":
0.1,
-
"originalPrice":
0.1,
-
"netPrice":
0.1,
-
"headoutSellingPrice":
0.1,
-
"remaining":
0,
-
"availability":
"string",
-
"paxRange":
{
-
"min":
0,
-
"max":
0
}
}
],
-
"groups":
[
-
{
-
"size":
0,
-
"price":
0.1,
-
"originalPrice":
0.1,
-
"netPrice":
0.1,
-
"headoutSellingPrice":
0.1,
-
"remaining":
0,
-
"availability":
"string"
}
]
}
}
],
-
"nextUrl":
"string",
-
"prevUrl":
"string",
-
"total":
0,
-
"nextOffset":
0
}
Booking status webhooks provide real-time notifications when booking statuses change in the Headout system. Receive instant updates for booking confirmations, cancellations, and completions.
| Status | Description | Webhook Trigger |
|---|---|---|
PENDING |
Booking is pending fulfillment | ✅ On capture |
COMPLETED |
Booking completed successfully | ✅ On completion |
CANCELLED |
Booking has been cancelled | ✅ On cancellation |
FAILED |
Booking failed due to payment or system errors | ✅ On failure |
{
"bookingId": 123456789,
"status": "COMPLETED",
"eventTimestamp": "2024-01-15T10:30:00"
}
| Field | Type | Required | Description |
|---|---|---|---|
bookingId |
number | ✅ | Unique booking identifier (corresponds to itinerary ID) |
status |
string | ✅ | Current booking status from ItineraryStatus enum |
eventTimestamp |
string | ✅ | ISO 8601 timestamp when status change occurred (local time) |
{
"bookingId": 987654321,
"status": "PENDING",
"eventTimestamp": "2024-01-15T14:22:33"
}
{
"bookingId": 987654321,
"status": "COMPLETED",
"eventTimestamp": "2024-01-15T14:25:18"
}
{
"bookingId": 987654321,
"status": "CANCELLED",
"eventTimestamp": "2024-01-16T09:15:42"
}
{
"bookingId": 987654321,
"status": "FAILED",
"eventTimestamp": "2024-01-15T14:23:05"
}
| url
required
|
string
<uri>
[ 1 .. 2048 ] characters
^https://.*
HTTPS URL where webhooks will be delivered (must use HTTPS) |
| enabled |
boolean
Default: true
Whether the webhook is active |
{
-
-
"enabled":
true
}
{
-
"timestamp":
1756977070403,
-
"message":
"Webhook
configuration created
successfully"
}
Retrieve your current webhook configuration
curl --location 'https://www.headout.com/api/public/v2/webhooks/' \ --header 'Headout-Auth: <YOUR_API_KEY>'
{
-
"timestamp":
1756977128516,
-
"message":
"Webhook
configuration retrieved
successfully",
-
}
Update your existing webhook configuration
| url
required
|
string
<uri>
^https://.*
HTTPS URL where webhooks will be delivered (must use HTTPS) |
| enabled |
boolean
Default: true
Whether the webhook is active |
{
-
-
"enabled":
true
}
{
-
"timestamp":
1756977149760,
-
"message":
"Webhook
configuration updated
successfully"
}
This section defines standard ENUMs and error codes used across Headout APIs. Developers should use these as reference values when integrating.
The Headout API uses standardized ENUMs and error codes to ensure consistent data structures and error handling across all endpoints. This glossary serves as a comprehensive reference for developers implementing Headout API integrations.
Supported language codes for API localization.
| Code | Language |
|---|---|
EN |
English |
ES |
Spanish |
FR |
French |
IT |
Italian |
DE |
German |
PT |
Portuguese |
NL |
Dutch |
PL |
Polish |
Supported currencies follow the ISO 4217 standard. Any currency listed in the ISO 4217 specification is supported.
Supported cities are returned dynamically by the City API. This list may change over time, so always handle cities dynamically rather than hardcoding values.
Supported media types in product details.
| Type | Description |
|---|---|
IMAGE |
Image media |
VIDEO |
Video media |
PDF |
PDF document |
Supported product types within product details.
| Type |
|---|
TOUR |
ACTIVITY |
EVENT |
ATTRACTION |
TRANSFER |
AIRPORT_TRANSFER |
ADD_ON |
Pricing types used in product listings.
| Type | Description |
|---|---|
PER_PERSON |
Price per individual person |
PER_GROUP |
Price for entire group |
Variant inventory types for booking management.
| Type | Description |
|---|---|
FIXED_START_FIXED_DURATION |
Fixed start time and duration |
FIXED_START_FLEXIBLE_DURATION |
Fixed start time, flexible duration |
FLEXIBLE_START_FIXED_DURATION |
Flexible start time, fixed duration |
FLEXIBLE_START_FLEXIBLE_DURATION |
Flexible start time and duration |
Input field types for variant-specific customer information.
| Field | Description |
|---|---|
NAME |
Customer name |
EMAIL |
Email address |
PHONE |
Phone number |
ADDRESS |
Address information |
AGE_ |
Age-related fields |
COUNTRY_ |
Country information |
DATE_OF_BIRTH_ |
Date of birth |
DROP_OFF_LOCATION_ |
Drop-off location |
FULL_NAME_ |
Full name fields |
GENDER_ |
Gender information |
IDENTITY_DOCUMENT_DETAILS_ |
ID document details |
LANGUAGE_ |
Language preference |
NATIONALITY_ |
Nationality |
PASSPORT_DETAILS_ |
Passport information |
PHYSICAL_INFORMATION_-_HEIGHT_ |
Physical characteristics |
PICK_UP_DETAILS_ |
Pickup information |
PICKUP_LOCATION |
Pickup location |
CUSTOM_* |
Custom dynamic fields provided by supply partners |
Note: Many more values may appear dynamically from supply partners. Always handle unknown values gracefully.
Different Data types an inputField can have.
| Data type | Description |
|---|---|
STRING |
Free-form text value (e.g., John Doe).
|
ENUM |
One of a predefined set of literals (e.g.,
MALE, FEMALE,
OTHER). Enum values can be found in the
values array of the input field. |
BOOL |
Boolean flag (e.g., true or
false). |
INT |
Whole-number value (e.g., 25). |
FLOAT |
Decimal number for values (e.g., 25.50).
|
LOCATION |
String of pickup address (e.g., 123 Main St,
Anytown, USA). |
Person types valid for booking variants.
| Type |
|---|
ADULT |
CHILD |
INFANT |
SENIOR |
GENERAL |
STUDENT |
YOUTH |
Note: Additional types such as
RESIDENT, NON_EUR_CHILD, etc. may
appear dynamically.
Cashback value types for promotional offers.
| Type | Description |
|---|---|
PERCENTAGE |
Percentage-based cashback |
ABSOLUTE |
Fixed amount cashback |
Inventory selection types for booking interfaces.
| Type | Description |
|---|---|
NORMAL |
Standard selection interface |
SEATMAP |
Seat map selection interface |
Availability status within inventory slots.
| Status | Description |
|---|---|
UNLIMITED |
Unlimited availability |
LIMITED |
Limited availability |
CLOSED |
No availability |
Booking lifecycle statuses.
| Status | Description |
|---|---|
UNCAPTURED |
Booking created but not yet captured |
PENDING |
Captured, waiting for fulfillment |
COMPLETED |
Booking fulfilled successfully |
CANCELLED |
Booking was cancelled |
FAILED |
Booking failed (payment/system error) |
CAPTURE_TIMEDOUT |
Capture did not happen within allowed time |
Permitted cancellation reasons for partner cancellation requests.
| Value | Description |
|---|---|
TICKETS_NOT_RECEIVED |
Tickets or voucher not received by the customer |
CHANGE_OF_TRAVEL_PLANS |
Customer changed travel plans |
MODIFY_EXISTING_RESERVATION |
Customer wants to modify an existing reservation |
FOUND_CHEAPER_OPTION_ELSEWHERE |
Customer found a cheaper alternative |
OTHER |
Other reason not listed above |
| Code | Category | Description |
|---|---|---|
CAL_0000 |
Generic | Unknown error occurred |
| Code | Category | Description |
|---|---|---|
CAL_0100 |
Itinerary | Unknown error occurred |
| Code | Category | Description |
|---|---|---|
CAL_0101 |
Itinerary | Tour information is not legitimate |
CAL_0102 |
Itinerary | Tour or language does not exist |
CAL_0103 |
Itinerary | Tour's addon does not exist |
CAL_0104 |
Itinerary | Price information is not legitimate |
CAL_0105 |
Itinerary | Itinerary item does not exist |
CAL_0106 |
Itinerary | Price of the item has changed |
CAL_0107 |
Itinerary | No ADULT in free booking |
CAL_0108 |
Itinerary | Children not permitted without adult |
CAL_0109 |
Itinerary | Minimum number of tickets not selected |
CAL_0110 |
Itinerary | Maximum number of tickets exceeded |
CAL_0111 |
Itinerary | Max 2 children per 1 Adult/Student/Senior |
CAL_0112 |
Itinerary | Minimum number of pax not selected |
CAL_0113 |
Itinerary | Maximum number of pax exceeded |
CAL_0114 |
Itinerary | Book now pay later not eligible |
| Code | Category | Description |
|---|---|---|
CAL_0120 |
Inventory | Slot not available anymore |
CAL_0121 |
Itinerary | Tour not available anymore |
CAL_0122 |
Itinerary | Pricing has changed |
CAL_0123 |
Itinerary | Selected date-time closed or invalid |
| Code | Category | Description |
|---|---|---|
CAL_0130 |
Itinerary | Duplicate booking attempt within 30 min |
| Code | Category | Description |
|---|---|---|
CAL_0200 |
Booking | Unknown booking error |
CAL_0201 |
Booking | Could not create booking, retry |
CAL_0202 |
Booking | Reserved for use |
| Code | Category | Description |
|---|---|---|
CAL_0220 |
Booking | No recent order found |
CAL_0221 |
Booking | Booking currency mismatch |
CAL_0222 |
Booking | Itinerary vs booking currency mismatch |
CAL_0223 |
Booking | Reservation failed via plugin |
| Code | Category | Description |
|---|---|---|
CAL_0231 |
Booking | Tour prices have changed |
| Code | Category | Description |
|---|---|---|
CAL_0241 |
Booking | Unsupported operation for API version |
| Code | Category | Description |
|---|---|---|
CAL_0310 |
City | City not found |
| Code | Category | Description |
|---|---|---|
CAL_0600 |
BookingUserField | Incorrect user field |
CAL_0601 |
BookingUserField | Missing last name |
CAL_0602 |
BookingUserField | Missing mandatory user fields |
CAL_0603 |
BookingUserField | Invalid phone number |
CAL_0604 |
BookingUserField | Primary customer details missing |
| Code | Category | Description |
|---|---|---|
CAL_0900 |
Product | Error in Calipso Product |
| Code | Category | Description |
|---|---|---|
CAL_1000 |
Partner | Valid API key not found |
| Code | Category | Description |
|---|---|---|
CAL_1300 |
Booking | Count doesn't match number of customers |
| Code | Category | Description |
|---|---|---|
CAL_1400 |
Reservations | Invalid date range (from > to) |
CAL_1401 |
Reservations | Booking does not exist |
CAL_1402 |
Reservations | Could not fetch voucher; booking missing |
CAL_1403 |
Reservations | Unsupported itinerary type (combo) |
CAL_1404 |
Reservations | Authentication failed for voucher |
CAL_1405 |
Reservations | Temporary error fetching booking |
CAL_1406 |
Reservations | Booking does not belong to user |
| Code | Category | Description |
|---|---|---|
CAL_1600 |
Malformed request | Invalid body/query/path parameters |
| Code | Category | Description |
|---|---|---|
CAL_1801 |
Cancellation | Failed to cancel ticket |
CAL_1802 |
Booking | Could not fetch booking (server error) |
CAL_1803 |
Booking | Failed to reschedule booking |
CAL_1804 |
Booking | Live inventory not available for reschedule |
| Code | Category | Description |
|---|---|---|
CAL_1900 |
Audio guide | Vendor audio guide not found |
CAL_1901 |
Audio guide | Could not add audio guide |
CAL_1902 |
Audio guide | Audio guide expired |
CAL_1903 |
Audio guide | Share limit exceeded |
CAL_1904 |
Audio guide | Audio guide unavailable |
CAL_1905 |
Audio guide | Unsupported form type |
CAL_1906 |
Audio guide | Non-nullable attribute is null |
CAL_1907 |
Audio guide | Quote not found |
CAL_1908 |
Audio guide | Tour user fields not found |
Developers integrating Partner APIs. Technical operations teams can use it for SLA, sandbox, and troubleshooting context. Sales teams should refer to the non-technical brief.
| Environment | Application URL | API Base URL |
|---|---|---|
| Staging | https://sandbox.deimos.dev-headout.com
|
https://sandbox.api.dev-headout.com |
| Production | https://www.headout.com |
https://www.headout.com |
Note: Staging mirrors ~70–80% of production data.
Add Headout-Auth: {api-token} to every request.
pk_… → production key.tk_… → sandbox key.Content-Type and Accept to
application/json.No. The APIs are server-to-server. Never expose API keys in client apps or public repositories.
traceId values for debugging.
Not Allowed …
PartnerKeyInvalidException?Occurs when:
Resolution: Verify you are using the correct key for the environment. Escalate to your Headout SPOC if the issue persists.
UNCAPTURED).
PENDING).voucherUrl.Curation layers
GET /category/list-by/cityGET /collections with cityCode
offset, limit).
GET /products with:
cityCodecollectionId,
categoryId, subCategoryId,
languageCode, currencyCode,
offset, limit~5,500 products with ~3 variants per product, growing rapidly.
inventoryId represents a specific date-time slot
— distinct from productId and
variantId.
availability = UNLIMITED, book
immediately.availability = LIMITED, check the
remaining count.CAL-0120: slot not available
indicate?The slot was taken just before booking. Re-check availability and retry. Escalate if frequent.
Unexpected. Escalate to your Headout contact.
partnerReferenceId?Your internal booking identifier for reconciliation.
curl --location 'https://sandbox.api.dev-headout.com/api/public/v1/booking' \
--header 'Headout-Auth: <AUTH>' \
--header 'Content-Type: application/json' \
--data-raw '{
"variantId": "15786",
"productId": "8839",
"inventoryId": "436127621",
"price": {
"amount": 13.08,
"currencyCode": "USD"
},
"customersDetails": {
"count": 1,
"customers": [
{
"personType": "GENERAL",
"isPrimary": true,
"inputFields": [
{ "id": "NAME", "value": "Jonathan Marroquin" },
{ "id": "EMAIL", "value": "asim.kt@gmail.com" },
{ "id": "PHONE", "value": "+919048812190" }
]
}
]
}
}'
UNCAPTURED → Booking created.PENDING → Capture requested,
fulfillment started.COMPLETED,
CANCELLED, FAILED.CAPTURE_TIMEOUT → Not captured within
~1 hour.EMAIL, PHONE, NAME).
Check inputFields.level:
ALL → Collect per guest.PRIMARY_CUSTOMER → Only the primary
guest.Avoid generic IDs such as:
{ "id": "CUSTOM", "name": "Age", "value": "32" }
Instead, use IDs from the Product API:
{ "id": "CUSTOM_144871", "value": "32" }
This prevents “Missing mandatory userFields”.
Use the regex provided in the variant input fields (usually
+ plus country code).
variantId, inventoryIdcustomersDetails.countprice.amount, price.currencyCode
personType,
isPrimary, and product-required
inputFields (e.g., EMAIL,
PHONE, FULL_NAME,
DATE_OF_BIRTH)Always confirm via GET /products/{productId}.
Yes. Always send the price object to avoid downstream errors.
No emails are sent. The API response includes
voucherUrl for validation.
Average ~60 minutes; max 4–6 hours (longer delays are rare but possible).
NOTE: In Sandbox environment, try Instant Confirmation tickets as non-instant confirmation tickets may never be confirmed. (eg. 7809, 1878, 25198, etc.)
| Product ID | QR code on voucher? |
|---|---|
| 8839 | No |
| 26149 | No |
| 26150 | No |
| 15810 | Yes |
ageFrom / ageTo from the
Inventory API.ageFrom is null, use the
upper limit of the CHILD age range.Check pax.min and pax.max at the
variant level to validate UI inputs and booking payloads.
netPrice equal headoutSellingPrice?
Not unless contractually agreed. Escalate mismatches for pricing review.
Leverage pax.min, pax.max, and
type fields from the Product API. Validate logic
per product.
Use offset and limit. Responses
provide nextUrl, prevUrl,
total, and nextOffset.
yyyy-MM-dd HH:mm:ss may appear in
payloads.startTime takes
precedence.inputFields (common errors
include GENERAL vs. ADULT).Provide:
Retry transiently. Persistent failures are unexpected — escalate with request IDs and redacted payloads. Include the full payload when sharing with Headout, for example:
curl --location 'https://sandbox.api.dev-headout.com/api/public/v1/booking' \
--header 'Headout-Auth: <AUTH>' \
--header 'Content-Type: application/json' \
--data-raw '{...}' # Include complete payload when escalating
Refer to the shared enums master list in the API documentation. Use Product API responses to map required IDs per product.