Gumlet Video Usage Analytics API

Query video analytics and streaming duration usage data.

Operations 2

POST /video/analytics Video Usage Analytics #
GET /video/streaming-duration Top Streamed Assets #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gumlet-video-usage-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gumlet-video-usage-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Gumlet Video Usage Analytics API
  description: Gumlet helps developers deliver online video and images. This API encompasses Gumlet Video, Image and Video Analytics functionality to help you build your products better and faster than ever before.
  version: '1.4'
  contact:
    name: Gumlet Support Team
    url: https://www.gumlet.com/contact/
    email: support@gumlet.com
  termsOfService: https://www.gumlet.com/terms/
  license:
    name: Apache 2.0
    url: https://opensource.org/license/apache-2.0
  x-scalar-sdk-installation:
  - lang: TypeScript
    description: '```sh

      npm install @gumlet/nodejs-sdk

      ```'
  - lang: Python
    description: '```sh

      pip install gumlet

      ```'
servers:
- url: https://api.gumlet.com/v1
security:
- API_KEY: []
tags:
- name: Video Usage Analytics
  description: Query video analytics and streaming duration usage data.
paths:
  /video/analytics:
    post:
      summary: Video Usage Analytics
      description: This endpoint gives usage analytics data of your videos. Ex - top assets, bandwidth consumption
      operationId: retrieve-analytics
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - metrics
              - date_range
              properties:
                metrics:
                  type: array
                  description: Define the metric you need the data for. Currently we only support `bandwidth_consumption`, `asset_duration`, `storage_unit`, `top_assets`, `bandwidth_consumption_by_collection`, `errored_videos` and `widget_data`
                  items:
                    type: string
                    enum:
                    - bandwidth_consumption
                    - asset_duration
                    - storage_unit
                    - top_assets
                    - drm_requests
                    - ai_credit_usage
                    - errored_videos
                    x-apidog-enum:
                    - value: bandwidth_consumption
                      name: ''
                      description: ''
                    - value: asset_duration
                      name: ''
                      description: ''
                    - value: storage_unit
                      name: ''
                      description: ''
                    - value: top_assets
                      name: ''
                      description: ''
                    - value: drm_requests
                      name: ''
                      description: ''
                    - value: ai_credit_usage
                      name: ''
                      description: ''
                    - value: errored_videos
                      name: ''
                      description: ''
                date_range:
                  type: object
                  description: The timeframe to get the data for. Currently we only support a maximum of 60 days between `start_at` and `end_at`.
                  properties:
                    start_at:
                      type: string
                      description: The starting date to consider
                      format: date
                    end_at:
                      type: string
                      description: The ending date to consider
                      format: date
                  x-apidog-orders:
                  - start_at
                  - end_at
                  required:
                  - start_at
                  - end_at
                filters:
                  type: object
                  properties:
                    collection_id:
                      type: string
                      description: The ID of the `workspace` you want to filter the data for.
                    source_id:
                      type: string
                      description: The ID of the `workspace` you want to filter the data for. Deprecated.
                      deprecated: true
                  x-apidog-orders:
                  - collection_id
                  - source_id
                top_assets_count:
                  type: string
                  description: Count of video assets that should be returned. Max assets count is 1000 per page.
                  default: '5'
                top_assets_page:
                  type: string
                  default: '0'
                  description: top_assets metric may get paginated response. Iterate this parameter to get more data.
                group_by:
                  type: string
                  description: Group by hourly, daily or monthly. If you don't specify anything it's `hourly` by default.
                  enum:
                  - hourly
                  - daily
                  - monthly
                  x-apidog-enum:
                  - value: hourly
                    name: ''
                    description: ''
                  - value: daily
                    name: ''
                    description: ''
                  - value: monthly
                    name: ''
                    description: ''
                  default: hourly
              x-apidog-orders:
              - metrics
              - date_range
              - group_by
              - filters
              - top_assets_count
              - top_assets_page
            examples:
              Example 1:
                value:
                  metrics:
                  - bandwidth_consumption
                  - asset_duration
                  - storage_unit
                  - top_assets
                  - drm_requests
                  date_range:
                    start_at: '2026-08-01'
                    end_at: '2026-08-20'
                  group_by: daily
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples: {}
              schema:
                type: object
                properties:
                  drm_requests:
                    type: array
                    items:
                      type: object
                      properties:
                        units:
                          type: integer
                          description: Number of DRM requests.
                          format: int64
                        timestamp:
                          type: integer
                          description: Seconds since epoch for the unit given.
                          format: int64
                      x-apidog-orders:
                      - units
                      - timestamp
                      required:
                      - units
                      - timestamp
                  bandwidth_saving_unit:
                    type: string
                    enum:
                    - ''
                    x-apidog-enum:
                    - value: ''
                      name: ''
                      description: ''
                    description: The unit for bandwidth saving data.
                  storage_data_unit:
                    type: string
                    enum:
                    - gb
                    - min
                    x-apidog-enum:
                    - value: gb
                      name: Gigabytes
                      description: ''
                    - value: min
                      name: Minutes
                      description: ''
                    description: The unit for the storage data.
                  bandwidth_consumption:
                    type: array
                    items:
                      type: object
                      properties:
                        units:
                          type: integer
                          format: int64
                          description: The bandwidth consumption data in bytes.
                        timestamp:
                          type: integer
                          format: int64
                          description: Seconds since epoch for the unit given.
                      x-apidog-orders:
                      - units
                      - timestamp
                      required:
                      - units
                      - timestamp
                  storage_unit:
                    type: array
                    items:
                      type: object
                      properties:
                        units:
                          type: integer
                          format: int64
                          description: The storage data in bytes or seconds.
                        timestamp:
                          type: integer
                          format: int64
                          description: Seconds since epoch for the unit given.
                      x-apidog-orders:
                      - units
                      - timestamp
                      required:
                      - units
                      - timestamp
                  asset_duration:
                    type: array
                    items:
                      type: object
                      properties:
                        units:
                          type: integer
                          format: int64
                          description: Total transcoding duration in seconds.
                        timestamp:
                          type: integer
                          format: int64
                          description: Seconds since epoch for the unit given.
                      x-apidog-orders:
                      - units
                      - timestamp
                      required:
                      - units
                      - timestamp
                  top_assets:
                    type: array
                    items:
                      type: object
                      properties:
                        asset_id:
                          type: string
                          description: Asset ID
                        units:
                          type: string
                          description: Bandwidth consumption by this asset in bytes.
                        workspace_id:
                          type: string
                          description: Workspace ID
                        duration:
                          type: string
                          description: Seconds of streaming minutes consumed by this asset.
                        title:
                          type: string
                          description: Asset Title
                        collection_name:
                          type: string
                          description: Workspace Name
                      x-apidog-orders:
                      - workspace_id
                      - asset_id
                      - units
                      - duration
                      - title
                      - collection_name
                      required:
                      - workspace_id
                      - asset_id
                      - units
                      - duration
                      - title
                      - collection_name
                  has_more_top_asset:
                    type: boolean
                    description: Indicates whether the list of top assets is exhaustive or if it has more assets.
                  ai_credit_usage:
                    type: array
                    items:
                      type: object
                      properties:
                        timestamp:
                          type: integer
                          description: Seconds since epoch for the unit given.
                      x-apidog-orders:
                      - timestamp
                      required:
                      - timestamp
                  errored_videos:
                    type: array
                    items:
                      type: object
                      properties:
                        timestamp:
                          type: integer
                          description: Seconds since epoch for the unit given.
                        units:
                          type: integer
                          description: Number of errored videos in the timeframe
                      x-apidog-orders:
                      - timestamp
                      - units
                      required:
                      - timestamp
                      - units
                x-apidog-orders:
                - drm_requests
                - bandwidth_saving_unit
                - storage_data_unit
                - bandwidth_consumption
                - storage_unit
                - asset_duration
                - errored_videos
                - top_assets
                - ai_credit_usage
                - has_more_top_asset
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: invalid_parameter_value
                      message: The parameter value is invalid.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: invalid_parameter_value
                      message:
                        type: string
                        example: The parameter value is invalid.
                    required:
                    - code
                    - message
                required:
                - error
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      deprecated: false
      tags:
      - Video Usage Analytics
      x-codeSamples:
      - label: TypeScript
        lang: TypeScript
        source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoUsageAnalytic = await client.videoUsageAnalytics.retrieve({\n  metrics: ['bandwidth_consumption', 'asset_duration', 'storage_unit', 'top_assets', 'drm_requests'],\n  date_range: { start_at: '2026-08-01', end_at: '2026-08-20' },\n  group_by: 'daily',\n});\n\nconsole.log(videoUsageAnalytic);"
      - label: Python
        lang: Python
        source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_usage_analytic = client.video_usage_analytics.retrieve(\n    metrics=[\"bandwidth_consumption\", \"asset_duration\", \"storage_unit\", \"top_assets\", \"drm_requests\"],\n    date_range={\"start_at\": \"2026-08-01\", \"end_at\": \"2026-08-20\"},\n    top_assets_count=\"5\",\n    top_assets_page=\"0\",\n    group_by=\"hourly\",\n)\n\nprint(video_usage_analytic)"
  /video/streaming-duration:
    get:
      summary: Top Streamed Assets
      description: This endpoint lists top streamed assets in a video collection
      operationId: top-assets
      parameters:
      - name: start_at
        in: query
        description: Date string in "yyyy-mm-dd" format
        required: true
        schema:
          type: string
          examples:
          - '2026-06-21'
      - name: end_at
        in: query
        description: Date string in "yyyy-mm-dd" format
        required: true
        schema:
          type: string
          examples:
          - '2026-06-30'
      - name: collection_id
        description: Gumlet workspace ID
        in: query
        schema:
          type: string
      - name: page
        description: Page number of the response.
        in: query
        schema:
          type: string
          default: '1'
      - name: page_size
        description: Assets to list per page.
        in: query
        schema:
          type: string
          default: '1000'
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    data:
                    - asset_id: 638888010f1a158347ce9842
                      units: 0
                    - asset_id: 6369df88cb5ca27c554bb1f2
                      units: 0
                    - asset_id: 63761f1fbe6f4dea7af3e050
                      units: 0
                    - asset_id: 63761eb6b6648252fc979673
                      units: 0
                    - asset_id: 6385035a3f8d6fa3925c5ae9
                      units: 0
                    - asset_id: 63761e09be6f4dea7af3ddaf
                      units: 0
                    - asset_id: 6322109d046f16b5e0ee63d9
                      units: 0
                    - asset_id: 6405cc5b4d82222f8a2053f2
                      units: 0
                    has_next_page: false
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        asset_id:
                          type: string
                          example: 638888010f1a158347ce9842
                        units:
                          type: integer
                          example: 0
                          default: 0
                  has_next_page:
                    type: boolean
                    example: false
                    default: true
        '400':
          description: Bad Request
          content:
            application/json:
              examples:
                Result:
                  value:
                    error:
                      code: invalid_parameter_value
                      message: The parameter value is invalid.
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: invalid_parameter_value
                      message:
                        type: string
                        example: The parameter value is invalid.
                    required:
                    - code
                    - message
                required:
                - error
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      deprecated: false
      tags:
      - Video Usage Analytics
      x-stoplight:
        id: difsmxe8e5oaa
      x-codeSamples:
      - label: TypeScript
        lang: TypeScript
        source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n  apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst videoUsageAnalytic = await client.videoUsageAnalytics.topAssets({\n  start_at: '2026-06-21',\n  end_at: '2026-06-30',\n  page: '1',\n  page_size: '1000',\n});\n\nconsole.log(videoUsageAnalytic);"
      - label: Python
        lang: Python
        source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n    api_key=os.environ.get(\"API_KEY\"),\n)\n\nvideo_usage_analytic = client.video_usage_analytics.top_assets(\n    start_at=\"2026-06-21\",\n    end_at=\"2026-06-30\",\n    page=\"1\",\n    page_size=\"1000\",\n)\n\nprint(video_usage_analytic)"
components:
  schemas:
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
              description: Machine-readable error code
            message:
              type: string
              description: Human-readable error message
            param:
              type: string
              description: Optional parameter name related to the error
  responses:
    Unauthorized:
      description: Unauthorized — missing or invalid API key / bearer token
      content:
        application/json:
          examples:
            Result:
              value:
                error:
                  code: invalid_api_key
                  message: API key supplied with request is invalid
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden — unpaid account or insufficient role permissions
      content:
        application/json:
          examples:
            Result:
              value:
                error:
                  code: unauthorized
                  message: You don't have access to this feature. Please contact your organization owner.
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    API_KEY:
      type: http
      scheme: bearer
x-tagGroups:
- name: Video on Demand
  tags:
  - Video Assets
  - Global Search
  - Multipart Upload
  - Audio Upload
  - Subtitle Upload
  - Recycle Bin
  - Video Workspaces
  - Folders
  - Video Playlists
  - Channel Viewers
  - Video Usage Analytics
  - Video Profiles
  - Webhooks
- name: Live Streams
  tags:
  - Live Stream Workspaces
  - Live Stream Assets
  - Live Stream Analytics
- name: Image APIs
  tags:
  - Image Sources
  - Image Usage Analytics
- name: Video Analytics
  tags:
  - Video Analytics
- name: Webhooks
  tags:
  - Webhooks
- name: Account Endpoints
  tags:
  - User Data
  - Billing
  - Organization Data
  - Audit Logs
x-ext-urls: {}