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

# Get Creator Hub creator performance table

`GET /creator-hub/overview/performance`

## Request

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

Returns paginated creator performance rows with engagement and virality metrics for eligible videos.

## Query parameters

- `page` number: Page number (1-based index)
- `perPage` number: Number of items per page (1-100)
- `sortCol` 'creatorName' | 'campaignName' | 'totalPosts' | 'totalVideosEligible' | 'totalViews' | 'creatorCpm' | 'totalLikes' | 'totalComments' | 'totalShares' | 'totalBookmarks' | 'engagementRate' | 'viralityRate'
- `sortDir` 'asc' | 'desc'
- `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

- object
  - `data` object[], required
    - `id` string, required
    - `creatorId` string, required: Organization creator ID with orgcre_ prefix
    - `creator` object, required
      - `id` string, required
      - `name` string, nullable, required
      - `email` string, required
      - `image` string, nullable, required
    - `accounts` object[]
      - `id` string, required
      - `platform` 'facebook' | 'instagram' | 'tiktok' | 'youtube' | 'snapchat', required
      - `platformAccountId` string, required
      - `isCompetitor` boolean
      - `username` string, nullable, required
      - `displayName` string, nullable
      - `analyticsDataRefreshedAt` string, nullable
    - `campaign` object, required
      - `id` string, required: Campaign ID with orgcamp_ prefix
      - `name` string, required
      - `description` string, nullable, required
      - `currency` 'USD' | 'EUR' | 'CHF' | 'GBP' | 'CNY' | 'JPY' | 'KRW' | 'THB' | 'IDR' | 'VND' | 'RUB', required
      - `interval` 'day' | 'week' | 'month', required
      - `intervalCount` integer, required
      - `billingAnchor` 'fixed' | 'rolling', required
      - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
      - `validFrom` string, required
      - `validUntil` string, nullable, required
    - `totalPosts` number, required
    - `totalVideosEligible` number, required
    - `totalViews` number, required
    - `creatorCpm` number, required
    - `totalLikes` number, required
    - `totalComments` number, required
    - `totalShares` number, required
    - `totalBookmarks` number, required
    - `engagementRate` number, required
    - `viralityRate` number, required
    - `topVideo` object, nullable, required
      - `platform` 'facebook' | 'instagram' | 'tiktok' | 'youtube' | 'snapchat', required: Social media platform (facebook, instagram, tiktok, youtube, snapchat)
      - `platformVideoId` string, required: Native platform video id found in the URL of the video
      - `caption` string, nullable, required
      - `thumbnailUrl` string, nullable, required
      - `accountUsername` string, nullable, required
      - `accountDisplayName` string, nullable, required
      - `contentType` 'video' | 'slideshow', nullable, required: Filter by content types (video, slideshow)
      - `publishedDate` string, required
      - `publishedAt` string, nullable, required
      - `viewGain` number, required
  - `resolvedRange` 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)
  - `currency` string, required: Display currency for monetary row values such as creator CPM (single-campaign scope: the campaign currency; otherwise the organization default currency)
  - `eligibilityRefreshedAt` string, nullable, required
  - `totals` object, required
    - `rowCount` number, required
    - `totalPosts` number, required
    - `totalVideosEligible` number, required
    - `totalViews` number, required
    - `totalLikes` number, required
    - `totalComments` number, required
    - `totalShares` number, required
    - `totalBookmarks` number, required
  - `pageCount` number, required: Total number of pages
  - `totalRows` number, required: Total number of rows

## 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)
