Skip to main content
GET
/
api
/
public
/
v2
/
products
cURL
curl --location 'https://www.headout.com/api/public/v2/products?cityCode=<CITY_CODE>&collectionId=<COLLECTION_ID>&campaignName=<CAMPAIGN_NAME>&languageCode=<LANGUAGE_CODE>&currencyCode=<CURRENCY_CODE>&limit=<LIMIT>&offset=<OFFSET>' \
--header 'Headout-Auth: <YOUR_API_KEY>'
{ "products": [ { "id": "19513", "name": "Edge Observation Deck Tickets", "canonicalUrl": "https://www.headout.com/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/", "content": { "highlights": "• Gaze down from the outdoor sky deck on the 100th floor\n• Step onto the glass floor and see the city beneath your feet", "highlightsHtml": "<ul><li>Gaze down from the outdoor sky deck on the 100th floor</li><li>Step onto the glass floor and see the city beneath your feet</li></ul>", "shortSummary": "Visit the highest outdoor sky deck in the Western Hemisphere at Hudson Yards.", "summaryHtml": "<p>Visit the highest outdoor sky deck in the Western Hemisphere at Hudson Yards.</p>", "inclusions": "• Access to the 100th-floor outdoor sky deck\n• Access to the 101st-floor indoor viewing area", "inclusionsHtml": "<ul><li>Access to the 100th-floor outdoor sky deck</li><li>Access to the 101st-floor indoor viewing area</li></ul>", "exclusions": "• Food and beverages\n• Guided tour", "exclusionsHtml": "<ul><li>Food and beverages</li><li>Guided tour</li></ul>", "faqHtml": "<h3>What are the opening hours?</h3><p>Edge is open daily from 10 AM to 10 PM.</p>", "ticketDeliveryInfoHtml": "<p>You will receive your mobile tickets via email upon confirmation.</p>" }, "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" } ], "startLocation": { "latitude": 40.75412368774414, "longitude": -74.0009765625, "address": "30 Hudson Yards", "city": "New York", "postalCode": "10001", "country": "United States" }, "endLocation": { "latitude": 40.75412368774414, "longitude": -74.0009765625, "address": "30 Hudson Yards", "city": "New York", "postalCode": "10001", "country": "United States" }, "productType": "ATTRACTION", "reviewsSummary": { "ratingsCount": 2763, "averageRating": 4.03 }, "pricing": { "currency": "USD", "profileType": "PER_PERSON", "headoutSellingPrice": 41, "netPrice": 33.62 }, "listingPrice": { "type": "PER_PERSON", "currencyCode": "USD", "minimumPrice": { "originalPrice": 41, "finalPrice": 41 }, "bestDiscount": 0 }, "currency": { "code": "USD", "currencyName": "United States Dollar", "symbol": "US$", "localSymbol": "$", "precision": 2 }, "localeSpecificUrls": { "EN": "https://www.headout.com/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/", "ES": "https://www.headout.com/es/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/", "FR": "https://www.headout.com/fr/edge-observation-deck-tickets/tickets-to-edge-observation-deck-e-19513/" }, "hasInstantConfirmation": true, "hasMobileTicket": true, "primaryCategory": { "id": "1", "name": "Tickets" }, "primarySubCategory": { "id": "1007", "name": "Landmarks", "categoryId": "1" }, "primaryCollection": { "id": "4012", "name": "Edge NYC", "cityCode": "NEW_YORK" }, "variants": [ { "id": "35412", "name": "General Admission", "description": "Access to the 100th-floor outdoor sky deck and 101st-floor indoor viewing area.", "duration": 3600000, "inventoryType": "FIXED_START_FLEXIBLE_DURATION", "pax": { "min": 1, "max": 10 }, "cashback": { "value": 5, "type": "PERCENTAGE" }, "ticketDeliveryInfoHtml": "<p>Mobile ticket delivered via email.</p>", "inputFields": [ { "oldId": 1, "id": "NAME", "name": "Full Name", "dataType": "STRING", "validation": { "regex": "^[a-zA-Z ]+$", "minLength": 1, "maxLength": 100, "minValue": null, "maxValue": null, "required": true }, "level": "PRIMARY_CUSTOMER" }, { "oldId": 2, "id": "EMAIL", "name": "Email Address", "dataType": "STRING", "validation": { "regex": "^[\\w.+-]+@[\\w-]+\\.[\\w.]+$", "minLength": 5, "maxLength": 150, "minValue": null, "maxValue": null, "required": true }, "level": "PRIMARY_CUSTOMER" } ], "tags": [ "EDGE" ] } ], "inventorySelectionType": "NORMAL", "cancellationPolicy": { "cancellable": false, "cancellableUpToInMinutes": null }, "reschedulePolicy": { "reschedulable": false, "reschedulableUpToInMinutes": null } } ], "nextUrl": "/api/public/v2/products?cityCode=NEW_YORK&offset=1&limit=1", "prevUrl": null, "total": 69, "nextOffset": 1 }

Authorizations

Headout-Auth
string
header
required

Query Parameters

cityCode
string
required

Uppercase city identifier (e.g., NEW_YORK, DUBAI, LONDON). Use the Cities API to retrieve all available city codes.

collectionId
string

Filter products by a specific themed collection (e.g., Broadway Shows, Theme Parks). Obtain collection IDs from the Collections API.

categoryId
string

Filter products by a top-level experience type (e.g., Tickets, Tours, Transportation). Obtain category IDs from the Categories API.

subCategoryId
string

Filter products by a specific subcategory within a category (e.g., Museums, Landmarks). Obtain subcategory IDs from the Subcategories API.

languageCode
enum<string>
default:EN

Language code for localizing response content including product names, descriptions, and URLs. Defaults to English (EN). See supported language codes.

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

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

campaignName
string

Partner-specific campaign identifier for tracking conversions and attributing bookings to marketing campaigns.

offset
string

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

limit
integer

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

Response

200 - application/json

Successful response

products
object[]

The products in this page of results.

nextUrl
string

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

prevUrl
string

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

total
integer

Total number of products matching the query across all pages.

nextOffset
integer

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