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

# Get Creator Hub overview top videos

`GET /creator-hub/overview/top-videos`

## Request

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

Returns the top eligible videos ranked by the selected period metric under creator-hub eligibility (campaign assignment windows, hashtag/exclusion rules, publication mode).

## 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'
- `limit` integer: Maximum number of results to return (1-300)
- `metric` 'viewCount' | 'likeCount' | 'commentCount' | 'shareCount' | 'bookmarkCount' | 'engagementRate' | 'viewCountInPeriod' | 'likeCountInPeriod' | 'commentCountInPeriod' | 'shareCountInPeriod' | 'bookmarkCountInPeriod' | 'engagementRateInPeriod': Metric to sort videos by

## Response `200`

OK

- object[]: Array of top performing videos with both lifetime totals and period-specific metrics
  - `id` string, required
  - `platformVideoId` string, required
  - `platform` string, required
  - `accountUsername` string, required
  - `platformAccountId` string, required
  - `accountDisplayName` string, nullable, required
  - `accountProfilePictureUrl` string, nullable, required
  - `caption` string, nullable, required
  - `hashtags` string[], required
  - `contentType` string, required
  - `videoIndex` number, required
  - `thumbnailUrl` string, nullable, required
  - `musicId` string, nullable, required
  - `musicTitle` string, nullable, required
  - `musicArtist` string, nullable, required
  - `musicAlbum` string, nullable, required
  - `musicPlayUrl` string, nullable, required
  - `musicCoverUrl` string, nullable, required
  - `isOriginalMusic` number, nullable, required
  - `durationSeconds` number, nullable, required
  - `viewCount` number, nullable, required
  - `organicViewCount` number, nullable
  - `paidViewCount` number, nullable
  - `likeCount` number, nullable, required
  - `commentCount` number, nullable, required
  - `shareCount` number, nullable, required
  - `bookmarkCount` number, nullable, required
  - `engagementRate` number, nullable, required
  - `viralityFactor` number, nullable, required
  - `publishedDate` string, required
  - `publishedAt` string, required
  - `loadAt` string, required
  - `orgAccountId` string, nullable, required: Organization account ID with orgacc_ prefix. Not the same as platform account ID.
  - `isCompetitor` boolean, required: Whether the tracked account is marked as a competitor
  - `tracking_status` union, required: Tracking status indicator: 1 for actively tracked entries, 0 for retained historic data
    - unknown
    - unknown
  - `viewCountInPeriod` number, required: Total views gained during the specified date range
  - `likeCountInPeriod` number, required: Total likes gained during the specified date range
  - `commentCountInPeriod` number, required: Total comments gained during the specified date range
  - `shareCountInPeriod` number, required: Total shares gained during the specified date range
  - `bookmarkCountInPeriod` number, required: Total bookmarks gained during the specified date range
  - `engagementRateInPeriod` number, required: Engagement rate calculated from period gains (likes+comments+shares+bookmarks)/views

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