openapi: 3.0.0
info:
  title: The Statista Discovery API
  contact:
    name: API Support
    email: api@statista.com
  version: 2.8.0
  description: The Discovery-Starter & Discovery-Advanced Statista API
tags: []
paths:
  /v1/infographics:
    get:
      operationId: Infographics_findInfographics
      parameters:
        - name: q
          in: query
          required: false
          description: |-
            The query string to search for content.
            If omitted or empty/whitespace-only, the API uses a broad default query.
          schema:
            type: string
          explode: false
        - name: platform
          in: query
          required: false
          description: |-
            The platform to search for content.
            Defaults to `en` which means English.
          schema:
            $ref: '#/components/schemas/Api.Request.DiscoveryPlatform'
          explode: false
        - name: offset
          in: query
          required: false
          description: |-
            The number of items will be skipped before the first result.
            The default value for `offset` is 0.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 0
          explode: false
        - name: size
          in: query
          required: false
          description: |-
            The max. value depends on which API Package you are using.
            The default value for `size` is 10.
            See API-Packages for more information.

            An alias for `size` is `limit`
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 10
          explode: false
        - name: page
          in: query
          required: false
          description: |-
            The page number to return.
            The default value for `page` is 1.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 1
            default: 1
          explode: false
        - name: date_from
          in: query
          required: false
          description: |-
            The start date to search for content.
            All content published after this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            after or on the January 1st, 2023.
            If not set, we will use 3 months into the past as the default value.
          schema:
            $ref: '#/components/schemas/Api.Request.DateFrom'
          explode: false
        - name: date_to
          in: query
          required: false
          description: |-
            The end date to search for content.
            All content published before this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            before or on the January 1st, 2023.
            If not set, the current date is used.
          schema:
            $ref: '#/components/schemas/Api.Request.DateTo'
          explode: false
        - name: sort
          in: query
          required: false
          description: |-
            Choose how you want the results to be ordered:
            0 – Best match first (sorted by relevance)
            1 – Most recent first (sorted by publication date)
            If omitted, results are ordered by best match.
          schema:
            $ref: '#/components/schemas/Type.SortBy'
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                type: object
                required:
                  - items
                  - total_count
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Api.Response.Infographic'
                    description: A list of results returned for the current request.
                  total_count:
                    type: integer
                    format: uint32
                    description: The total number of available items matching the request.
                  total_pages:
                    type: integer
                    format: uint32
                    description: The total number of pages available, based on the selected size parameter
        '400':
          description: The server could not understand the request due to invalid syntax.
        '401':
          description: Access is unauthorized.
        '403':
          description: Access is forbidden.
  /v1/marketInsights:
    get:
      operationId: MarketInsights_findMarketInsights
      parameters:
        - name: q
          in: query
          required: false
          description: |-
            The query string to search for content.
            If omitted or empty/whitespace-only, the API uses a broad default query.
          schema:
            type: string
          explode: false
        - name: platform
          in: query
          required: false
          description: |-
            The platform to search for content.
            Defaults to `en` which means English.
          schema:
            $ref: '#/components/schemas/Api.Request.DiscoveryPlatform'
          explode: false
        - name: offset
          in: query
          required: false
          description: |-
            The number of items will be skipped before the first result.
            The default value for `offset` is 0.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 0
          explode: false
        - name: size
          in: query
          required: false
          description: |-
            The max. value depends on which API Package you are using.
            The default value for `size` is 10.
            See API-Packages for more information.

            An alias for `size` is `limit`
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 10
          explode: false
        - name: page
          in: query
          required: false
          description: |-
            The page number to return.
            The default value for `page` is 1.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 1
            default: 1
          explode: false
        - name: date_from
          in: query
          required: false
          description: |-
            The start date to search for content.
            All content published after this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            after or on the January 1st, 2023.
            If not set, we will use 3 months into the past as the default value.
          schema:
            $ref: '#/components/schemas/Api.Request.DateFrom'
          explode: false
        - name: date_to
          in: query
          required: false
          description: |-
            The end date to search for content.
            All content published before this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            before or on the January 1st, 2023.
            If not set, the current date is used.
          schema:
            $ref: '#/components/schemas/Api.Request.DateTo'
          explode: false
        - name: sort
          in: query
          required: false
          description: |-
            Choose how you want the results to be ordered:
            0 – Best match first (sorted by relevance)
            1 – Most recent first (sorted by publication date)
            If omitted, results are ordered by best match.
          schema:
            $ref: '#/components/schemas/Type.SortBy'
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                type: object
                required:
                  - items
                  - total_count
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Api.Response.MarketInsight'
                    description: A list of results returned for the current request.
                  total_count:
                    type: integer
                    format: uint32
                    description: The total number of available items matching the request.
                  total_pages:
                    type: integer
                    format: uint32
                    description: The total number of pages available, based on the selected size parameter
        '400':
          description: The server could not understand the request due to invalid syntax.
        '401':
          description: Access is unauthorized.
        '403':
          description: Access is forbidden.
  /v1/search/consumer-insights:
    get:
      operationId: consumerInsights
      parameters:
        - name: q
          in: query
          required: true
          description: The query string to search for.
          schema:
            type: string
            minLength: 1
            maxLength: 1000
          explode: false
        - name: size
          in: query
          required: false
          description: The maximum number of search results returned.
          schema:
            type: integer
            format: uint32
            minimum: 1
            maximum: 25
            default: 10
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Response.Search.ConsumerInsightsSearchResults'
        '400':
          description: The server could not understand the request due to invalid syntax.
        '401':
          description: Access is unauthorized.
        '403':
          description: Access is forbidden.
  /v1/search/market-insights/indicators:
    get:
      operationId: marketInsights
      parameters:
        - name: q
          in: query
          required: true
          description: The query string to search for.
          schema:
            type: string
            minLength: 1
            maxLength: 1000
          explode: false
        - name: size
          in: query
          required: false
          description: The maximum number of search results returned.
          schema:
            type: integer
            format: uint32
            minimum: 1
            maximum: 25
            default: 10
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Response.Search.MarketInsightsIndicators'
        '400':
          description: The server could not understand the request due to invalid syntax.
        '401':
          description: Access is unauthorized.
        '403':
          description: Access is forbidden.
  /v1/search/statistics:
    get:
      operationId: statistics
      parameters:
        - name: q
          in: query
          required: false
          description: |-
            The query string to search for content.
            This parameter is multi-lingual.
            If omitted or empty/whitespace-only, the API uses a broad default query.
          schema:
            type: string
          explode: false
        - name: offset
          in: query
          required: false
          description: |-
            The number of items will be skipped before the first result.
            The default value for `offset` is 0.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 0
          explode: false
        - name: size
          in: query
          required: false
          description: |-
            The max. value depends on which API Package you are using.
            The default value for `size` is 10.
            See API-Packages for more information.

            An alias for `size` is `limit`
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 10
          explode: false
        - name: date_from
          in: query
          required: false
          description: The start date to search for content.
          schema:
            $ref: '#/components/schemas/Api.Request.DateFrom'
          explode: false
        - name: date_to
          in: query
          required: false
          description: |-
            The end date to search for content.
            If not set, the current date is used.
          schema:
            $ref: '#/components/schemas/Api.Request.DateTo'
          explode: false
        - name: premium
          in: query
          required: false
          description: |-
            Filters content based on its premium status.
            If set to `true`, only premium content is returned.
            If set to `false`, only free content is returned.
            If not set, both free and premium content is returned.
          schema:
            type: boolean
            nullable: true
            default: null
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Response.Search.Statistics'
        '400':
          description: The server could not understand the request due to invalid syntax.
        '401':
          description: Access is unauthorized.
        '403':
          description: Access is forbidden.
  /v1/statistics:
    get:
      operationId: Statistics_findStatistics
      parameters:
        - name: q
          in: query
          required: false
          description: |-
            The query string to search for content.
            If omitted or empty/whitespace-only, the API uses a broad default query.
          schema:
            type: string
          explode: false
        - name: platform
          in: query
          required: false
          description: |-
            The platform to search for content.
            Defaults to `en` which means English.
          schema:
            $ref: '#/components/schemas/Api.Request.DiscoveryPlatform'
          explode: false
        - name: offset
          in: query
          required: false
          description: |-
            The number of items will be skipped before the first result.
            The default value for `offset` is 0.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 0
          explode: false
        - name: size
          in: query
          required: false
          description: |-
            The max. value depends on which API Package you are using.
            The default value for `size` is 10.
            See API-Packages for more information.

            An alias for `size` is `limit`
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 10
          explode: false
        - name: page
          in: query
          required: false
          description: |-
            The page number to return.
            The default value for `page` is 1.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 1
            default: 1
          explode: false
        - name: date_from
          in: query
          required: false
          description: |-
            The start date to search for content.
            All content published after this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            after or on the January 1st, 2023.
            If not set, we will use 3 months into the past as the default value.
          schema:
            $ref: '#/components/schemas/Api.Request.DateFrom'
          explode: false
        - name: date_to
          in: query
          required: false
          description: |-
            The end date to search for content.
            All content published before this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            before or on the January 1st, 2023.
            If not set, the current date is used.
          schema:
            $ref: '#/components/schemas/Api.Request.DateTo'
          explode: false
        - name: premium
          in: query
          required: false
          description: |-
            Filters content based on its premium status.
            If set to `true`, only premium content is returned.
            If set to `false`, only free content is returned.
            If not set, both free and premium content is returned.
          schema:
            type: boolean
            nullable: true
            default: null
          explode: false
        - name: sort
          in: query
          required: false
          description: |-
            Choose how you want the results to be ordered:
            0 – Best match first (sorted by relevance)
            1 – Most recent first (sorted by publication date)
            If omitted, results are ordered by best match.
          schema:
            $ref: '#/components/schemas/Type.SortBy'
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                type: object
                required:
                  - items
                  - total_count
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Api.Response.Statistic'
                    description: A list of results returned for the current request.
                  total_count:
                    type: integer
                    format: uint32
                    description: The total number of available items matching the request.
                  total_pages:
                    type: integer
                    format: uint32
                    description: The total number of pages available, based on the selected size parameter
        '400':
          description: The server could not understand the request due to invalid syntax.
        '401':
          description: Access is unauthorized.
        '403':
          description: Access is forbidden.
  /v1/studies:
    get:
      operationId: Studies_findStudies
      parameters:
        - name: q
          in: query
          required: false
          description: |-
            The query string to search for content.
            If omitted or empty/whitespace-only, the API uses a broad default query.
          schema:
            type: string
          explode: false
        - name: platform
          in: query
          required: false
          description: |-
            The platform to search for content.
            Defaults to `en` which means English.
          schema:
            $ref: '#/components/schemas/Api.Request.DiscoveryPlatform'
          explode: false
        - name: offset
          in: query
          required: false
          description: |-
            The number of items will be skipped before the first result.
            The default value for `offset` is 0.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 0
          explode: false
        - name: size
          in: query
          required: false
          description: |-
            The max. value depends on which API Package you are using.
            The default value for `size` is 10.
            See API-Packages for more information.

            An alias for `size` is `limit`
          schema:
            type: integer
            format: uint32
            minimum: 0
            default: 10
          explode: false
        - name: page
          in: query
          required: false
          description: |-
            The page number to return.
            The default value for `page` is 1.
            This is useful for pagination.
            Could be used in combination with `size`.
          schema:
            type: integer
            format: uint32
            minimum: 1
            default: 1
          explode: false
        - name: date_from
          in: query
          required: false
          description: |-
            The start date to search for content.
            All content published after this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            after or on the January 1st, 2023.
            If not set, we will use 3 months into the past as the default value.
          schema:
            $ref: '#/components/schemas/Api.Request.DateFrom'
          explode: false
        - name: date_to
          in: query
          required: false
          description: |-
            The end date to search for content.
            All content published before this date will be returned.
            We accept a variety of date formats, e.g. `YYYY-MM-DD`.
            For example, `2023-01-01` will return all content published
            before or on the January 1st, 2023.
            If not set, the current date is used.
          schema:
            $ref: '#/components/schemas/Api.Request.DateTo'
          explode: false
        - name: premium
          in: query
          required: false
          description: |-
            Filters content based on its premium status.
            If set to `true`, only premium content is returned.
            If set to `false`, only free content is returned.
            If not set, both free and premium content is returned.
          schema:
            type: boolean
            nullable: true
            default: null
          explode: false
        - name: sort
          in: query
          required: false
          description: |-
            Choose how you want the results to be ordered:
            0 – Best match first (sorted by relevance)
            1 – Most recent first (sorted by publication date)
            If omitted, results are ordered by best match.
          schema:
            $ref: '#/components/schemas/Type.SortBy'
          explode: false
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                type: object
                required:
                  - items
                  - total_count
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Api.Response.Study'
                    description: A list of results returned for the current request.
                  total_count:
                    type: integer
                    format: uint32
                    description: The total number of available items matching the request.
                  total_pages:
                    type: integer
                    format: uint32
                    description: The total number of pages available, based on the selected size parameter
        '400':
          description: The server could not understand the request due to invalid syntax.
        '401':
          description: Access is unauthorized.
        '403':
          description: Access is forbidden.
