Viral Content API
The Viral Content API allows you to discover and analyze viral TikTok content. Filter by categories, countries, views, virality and follower ranges, dates, music and hook text, AI-derived tags (format, tone, look, setting, audience, production, CTA, emotion), substring fields on analyzed text, and boolean content flags (face visible, product, branded, and more).Key Features
Category Filtering
Filter viral posts by content categories like comedy, dance, food, and more.
Geographic Targeting
Find viral content from specific countries and regions.
Virality Scoring
Filter by our proprietary virality score to find the most engaging content.
Music Discovery
Search for viral posts using specific trending sounds and music.
Authentication
All requests require an API key passed in thex-ty-api-key header.
Request parameters
All parameters are sent in the JSON request body (optional unless noted). Omit a field, use an empty array[], or null where documented to apply no filter for that field.
Core filters
AI analysis — tag arrays (OR within each field)
For each array below, a post matches if its stored tag equals any value you send. Values are fixed snake_case strings; see the linked schema inopenapi.json for the complete enum per field.
AI analysis — text contains
Case-insensitive substring match. Special regex characters in your string are treated literally (escaped server-side).Content flags (booleans)
Omit the field for no filter.true / false restrict to posts that pass the corresponding analyzed signal.
Pagination
Sorting
The Viral Content API does not takesortBy / sortOrder in the request body. Results are always returned in a fixed order:
- Primary: post creation time (
date_createdon the post), newest first (descending).
dateCreatedFrom / dateCreatedTo to narrow the time window; ordering within that window remains newest first.
Pricing
Each request costs 1 credit per returned content. For example, if you requestpageSize: 12 and receive 12 results, that costs 12 credits.
Rate Limits
The Viral Content API is subject to rate limits. If you exceed the limit, you’ll receive a429 response with a retryAfter field indicating how long to wait before retrying.