---
title: "Get a viral video"
method: GET
path: "/library/viral-videos/{videoId}"
tags: ["Viral Video Library"]
---

# Get a viral video

`GET /library/viral-videos/{videoId}`

## Request

- Base URL: `https://viral.app/api/v1`
- URL: `https://viral.app/api/v1/library/viral-videos/{videoId}`
- Auth: API key in header `x-api-key`

Returns one research library video by id, or null when it is not (or no longer) in the library.

## Path parameters

- `videoId` string, required

## Response `200`

OK

- object, nullable
  - `id` string, required
  - `platform` 'facebook' | 'instagram' | 'tiktok' | 'youtube' | 'snapchat', required: Social media platform (facebook, instagram, tiktok, youtube, snapchat)
  - `platformVideoId` string, required
  - `platformAccountId` string, nullable, required
  - `accountUsername` string, nullable, required
  - `accountDisplayName` string, nullable, required
  - `accountProfilePictureUrl` string, nullable, required
  - `accountFollowerCount` number, nullable, required
  - `region` string, nullable: Region code (2-letter ISO country code)
  - `caption` string, nullable, required
  - `hashtags` string[], nullable, required
  - `downloadUrl` string, nullable, required
  - `musicTitle` string, nullable, required
  - `musicArtist` string, nullable, required
  - `durationSeconds` number, nullable, required
  - `thumbnailUrl` string, nullable, required
  - `viewCount` number, nullable, required
  - `likeCount` number, nullable, required
  - `commentCount` number, nullable, required
  - `shareCount` number, nullable, required
  - `bookmarkCount` number, nullable, required
  - `engagementRate` number, nullable, required
  - `outlierFactor` number, nullable, required
  - `publishedAt` string, date-time, nullable, required
  - `lastSeenAt` string, date-time, required
  - `addedAt` string, date-time, required: When the video entered the library
  - `matchedTerms` string[], nullable, required
  - `isUgc` boolean, nullable, required
  - `ugcConfidence` number, nullable, required
  - `vertical` string, nullable, required: Research vertical (niche), e.g. education_study
  - `formatPrimary` string, nullable, required: Primary video format, e.g. product_demo_review
  - `hookArchetype` string, nullable, required: Hook archetype, e.g. curiosity_gap
  - `hookTextOverlay` string, nullable, required: The on-screen hook text in the first seconds, if any
  - `whyItWorked` string, nullable, required: One-paragraph research verdict on why it went viral
  - `replicationTip` string, nullable, required: How a marketer could adapt the pattern
  - `copies` object[], nullable, required: Other posts of the same creative (a re-upload, the copy on the other platform) that the library folded into this video; null when it is the only post
    - `platform` 'facebook' | 'instagram' | 'tiktok' | 'youtube' | 'snapchat', required: Social media platform (facebook, instagram, tiktok, youtube, snapchat)
    - `platformVideoId` string, required
    - `url` string, required
    - `viewCount` number, nullable, required
    - `publishedAt` string, nullable, required
  - `relatedMatch` unknown

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