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

# Get product counters

> Retrieves view, add-to-cart, and transaction counts for multiple products.



## OpenAPI

````yaml /data.api.json get /product/productCounters
openapi: 3.0.1
info:
  title: Kameleoon Data API
  description: ''
  version: '1.0'
servers:
  - url: https://eu-data.kameleoon.io
  - url: https://na-data.kameleoon.io
  - url: https://eu-data.kameleoon.eu
  - url: https://na-data.kameleoon.eu
security: []
paths:
  /product/productCounters:
    get:
      tags:
        - Product
      summary: Get product counters
      description: >-
        Retrieves view, add-to-cart, and transaction counts for multiple
        products.
      operationId: GET /product/productCounters
      parameters:
        - name: user-agent
          in: header
          required: true
          description: >-
            Not always required. Kameleoon rejects an incoming request if the
            source is a bot or spider, based on [IAB/ABC user-agent filtering
            rules](https://www.iab.com/guidelines/iab-abc-international-spiders-bots-list/).

            Kameleoon uses a single-pass method. You don't need to take specific
            action when sending requests from a web browser using a standard
            library (XHR). However, in other cases, set a custom value for the
            `User-Agent` request header to overwrite the default value the
            library sets.
          schema:
            type: string
            default: kameleoon-docs
        - name: siteCode
          in: query
          description: The Kameleoon project ID.
          required: true
          schema:
            type: string
        - name: eans
          in: query
          description: >-
            A JSON array of product IDs or EANs. For example,
            <code>["ean1","ean2"]</code>. Limit the array to 100 products.
          required: true
          schema:
            type: string
            description: 'JSON array of `<product Id / EAN: string>`.'
        - name: timeBegin
          in: query
          description: >-
            The date to begin querying from (UNIX millisecond timestamp format).
            This date is inclusive.
          schema:
            type: integer
            format: int64
        - name: timeEnd
          in: query
          description: >-
            The date to query to (UNIX millisecond timestamp format). This date
            is exclusive.
          schema:
            type: integer
            format: int64
        - name: prettyPrint
          in: query
          description: Set to <code>true</code> for a "pretty" printed response.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: >-
            Successful operation, products counters are rendered, of type JSON
            object {&quot;&lt;product Id / EAN&gt;&quot;: &lt;product
            counters&gt;}, with &lt;product counters&gt; of type JSON object
            {&quot;v&quot;: &lt;number of views = integer&frasl;int32&gt;,
            &quot;atcq&quot;: &lt;add to cart quantities =
            integer&frasl;int32&gt;, &quot;bq&quot;: &lt;transaction quantities
            = integer&frasl;int32&gt;}
        '400':
          description: Malformed URL query syntax.
        '401':
          description: >-
            Authentication failed. Either the HTTP header value is malformed, or
            the token is missing or invalid (malformed, expired, or invalid
            signature).
        '403':
          description: Access denied. Forbidden user-agent or restricted resource.
        '429':
          description: Kameleoon rate-limited the request.
        '500':
          description: An unexpected internal error occurred.

````