---
title: "Get usage analytics"
method: GET
path: "/v1/accounts/usage-analytics"
tags: ["Account Management API"]
---

# Get usage analytics

`GET /v1/accounts/usage-analytics`

**Note:** This API is currently in beta.  

Get the account analytics data between two dates. The response covers the period from the start date to the end date, both dates inclusive. Both dates are interpreted as UTC calendar days.

The returned data is scoped to the requesting account only. Unlike `/v1/accounts/usage`, an agency account's analytics are not aggregated across its child accounts.

The response is cached for 5 minutes per account and date range. Use `generatedAt` to check how fresh the returned data is.

## Query parameters

- `startDate` string, date, required
- `endDate` string, date, required

## Response `200`

Usage analytics for the requested date range.

- UsageAnalyticsResponse
  - `startDate` string, date, required — Start date of the computed analytics data.
  - `endDate` string, date, required — End date of the computed analytics data.
  - `generatedAt` string, date-time, required — Date and time when the analytics data was computed. Use this to gauge how fresh the returned data is. The date and time is in ISO8601 format.
  - `requestCount` number, required — Total number of requests made during the specified date range.
  - `bandwidthBytes` number, required — Total bandwidth, in bytes, utilized during the specified date range.
  - `statusCodes` object[], required — Request count grouped by HTTP status code.
    - `name` string, required — HTTP status code.
    - `requestCount` number, required — Number of requests that received this status code.
  - `errorReasons` object[], required — Request count grouped by origin error reason. This covers failed origin fetches, such as an asset not found at origin or an origin timeout. It is not the HTTP status code returned to the client, see `statusCodes` for that.
    - `name` string, required — Description of the error reason.
    - `requestCount` number, required — Number of requests that failed with this error reason.
  - `top404Assets` object[], required — Top URLs that returned a 404 response.
    - `name` string, required — URL that returned a 404 response.
    - `requestCount` number, required — Number of requests to this URL that returned a 404 response.
  - `extensions` object[], required — Raw per-extension operation counts for the date range. These are raw operation counts, not billable extension units. For billable usage, use the `/v1/accounts/usage` endpoint.
    - `name` string, required — Extension identifier.
    - `operationCount` number, required — Number of times this extension ran during the date range.
  - `cache` object, required — CDN cache hit, miss and error counts for the date range.
    - `hitCount` number, required — Number of requests served from cache, including full hits and revalidated hits.
    - `missCount` number, required — Number of requests that were not found in cache and had to be fetched from origin.
    - `errorCount` number, required — Number of requests where the CDN encountered a cache error or exceeded capacity while serving the response.
  - `videoProcessing` object[], required — Raw observed video transcode output duration, in seconds, grouped by resolution and codec. These are raw seconds, not billable Video Processing Units (VPU). For billable VPU totals, use the `/v1/accounts/usage` endpoint.
    - `resolution` string, required — Output resolution tier (e.g. `SD`, `HD`, `4K`).
    - `codec` string, required — Video codec used for the output (e.g. `h264`, `av1`).
    - `durationSeconds` number, required — Total output duration, in seconds, for this resolution and codec combination.
  - `country` object, required — CDN traffic grouped by country.
    - `byRequests` object[], required — Top requesting countries sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Country name.
      - `code` string, required — ISO country code.
    - `byBandwidth` object[], required — Top requesting countries sorted by total bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Country name.
      - `code` string, required — ISO country code.
  - `format` object, required — CDN traffic grouped by response `Content-Type`.
    - `byRequests` object[], required — Top content types sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — MIME type (e.g. `image/webp`).
    - `byBandwidth` object[], required — Top content types sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — MIME type (e.g. `image/webp`).
  - `device` object, required — CDN traffic grouped by device and operating system (e.g. `Desktop - Apple Mac`, `Smartphone - Apple iPhone`).
    - `byRequests` object[], required — Top device/OS combinations sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Device category combined with operating system or vendor (e.g. `Desktop - Windows PC`).
    - `byBandwidth` object[], required — Top device/OS combinations sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Device category combined with operating system or vendor (e.g. `Desktop - Windows PC`).
  - `browser` object, required — CDN traffic grouped by browser.
    - `byRequests` object[], required — Top browsers sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Browser name (e.g. `Chrome`).
    - `byBandwidth` object[], required — Top browsers sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Browser name (e.g. `Chrome`).
  - `urlEndpoints` object, required — CDN traffic grouped by configured URL endpoint. Traffic that does not match any named URL endpoint pattern is grouped under `Default`.
    - `byRequests` object[], required — Top URL endpoints sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — URL endpoint name, or `Default` for traffic that does not match a named endpoint.
    - `byBandwidth` object[], required — Top URL endpoints sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — URL endpoint name, or `Default` for traffic that does not match a named endpoint.
  - `topImages` object, required — Top image assets by traffic.
    - `byRequests` object[], required — Top image assets sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — URL of the image asset.
    - `byBandwidth` object[], required — Top image assets sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — URL of the image asset.
  - `topVideos` object, required — Top video assets by traffic.
    - `byRequests` object[], required — Top video assets sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Full URL of the video asset (e.g. `https://ik.imagekit.io/demo/clip.mp4`).
    - `byBandwidth` object[], required — Top video assets sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — URL of the video asset.
  - `topOtherAssets` object, required — Top non-image, non-video assets by traffic.
    - `byRequests` object[], required — Top non-image, non-video assets sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — URL of the non-image, non-video asset.
    - `byBandwidth` object[], required — Top non-image, non-video assets sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — URL of the non-image, non-video asset.
  - `topImageTransforms` object, required — Top image transformation strings by traffic.
    - `byRequests` object[], required — Top image transformation strings sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Image transformation string (e.g. `tr:w-400,h-400`).
    - `byBandwidth` object[], required — Top image transformation strings sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Image transformation string (e.g. `tr:w-400,h-400`).
  - `topVideoTransforms` object, required — Top video transformation strings by traffic.
    - `byRequests` object[], required — Top video transformation strings sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Video transformation string (e.g. `tr:h-720,f-mp4`).
    - `byBandwidth` object[], required — Top video transformation strings sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Video transformation string (e.g. `tr:h-720,f-mp4`).
  - `topReferrers` object, required — Top HTTP referrers by traffic.
    - `byRequests` object[], required — Top HTTP referrers sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Referrer URL.
    - `byBandwidth` object[], required — Top HTTP referrers sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — Referrer URL.
  - `topUserAgents` object, required — Top user agents by traffic.
    - `byRequests` object[], required — Top user agents sorted by request count.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — User agent string.
    - `byBandwidth` object[], required — Top user agents sorted by bandwidth utilized.
      - `requestCount` number, required — Number of requests.
      - `bandwidthBytes` number, required — Total bandwidth used in bytes.
      - `name` string, required — User agent string.

