---
title: "Get Creator Hub overview KPIs"
method: GET
path: "/creator-hub/overview/kpis"
tags: ["Creator Hub Analytics"]
---

# Get Creator Hub overview KPIs

`GET /creator-hub/overview/kpis`

## Request

- Base URL: `https://viral.app/api/v1`
- URL: `https://viral.app/api/v1/creator-hub/overview/kpis`
- Auth: API key in header `x-api-key`

Returns Creator Hub overview metrics for assigned creators: campaign views (views gained by videos posted while the creator was assigned, no video-age window), posted and eligible videos, spend, and effective/paid CPM.

## Query parameters

- `scope` 'dateRange' | 'allTime'
- `dateRange` object, required: Date range filter for analytics queries
  - `from` string, required: Start date in ISO format (YYYY-MM-DD)
  - `to` string, required: End date in ISO format (YYYY-MM-DD)
- `campaignIds` string[]
- `creatorIds` string[]
- `publicationMode` 'allEligible' | 'onlyPublished'

## Response `200`

OK

- union: Creator Hub overview KPIs
  - object
    - `scope` 'allTime', required
    - `metrics` object, required: All-time KPI totals for the campaign scope
      - `effectiveCpm` number, required: Effective CPM for the KPI period: (paid + projected payouts) / campaign views * 1000
      - `totalViews` number, required: Campaign views for the KPI period: views gained by videos posted while the creator was assigned to a campaign in scope, counted for as long as the assignment lasts (no video-age window)
      - `activeCreators` number, required: Distinct active creators who posted eligible videos in the KPI period
      - `activeAccounts` number, required: Distinct active accounts that posted eligible videos in the KPI period
      - `payoutTotal` number, required: Total payouts (paid + projected, major units) in the overview display currency for the KPI period
      - `publishedVideos` number, required: Eligible posted videos for the KPI period
      - `eligibleVideos` number, required: Distinct videos posted while assigned that were posted or gained views in the KPI period
      - `spendPerVideo` number, required: Average payout per published video for the KPI period
      - `paidCpm` number, required: Paid CPM for the KPI period: paid payouts / campaign views * 1000
      - `paidPayoutTotal` number, required: Paid payouts (major units) in the overview display currency for the KPI period
    - `currency` string, required: Display currency for all monetary KPI values (single-campaign scope: the campaign currency; otherwise the organization default currency)
    - `eligibilityRefreshedAt` string, nullable, required: Timestamp of the last eligibility refresh (UTC ISO)
  - object
    - `scope` 'dateRange', required
    - `metrics` object, required: KPI totals for the selected date range
      - `effectiveCpm` number, required: Effective CPM for the KPI period: (paid + projected payouts) / campaign views * 1000
      - `totalViews` number, required: Campaign views for the KPI period: views gained by videos posted while the creator was assigned to a campaign in scope, counted for as long as the assignment lasts (no video-age window)
      - `activeCreators` number, required: Distinct active creators who posted eligible videos in the KPI period
      - `activeAccounts` number, required: Distinct active accounts that posted eligible videos in the KPI period
      - `payoutTotal` number, required: Total payouts (paid + projected, major units) in the overview display currency for the KPI period
      - `publishedVideos` number, required: Eligible posted videos for the KPI period
      - `eligibleVideos` number, required: Distinct videos posted while assigned that were posted or gained views in the KPI period
      - `spendPerVideo` number, required: Average payout per published video for the KPI period
      - `paidCpm` number, required: Paid CPM for the KPI period: paid payouts / campaign views * 1000
      - `paidPayoutTotal` number, required: Paid payouts (major units) in the overview display currency for the KPI period
    - `previous` object, required: KPI totals for the previous period
      - `effectiveCpm` number, required: Effective CPM for the KPI period: (paid + projected payouts) / campaign views * 1000
      - `totalViews` number, required: Campaign views for the KPI period: views gained by videos posted while the creator was assigned to a campaign in scope, counted for as long as the assignment lasts (no video-age window)
      - `activeCreators` number, required: Distinct active creators who posted eligible videos in the KPI period
      - `activeAccounts` number, required: Distinct active accounts that posted eligible videos in the KPI period
      - `payoutTotal` number, required: Total payouts (paid + projected, major units) in the overview display currency for the KPI period
      - `publishedVideos` number, required: Eligible posted videos for the KPI period
      - `eligibleVideos` number, required: Distinct videos posted while assigned that were posted or gained views in the KPI period
      - `spendPerVideo` number, required: Average payout per published video for the KPI period
      - `paidCpm` number, required: Paid CPM for the KPI period: paid payouts / campaign views * 1000
      - `paidPayoutTotal` number, required: Paid payouts (major units) in the overview display currency for the KPI period
    - `changes` object, required: Percentage change vs previous period for each KPI
      - `effectiveCpm` number, required: Effective CPM for the KPI period: (paid + projected payouts) / campaign views * 1000
      - `totalViews` number, required: Campaign views for the KPI period: views gained by videos posted while the creator was assigned to a campaign in scope, counted for as long as the assignment lasts (no video-age window)
      - `activeCreators` number, required: Distinct active creators who posted eligible videos in the KPI period
      - `activeAccounts` number, required: Distinct active accounts that posted eligible videos in the KPI period
      - `payoutTotal` number, required: Total payouts (paid + projected, major units) in the overview display currency for the KPI period
      - `publishedVideos` number, required: Eligible posted videos for the KPI period
      - `eligibleVideos` number, required: Distinct videos posted while assigned that were posted or gained views in the KPI period
      - `spendPerVideo` number, required: Average payout per published video for the KPI period
      - `paidCpm` number, required: Paid CPM for the KPI period: paid payouts / campaign views * 1000
      - `paidPayoutTotal` number, required: Paid payouts (major units) in the overview display currency for the KPI period
    - `currency` string, required: Display currency for all monetary KPI values (single-campaign scope: the campaign currency; otherwise the organization default currency)
    - `eligibilityRefreshedAt` string, nullable, required: Timestamp of the last eligibility refresh (UTC ISO)

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `404`: 404
- `408`: 408
- `429`: 429
- `500`: 500

---

[API](https://skmtc.dev/viral/apis/viral-app-api.md) · [All operations](https://skmtc.dev/viral/apis/viral-app-api/llms.txt) · [OpenAPI document](https://skmtc.dev/viral/apis/viral-app-api/revisions/31e97fa79ef1?raw)
