Circana Market Data API

Access point-of-sale and market measurement data

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

circana-market-data-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Circana Liquid Data Brands Market Data API
  description: Circana's Liquid Data platform provides cross-industry data and advanced analytics in a single, open platform. This API enables programmatic access to market measurement, consumer panel, and retail analytics data deployable across Azure, AWS, Google Cloud, and Oracle Cloud environments.
  version: 1.0.0
  contact:
    name: Circana
    url: https://www.circana.com
    email: support@circana.com
  license:
    name: Proprietary
    url: https://www.circana.com/terms-and-conditions
  x-generated-from: documentation
  x-last-validated: '2026-04-18'
servers:
- url: https://api.circana.com/liquid-data/v1
  description: Circana Liquid Data Production API
security:
- bearerAuth: []
tags:
- name: Market Data
  description: Access point-of-sale and market measurement data
paths:
  /market-data/pos:
    get:
      operationId: getPointOfSaleData
      summary: Circana Get Point of Sale Data
      description: Retrieve point-of-sale data with filters for time period, geography, category, and retailer. Returns sales volume, revenue, and unit data.
      tags:
      - Market Data
      parameters:
      - name: category_id
        in: query
        required: true
        description: Product category identifier
        schema:
          type: string
        example: cpg-beverages
      - name: start_date
        in: query
        required: true
        description: Start date for the data range in ISO 8601 format
        schema:
          type: string
          format: date
        example: '2026-01-01'
      - name: end_date
        in: query
        required: true
        description: End date for the data range in ISO 8601 format
        schema:
          type: string
          format: date
        example: '2026-03-31'
      - name: geography
        in: query
        required: false
        description: Geographic market filter
        schema:
          type: string
          enum:
          - national
          - regional
          - dma
          - store
        example: national
      - name: retailer_id
        in: query
        required: false
        description: Specific retailer identifier for filtering
        schema:
          type: string
        example: ret-500123
      - name: granularity
        in: query
        required: false
        description: Time granularity of the data
        schema:
          type: string
          enum:
          - weekly
          - monthly
          - quarterly
          - annual
        example: weekly
      - name: offset
        in: query
        required: false
        description: Pagination offset
        schema:
          type: integer
          default: 0
        example: 0
      - name: limit
        in: query
        required: false
        description: Maximum number of records to return
        schema:
          type: integer
          default: 100
          maximum: 1000
        example: 100
      responses:
        '200':
          description: Point-of-sale data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/POSDataResponse'
              examples:
                GetPointOfSaleData200Example:
                  summary: Default getPointOfSaleData 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - period: 2026-W01
                      category: Beverages
                      brand: Example Brand
                      upc: 012345678901
                      dollar_sales: 125340.5
                      unit_sales: 45230
                      volume_sales: 67845.0
                      avg_price: 2.77
                      distribution_pct: 85.3
                    pagination:
                      offset: 0
                      limit: 100
                      total: 4523
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication credentials missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Insufficient permissions for requested data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /market-data/share:
    get:
      operationId: getMarketShare
      summary: Circana Get Market Share Data
      description: Retrieve market share data showing brand and category share metrics across retailers and geographies.
      tags:
      - Market Data
      parameters:
      - name: category_id
        in: query
        required: true
        description: Product category identifier
        schema:
          type: string
        example: cpg-snacks
      - name: start_date
        in: query
        required: true
        description: Start date for the data range
        schema:
          type: string
          format: date
        example: '2026-01-01'
      - name: end_date
        in: query
        required: true
        description: End date for the data range
        schema:
          type: string
          format: date
        example: '2026-03-31'
      - name: metric
        in: query
        required: false
        description: Share metric type
        schema:
          type: string
          enum:
          - dollar_share
          - unit_share
          - volume_share
        example: dollar_share
      responses:
        '200':
          description: Market share data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketShareResponse'
              examples:
                GetMarketShare200Example:
                  summary: Default getMarketShare 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - brand: Example Brand A
                      dollar_share: 24.5
                      unit_share: 22.1
                      share_change: 1.2
                      period: 2026-Q1
                    pagination:
                      offset: 0
                      limit: 100
                      total: 45
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication credentials missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    POSRecord:
      type: object
      description: Individual point-of-sale data record
      properties:
        period:
          type: string
          description: Time period identifier
          example: 2026-W01
        category:
          type: string
          description: Product category name
          example: Beverages
        brand:
          type: string
          description: Brand name
          example: Example Brand
        upc:
          type: string
          description: Universal Product Code
          example: 012345678901
        dollar_sales:
          type: number
          format: double
          description: Total dollar sales for the period
          example: 125340.5
        unit_sales:
          type: integer
          description: Total unit sales for the period
          example: 45230
        volume_sales:
          type: number
          format: double
          description: Total volume sales (equivalent units)
          example: 67845.0
        avg_price:
          type: number
          format: double
          description: Average selling price
          example: 2.77
        distribution_pct:
          type: number
          format: double
          description: Percentage of stores carrying the product
          example: 85.3
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        error:
          type: string
          description: Error type identifier
          example: invalid_request
        message:
          type: string
          description: Human-readable error message
          example: The category_id parameter is required
        status:
          type: integer
          description: HTTP status code
          example: 400
        request_id:
          type: string
          description: Unique request identifier for troubleshooting
          example: req-a1b2c3d4
    Pagination:
      type: object
      description: Pagination metadata
      properties:
        offset:
          type: integer
          description: Current offset position
          example: 0
        limit:
          type: integer
          description: Maximum records per page
          example: 100
        total:
          type: integer
          description: Total number of records available
          example: 4523
    MarketShareRecord:
      type: object
      description: Individual market share data record
      properties:
        brand:
          type: string
          description: Brand name
          example: Example Brand A
        dollar_share:
          type: number
          format: double
          description: Dollar market share percentage
          example: 24.5
        unit_share:
          type: number
          format: double
          description: Unit market share percentage
          example: 22.1
        share_change:
          type: number
          format: double
          description: Share change vs prior period in percentage points
          example: 1.2
        period:
          type: string
          description: Time period identifier
          example: 2026-Q1
    POSDataResponse:
      type: object
      description: Point-of-sale data response containing sales metrics
      properties:
        data:
          type: array
          description: Array of POS data records
          items:
            $ref: '#/components/schemas/POSRecord'
        pagination:
          $ref: '#/components/schemas/Pagination'
    MarketShareResponse:
      type: object
      description: Market share data response
      properties:
        data:
          type: array
          description: Array of market share records
          items:
            $ref: '#/components/schemas/MarketShareRecord'
        pagination:
          $ref: '#/components/schemas/Pagination'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained through Circana authentication