## Other responses

- `400` — Bad request.
- `401` — Unauthorized request.
- `403` — Forbidden.
- `429` — The request exceeded the rate limit. Contains headers indicating the limits and a message detailing the error.

## Changes

- **2026-07-14** `bb3e9ff84b3e` — 48 info
  - added `subschema #2: BrowserByBandwidthEntry` to the `browser/byBandwidth/items/` response property `allOf` list for the response status `200`
  - added `subschema #2: BrowserByRequestsEntry` to the `browser/byRequests/items/` response property `allOf` list for the response status `200`
  - added `subschema #2: CountryByBandwidthEntry` to the `country/byBandwidth/items/` response property `allOf` list for the response status `200`
  - added `subschema #2: CountryByRequestsEntry` to the `country/byRequests/items/` response property `allOf` list for the response status `200`
  - …44 more
- **2026-07-14** `6eeffe2c5199` — 48 info
  - added `subschema #2` to the `browser/byBandwidth/items/` response property `allOf` list for the response status `200`
  - added `subschema #2` to the `browser/byRequests/items/` response property `allOf` list for the response status `200`
  - added `subschema #2` to the `country/byBandwidth/items/` response property `allOf` list for the response status `200`
  - added `subschema #2` to the `country/byRequests/items/` response property `allOf` list for the response status `200`
  - …44 more
- …earlier changes not shown

[Full history](https://skmtc.dev/imagekit-developer/apis/imagekit-api/changes/v1/accounts/usage-analytics/get.md)

---

[API](https://skmtc.dev/imagekit-developer/apis/imagekit-api.md) · [All operations](https://skmtc.dev/imagekit-developer/apis/imagekit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/imagekit-developer/imagekit-api/revisions/bb3e9ff84b3e/schema)
