> ## Documentation Index
> Fetch the complete documentation index at: https://partner.headout.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List product listing by city

> <Warning>We are soon moving to **v2 APIs** and **v1** will be deprecated. Switch to **v2** using the version selector above.</Warning>

Retrieve bookable experiences (tickets, tours, activities) for a specific city, with optional currency and language localization. Each product includes pricing, images, reviews, availability info, and cancellation policies.



## OpenAPI

````yaml GET /api/public/v1/product/listing/list-by/city/
openapi: 3.1.0
info:
  title: Headout API Docs
  version: 0.0.1
servers:
  - url: https://www.headout.com
    description: Production server
  - url: https://www.sandbox-headout.com
    description: Sandbox server
security: []
paths:
  /api/public/v1/product/listing/list-by/city/:
    get:
      tags:
        - Products
      summary: List product listing by city
      description: >-
        <Warning>We are soon moving to **v2 APIs** and **v1** will be
        deprecated. Switch to **v2** using the version selector above.</Warning>


        Retrieve bookable experiences (tickets, tours, activities) for a
        specific city, with optional currency and language localization. Each
        product includes pricing, images, reviews, availability info, and
        cancellation policies.
      operationId: v1ListProductsByCity
      parameters:
        - name: cityCode
          in: query
          required: true
          schema:
            type: string
          description: City code to list product listings for.
        - name: currencyCode
          in: query
          schema:
            type: string
          description: Currency code for product pricing.
        - name: language
          in: query
          required: false
          schema:
            type: string
            example: EN
            default: EN
            enum:
              - EN
              - ES
              - FR
              - IT
              - DE
              - PT
              - NL
              - PL
              - KO
              - JA
              - ZH_HANS
              - ZH_HANT
              - AR
              - DA
              - 'NO'
              - RO
              - RU
              - SV
              - TR
          description: >-
            Language code for localization. Content falls back to English when a
            translation is unavailable.
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
          description: Number of items to skip before starting to collect the result set.
        - name: limit
          in: query
          schema:
            type: integer
            default: 10
          description: Maximum number of items to return.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProductCards'
              example:
                items:
                  - id: '38590'
                    name: Arte Museum New York
                    url: /arte-museum/arte-museum-new-york-tickets-e-38590/
                    canonicalUrl: >-
                      https://www.headout.com/arte-museum/arte-museum-new-york-tickets-e-38590/
                    city:
                      name: New York
                      code: NEW_YORK
                    image:
                      url: >-
                        https://cdn-imgix.headout.com/media/images/730a2ad2-ed58-42e6-8d34-ba0230dfa735-1762937104217-326622.jpg
                    neighbourhood: null
                    primaryCategory:
                      id: 6614
                      name: Arte Museum New York
                      cityCode: NEW_YORK
                      url: /category/6614
                    currency:
                      code: USD
                      currencyName: United States Dollar
                      symbol: US$
                      localSymbol: $
                      precision: 2
                      currency: USD
                    startGeolocation:
                      latitude: 40.74739074707031
                      longitude: -74.00825500488281
                    ratingCumulative:
                      avg: 4.7
                      count: 340
                    pricing:
                      type: PER_PERSON
                      currencyCode: USD
                      minimumPrice:
                        originalPrice: 48.99
                        finalPrice: 48.99
                      bestDiscount: 0
                    hasInstantConfirmation: false
                    inventorySelectionType: NORMAL
                nextUrl: >-
                  https://www.headout.com/api/public/v1/product/listing/list-by/city?cityCode=NEW_YORK&currencyCode=USD&language=EN&offset=1&limit=1
                prevUrl: null
                total: 165
                nextOffset: 1
      security:
        - apiKeyAuth: []
      x-codeSamples:
        - lang: curl
          source: >
            curl --location
            'https://www.headout.com/api/public/v1/product/listing/list-by/city/?cityCode=LONDON&currencyCode=CAD&language=FR&limit=10&offset=10'
            \

            --header 'Headout-Auth: <YOUR_API_KEY>'
components:
  schemas:
    PaginatedProductCards:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProductCard'
          description: The product cards in this page of results.
        nextUrl:
          type:
            - string
            - 'null'
          description: >-
            Full URL to fetch the next page of results. Null if on the last
            page.
        prevUrl:
          type:
            - string
            - 'null'
          description: >-
            Full URL to fetch the previous page of results. Null if on the first
            page.
        total:
          type: integer
          description: Total number of products matching the query across all pages.
        nextOffset:
          type:
            - integer
            - 'null'
          description: >-
            Offset value to use in the next request to retrieve the following
            page.
    ProductCard:
      type: object
      properties:
        id:
          type: string
          description: Headout's unique product identifier for the listing card.
        name:
          type: string
          description: Display name of the experience.
        url:
          type: string
          description: Relative URL path for this product page on Headout.
        canonicalUrl:
          type: string
          description: The canonical Headout URL for this product page.
        city:
          type: object
          properties:
            name:
              type: string
              description: Human-readable city name for display.
            code:
              type: string
              description: >-
                Uppercase city identifier used as a parameter in other API
                endpoints.
        image:
          type: object
          properties:
            url:
              type:
                - string
                - 'null'
              description: CDN URL of the card image.
        neighbourhood:
          type:
            - string
            - 'null'
          description: Neighbourhood or locality where the experience takes place.
        primaryCategory:
          type: object
          properties:
            id:
              type: integer
              description: Headout's identifier for this category.
            name:
              type: string
              description: Display name of the category.
            cityCode:
              type: string
              description: The city this category belongs to.
            url:
              type: string
              description: Relative URL path for this category on Headout.
        currency:
          type: object
          properties:
            code:
              type: string
              description: Currency code.
            currencyName:
              type: string
              description: Full name of the currency.
            symbol:
              type: string
              description: International currency symbol.
            localSymbol:
              type: string
              description: Locally preferred symbol for this currency.
            precision:
              type: integer
              description: Number of decimal places used for this currency.
            currency:
              type: string
              description: ISO currency code echoed in the payload.
        startGeolocation:
          type: object
          properties:
            latitude:
              type: number
              format: double
              description: Latitude coordinate of the location in decimal degrees.
            longitude:
              type: number
              format: double
              description: Longitude coordinate of the location in decimal degrees.
        ratingCumulative:
          type: object
          properties:
            avg:
              type: number
              format: double
              description: Mean customer rating on a scale of 1-5.
            count:
              type: integer
              description: >-
                Total number of verified customer ratings submitted for this
                product.
        pricing:
          type:
            - object
            - 'null'
          properties:
            type:
              type: string
              description: Pricing model for this product listing.
            currencyCode:
              type: string
              description: Currency code for all price values in this object.
            minimumPrice:
              type: object
              properties:
                originalPrice:
                  type: number
                  format: double
                  description: Full undiscounted price.
                finalPrice:
                  type: number
                  format: double
                  description: Actual price after discounts.
            bestDiscount:
              type: number
              format: double
              description: Highest discount percentage available across all variants.
        hasInstantConfirmation:
          type: boolean
          description: Whether bookings for this product are confirmed immediately.
        inventorySelectionType:
          type: string
          enum:
            - NORMAL
            - SEATMAP
          description: Inventory selection flow for this product.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Headout-Auth

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.