security:
  - ApiKeyAuth: []
components:
  schemas:
    Api.Request.DateFrom:
      type: string
      format: date-time
      description: |-
        The maximum search depth is limited to 20 years from today while the default is 3 months from today. Supported formats are
        - RFC 33939 (`%Y-%m-%dT%H:%M:%S` like in ISO 8601)
        - `%Y-%m-%d %H:%M:%S` - example `2024-03-07 12:45:38`
        - `%d.%m.%Y %H:%M:%S` - example `03.07.2024 12:45:38`
        - `%Y/%m/%d %H:%M:%S` - example `2024/03/07 12:45:38`
        - `%Y-%m-%d` - example `2024-03-07` (in this case we assume 00:00:00 as time for Start and 23:59:59 for End)
        - `%d.%m.%Y` - example `03.07.2024` (in this case we assume 00:00:00 as time for Start and 23:59:59 for End)
        - `%Y/%m/%d` - example `2024/03/07` (in this case we assume 00:00:00 as time for Start and 23:59:59 for End)
    Api.Request.DateTo:
      type: string
      format: date-time
      description: |-
        Supported formats are
        - RFC 33939 (`%Y-%m-%dT%H:%M:%S` like in ISO 8601)
        - `%Y-%m-%d %H:%M:%S` - example `2024-03-07 12:45:38`
        - `%d.%m.%Y %H:%M:%S` - example `03.07.2024 12:45:38`
        - `%Y/%m/%d %H:%M:%S` - example `2024/03/07 12:45:38`
        - `%Y-%m-%d` - example `2024-03-07` (in this case we assume 00:00:00 as time for Start and 23:59:59 for End)
        - `%d.%m.%Y` - example `03.07.2024` (in this case we assume 00:00:00 as time for Start and 23:59:59 for End)
        - `%Y/%m/%d` - example `2024/03/07` (in this case we assume 00:00:00 as time for Start and 23:59:59 for End)
    Api.Request.DiscoveryPlatform:
      type: string
      enum:
        - de
        - en
        - en-de
    Api.Response.Base:
      type: object
      required:
        - identifier
        - title
        - link
        - date
        - released_at
        - platform
        - subject
        - is_premium
      properties:
        identifier:
          allOf:
            - $ref: '#/components/schemas/Type.Id'
          description: A unique number for this content. It helps find or refer to this data.
        title:
          type: string
          description: The name of the content. It tells what the data is about.
        description:
          type: string
          description: 'Optional: A short text that explains the most important facts in the data. Available for Advanced API key'
        link:
          type: string
          description: The website address (URL) where you can see the full content on the Statista platform.
        date:
          type: string
          format: date-time
          description: 'Deprecated: The date when the data was published. Use `updated_at` for the latest update timestamp. Or use `released_at` for the creation timestamp. Format: YYYY-MM-DDTHH:mm:ssZ'
          deprecated: true
        updated_at:
          type: string
          format: date-time
          description: 'The date when the data was last updated. Format: YYYY-MM-DDTHH:mm:ssZ'
        released_at:
          type: string
          format: date-time
          description: 'The date when the content was released. Format: YYYY-MM-DDTHH:mm:ssZ'
        platform:
          allOf:
            - $ref: '#/components/schemas/Type.LanguageLocale'
          description: The language of the page or platform.
        ranking_score:
          type: number
          format: float
          nullable: true
          description: The ranking score used to rank this result.
        sources:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of sources related to the data.
        publishers:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of publishers related to the data.
        chargers:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of chargers related to the data.
        subject:
          type: string
          description: A short summary of what the data shows.
        is_premium:
          type: boolean
          description: A true/false value. Indicates on paid and free content.
        industries:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Industry'
          description: A list of industries related to the data.
    Api.Response.CoveredTimeFrame:
      type: object
      required:
        - start
        - end
        - display_text
      properties:
        start:
          type: string
          format: date-time
          description: 'The start of the covered time frame. Format: YYYY-MM-DDTHH:mm:ssZ'
        end:
          type: string
          format: date-time
          description: 'The end of the covered time frame. Format: YYYY-MM-DDTHH:mm:ssZ'
        display_text:
          type: string
          description: The human-readable covered time frame.
    Api.Response.ERI:
      type: object
      required:
        - identifier
        - title
        - link
        - date
        - released_at
        - platform
        - subject
        - is_premium
      properties:
        identifier:
          allOf:
            - $ref: '#/components/schemas/Type.Id'
          description: A unique number for this content. It helps find or refer to this data.
        title:
          type: string
          description: The name of the content. It tells what the data is about.
        description:
          type: string
          description: 'Optional: A short text that explains the most important facts in the data. Available for Advanced API key'
        link:
          type: string
          description: The website address (URL) where you can see the full content on the Statista platform.
        date:
          type: string
          format: date-time
          description: 'Deprecated: The date when the data was published. Use `updated_at` for the latest update timestamp. Or use `released_at` for the creation timestamp. Format: YYYY-MM-DDTHH:mm:ssZ'
          deprecated: true
        updated_at:
          type: string
          format: date-time
          description: 'The date when the data was last updated. Format: YYYY-MM-DDTHH:mm:ssZ'
        released_at:
          type: string
          format: date-time
          description: 'The date when the content was released. Format: YYYY-MM-DDTHH:mm:ssZ'
        platform:
          allOf:
            - $ref: '#/components/schemas/Type.LanguageLocale'
          description: The language of the page or platform.
        ranking_score:
          type: number
          format: float
          nullable: true
          description: The ranking score used to rank this result.
        sources:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of sources related to the data.
        publishers:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of publishers related to the data.
        chargers:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of chargers related to the data.
        subject:
          type: string
          description: A short summary of what the data shows.
        is_premium:
          type: boolean
          description: A true/false value. Indicates on paid and free content.
        industries:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Industry'
          description: A list of industries related to the data.
        geolocations:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Region'
          description: A list of regions related to the data.
    Api.Response.Industry:
      type: object
      required:
        - name
      properties:
        id:
          allOf:
            - $ref: '#/components/schemas/Type.IndustryId'
          description: The unique identifier for the industry.
        name:
          type: string
          description: The name of the industry.
    Api.Response.Infographic:
      type: object
      required:
        - teaser_image_urls
      properties:
        teaser_image_urls:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.TeaserImage'
          description: A list of preview images for this content.
      allOf:
        - $ref: '#/components/schemas/Api.Response.Base'
    Api.Response.MarketInsight:
      type: object
      required:
        - identifier
        - title
        - link
        - date
        - released_at
        - platform
        - is_premium
      properties:
        identifier:
          allOf:
            - $ref: '#/components/schemas/Type.Id'
          description: A unique number for this content. It helps find or refer to this data.
        title:
          type: string
          description: The name of the content. It tells what the data is about.
        description:
          type: string
          description: 'Optional: A short text that explains the most important facts in the data. Available for Advanced API key'
        link:
          type: string
          description: The website address (URL) where you can see the full content on the Statista platform.
        date:
          type: string
          format: date-time
          description: 'Deprecated: The date when the data was published. Use `updated_at` for the latest update timestamp. Or use `released_at` for the creation timestamp. Format: YYYY-MM-DDTHH:mm:ssZ'
          deprecated: true
        updated_at:
          type: string
          format: date-time
          description: 'The date when the data was last updated. Format: YYYY-MM-DDTHH:mm:ssZ'
        released_at:
          type: string
          format: date-time
          description: 'The date when the content was released. Format: YYYY-MM-DDTHH:mm:ssZ'
        platform:
          allOf:
            - $ref: '#/components/schemas/Type.LanguageLocale'
          description: The language of the page or platform.
        ranking_score:
          type: number
          format: float
          nullable: true
          description: The ranking score used to rank this result.
        sources:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of sources related to the data.
        publishers:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of publishers related to the data.
        chargers:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Source'
          description: A list of chargers related to the data.
        is_premium:
          type: boolean
          description: A true/false value. Indicates on paid and free content.
        covered_time_frame:
          allOf:
            - $ref: '#/components/schemas/Api.Response.CoveredTimeFrame'
          description: Timeframe the data is covering, start and end are inclusive.
        geolocations:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Region'
          description: A list of regions related to the data.
    Api.Response.Region:
      type: object
      required:
        - name
        - code
      properties:
        id:
          allOf:
            - $ref: '#/components/schemas/Type.RegionId'
          description: 'Optional: The unique identifier for the region.'
        name:
          type: string
          description: 'Optional: The name of the region.'
        code:
          type: string
          description: The code of the region.
    Api.Response.Search.Answer:
      type: object
      required:
        - answer_id
        - label
        - order
        - code
      properties:
        answer_id:
          type: string
          description: A unique answer ID.
        label:
          type: string
          description: Description of the answer.
        order:
          type: integer
          format: uint16
          description: Sort order of the answers in the survey.
        code:
          type: integer
          format: uint16
          description: Numeric ID part of the answer ID, which consists of the question ID, '#', and the numeric ID, such as 'v0013g_demo_generation#42'.
    Api.Response.Search.ConsumerInsightsSearchResult:
      type: object
      required:
        - question_id
        - indicator
        - label
        - question_type
        - metadata
        - answers_subset
        - total_answers
      properties:
        question_id:
          type: string
          description: A unique question ID.
        indicator:
          type: string
          description: Short summary of what this question is about.
        label:
          type: string
          description: Exact phrasing of the question shown to survey respondents.
        question_type:
          type: string
          description: What kind of questions / answer combination was asked, e.g. 'multi-pick'.
        metadata:
          allOf:
            - $ref: '#/components/schemas/Api.Response.Search.MetaData'
          description: Additional data describing details of the survey.
        answers_subset:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Search.Answer'
          description: List of answers related to the question.
        total_answers:
          type: integer
          format: uint32
          description: The number of available answer options.
    Api.Response.Search.ConsumerInsightsSearchResults:
      type: object
      required:
        - results
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Search.ConsumerInsightsSearchResult'
    Api.Response.Search.MarketInsightsIndicator:
      type: object
      required:
        - identifier
        - title
        - subject
        - description
        - link
        - updated_at
        - industries
        - covered_timeframe
      properties:
        identifier:
          type: string
          description: A unique ID for this indicator. It helps find or refer to this data.
        title:
          type: string
          description: The name of the content. It tells what the data is about.
        subject:
          type: string
          description: A short summary of what the data shows.
        description:
          type: string
          description: A short text that explains the most important facts in the data
        link:
          type: string
          description: The website address (URL) where you can see the full content on the Statista platform.
        updated_at:
          type: string
          description: 'The date when the data was published. Format: YYYY-MM-DD'
        industries:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Search.MarketInsightsIndustry'
          description: A list of industries covered by this market indicator.
        covered_timeframe:
          allOf:
            - $ref: '#/components/schemas/Api.Response.Search.Timeframe'
          description: Timeframe the data is covering, start and end are inclusive.
        covered_geos:
          type: object
          additionalProperties:
            type: string
          description: List of available geographic regions for this indicator. Mapping of the geo code to a human readable name.
        market_type:
          type: string
          description: The type of market this indicator describes.
        market_type_description:
          type: string
          description: The description market type.
    Api.Response.Search.MarketInsightsIndicators:
      type: object
      required:
        - items
        - total_count
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Search.MarketInsightsIndicator'
          description: A list of results returned for the current request.
        total_count:
          type: integer
          format: uint32
          description: The total number of available items matching the request.
    Api.Response.Search.MarketInsightsIndustry:
      type: object
      required:
        - name
        - segments
      properties:
        name:
          type: string
          description: The name of the industry.
        segments:
          type: array
          items:
            type: string
          description: A list of segments for this industry.
    Api.Response.Search.MetaData:
      type: object
      required:
        - min_year
        - max_year
      properties:
        min_year:
          type: integer
          format: uint16
          description: Start year, when this question was first asked.
        max_year:
          type: integer
          format: uint16
          description: Last year, when this question was asked.
    Api.Response.Search.Statistics:
      type: object
      required:
        - items
        - total_count
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.Statistic'
          description: A list of results returned for the current request.
        total_count:
          type: integer
          format: uint32
          description: The total number of available items matching the request.
        total_pages:
          type: integer
          format: uint32
          description: The total number of pages available, based on the selected size parameter
    Api.Response.Search.Timeframe:
      type: object
      required:
        - start
        - end
      properties:
        start:
          type: string
          description: 'Start date of the timeframe. Format: YYYY-MM-DD'
        end:
          type: string
          description: 'End date of the timeframe. Format: YYYY-MM-DD'
    Api.Response.Source:
      type: object
      required:
        - title
      properties:
        title:
          type: string
          description: The name of the source, publisher, or charger.
        subtitle:
          type: string
          description: 'Optional: Additional source, publisher, or charger information.'
    Api.Response.Statistic:
      type: object
      required:
        - teaser_image_urls
      properties:
        teaser_image_urls:
          type: array
          items:
            $ref: '#/components/schemas/Api.Response.TeaserImage'
          description: A list of preview images for this content.
      allOf:
        - $ref: '#/components/schemas/Api.Response.ERI'
    Api.Response.Study:
      type: object
      properties:
        covered_time_frame:
          allOf:
            - $ref: '#/components/schemas/Api.Response.CoveredTimeFrame'
          description: Timeframe the data is covering, start and end are inclusive.
      allOf:
        - $ref: '#/components/schemas/Api.Response.ERI'
    Api.Response.TeaserImage:
      type: object
      required:
        - width
        - src
      properties:
        width:
          type: integer
          format: uint32
          description: The width of the image in pixels.
        src:
          type: string
          description: The image link (URL).
    Type.Id:
      type: integer
      format: uint64
    Type.IndustryId:
      type: integer
      format: uint16
    Type.LanguageLocale:
      type: string
      enum:
        - de
        - en
        - fr
        - es
    Type.RegionId:
      type: integer
      format: uint16
    Type.SortBy:
      type: number
      enum:
        - 0
        - 1
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
servers:
  - url: https://api.statista.ai/
    description: Single Server endpoint
    variables: {}
