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

# Get Shopping Timeseries

> Per collection date and engine: distinct product count (unified), results_count (raw product rows), distinct brand count (from offers), merchant count (from offers), and share of shelf. share_of_shelf = results_count / total_results_for_that_day × 100.



## OpenAPI

````yaml https://openapi.shareofmodel.ai/swagger-sos.json get /v1/organizations/{organization_id}/workspaces/{workspace_id}/analyses/{project_id}/shopping/timeseries
openapi: 3.0.3
info:
  title: Share Of Model API
  version: v1
  description: >-
    ## Search



    The Share of Search API provides visibility, presence, and ranking metrics
    for tracked

    search and AI engine sources. Use it to analyse how a project performs
    across keywords,

    thematics, competitors, and ranked URLs over time.


    For the previous version of the API, see the [v1
    documentation](https://api.shareofsearch.jplus.io/docs/v1).
servers:
  - description: Search - Production API
    url: https://api.shareofsearch.jplus.io/
security: []
tags:
  - name: Projects
    description: >-
      Manage analyses (projects) within a workspace. Create new analyses and
      list existing ones.
  - name: Collects
    description: >-
      Access data collection runs and their raw results. List collect runs for
      an analysis, or retrieve the raw data captured during each run: domain
      rankings, brand mentions, keyword insights, and LLM/SERP responses.
  - name: Overview Metrics
    description: >-
      High-level, aggregated metrics that summarise the overall performance of
      an analysis. Use these endpoints to get a quick picture of visibility,
      presence, andranking across all keywords and sources.
  - name: Metrics
    description: >-
      Detailed, per-entity metrics for deep-diving into specific aspects of an
      analysis. Break down performance by domain, brand, keyword, URL, or
      competitor.
  - name: Insights
    description: >-
      Cross-project KPIs aggregated at the workspace level. These endpoints
      consolidate metrics from all active projects within a workspace to provide
      a unified view of visibility, mentions, citations, sentiment, and ranking.
  - name: Shopping
    description: >-
      Shopping-specific metrics for analyses that track product listings in
      shopping engines. Measure product visibility, pricing, merchant coverage,
      and share of shelf across all tracked keywords and sources.
paths:
  /v1/organizations/{organization_id}/workspaces/{workspace_id}/analyses/{project_id}/shopping/timeseries:
    get:
      tags:
        - Shopping
      summary: Get Shopping Timeseries
      description: >-
        Per collection date and engine: distinct product count (unified),
        results_count (raw product rows), distinct brand count (from offers),
        merchant count (from offers), and share of shelf. share_of_shelf =
        results_count / total_results_for_that_day × 100.
      operationId: get_shopping_timeseries
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            title: Organization Id
        - name: workspace_id
          in: path
          required: true
          schema:
            type: string
            title: Workspace Id
        - name: project_id
          in: path
          required: true
          schema:
            type: string
            title: Project Id
        - name: date_start
          in: query
          required: true
          schema:
            type: string
            format: date
            description: Start of the date range (YYYY-MM-DD).
            title: Date Start
          description: Start of the date range (YYYY-MM-DD).
        - name: date_end
          in: query
          required: true
          schema:
            type: string
            format: date
            description: End of the date range (YYYY-MM-DD, inclusive).
            title: Date End
          description: End of the date range (YYYY-MM-DD, inclusive).
        - name: brands
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            nullable: true
            description: >-
              Restrict results to products whose catalogue brand matches one of
              these brand names.
            title: Brands
          description: >-
            Restrict results to products whose catalogue brand matches one of
            these brand names.
        - name: product_catalog_ids
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            nullable: true
            description: >-
              Restrict results to products linked to one of these product
              catalogue IDs.
            title: Product Catalog Ids
          description: >-
            Restrict results to products linked to one of these product
            catalogue IDs.
        - name: merchants
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            nullable: true
            description: >-
              Restrict results to products offered by one of these merchant
              brand names.
            title: Merchants
          description: >-
            Restrict results to products offered by one of these merchant brand
            names.
        - name: sources
          in: query
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/SourcesEnum'
            nullable: true
            title: Sources
        - name: thematics
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
              format: uuid
            nullable: true
            description: Filter by a list of thematic IDs
            title: Thematics
          description: Filter by a list of thematic IDs
        - name: keyword_type
          in: query
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/KeywordOverviewMetricTypeEnum'
            nullable: true
            description: Filter by a list of keyword types
            title: Keyword Type
          description: Filter by a list of keyword types
        - name: funnel_stages
          in: query
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/FunnelStage'
            nullable: true
            description: Filter by a list of Funnel Stages
            title: Funnel Stages
          description: Filter by a list of Funnel Stages
        - name: persona_ids
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            nullable: true
            description: Filter by a list of persona IDs
            title: Persona Ids
          description: Filter by a list of persona IDs
        - name: topic_ids
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            nullable: true
            description: Filter by a list of topic IDs
            title: Topic Ids
          description: Filter by a list of topic IDs
        - name: get_neutrals
          in: query
          required: false
          schema:
            type: boolean
            nullable: true
            description: >-
              Filter by to get results related to neutral prompts, without
              weakness or strength
            title: Get Neutrals
          description: >-
            Filter by to get results related to neutral prompts, without
            weakness or strength
        - name: strength_ids
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            nullable: true
            description: Filter by a list of strength IDs
            title: Strength Ids
          description: Filter by a list of strength IDs
        - name: weakness_ids
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            nullable: true
            description: Filter by a list of weakness IDs
            title: Weakness Ids
          description: Filter by a list of weakness IDs
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ShoppingTimeseriesItem'
                title: Response Get Shopping Timeseries
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    SourcesEnum:
      type: string
      enum:
        - Bing
        - BingAIO
        - ChatGPT
        - Perplexity
        - Google
        - GoogleAIO
        - GoogleAIMode
        - Claude
        - Gemini
        - AmazonRufus
      title: SourcesEnum
    KeywordOverviewMetricTypeEnum:
      type: string
      enum:
        - Generic
        - Brand
      title: KeywordOverviewMetricTypeEnum
    FunnelStage:
      type: string
      enum:
        - ToFu
        - MoFu
        - BoFu
      title: FunnelStage
    ShoppingTimeseriesItem:
      properties:
        collection_date:
          type: string
          title: Collection Date
          description: Collection date in YYYY-MM-DD format.
        engine:
          type: string
          title: Engine
          description: Search engine source.
        products_count:
          type: integer
          title: Products Count
          description: Number of distinct unified products.
        results_count:
          type: integer
          title: Results Count
          description: Total product rows across all tracked keywords and sources.
        brands_count:
          type: integer
          title: Brands Count
          description: Number of distinct brands from merchant offers.
        merchants_count:
          type: integer
          title: Merchants Count
          description: Number of distinct merchants from offers.
        share_of_shelf:
          type: number
          title: Share Of Shelf
          description: >-
            Share of total shopping result rows for this day, expressed as a
            percentage. Computed as (results_count / day_total_results) × 100.
      type: object
      required:
        - collection_date
        - engine
        - products_count
        - results_count
        - brands_count
        - merchants_count
        - share_of_shelf
      title: ShoppingTimeseriesItem
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````