Trending formats
Search trending formats extracted from outliers: reusable YouTube title templates with placeholders (e.g. Why [X] Sucked), each one returned with the example videos that used it and its view stats.
Every formula comes in two forms: framework is the human readable template, and pattern is the wildcard form (*why*sucked*) that matches the titles using it.
Results are curated by default: positive quality English formulas with at least 18 videos, first found in the last 4 months, sorted by lastVideosCountChangePercentage so the fastest spreading formulas come first. Override any of these with the parameters below.
Passing a text query searches by topic or niche and ranks the results by relevance instead of the sort field.
/search/trending-formatsUse the format: Api-Key <token> as the value.
In: header
Query Parameters
Search queries matched against the formulas, by topic or niche. Repeat the parameter to pass more than one. Ranks results by relevance instead of the sort field
Randomize search results by passing a random seed
Field to sort title formulas by. Defaults to lastVideosCountChangePercentage, so the fastest spreading formulas come first.
Be aware that passing a text query drops the sort entirely - matching formulas are ranked by relevance instead.
averageViews- sort by the average views across the videos using the formulaaverageViewsRatio- sort by the views-to-channel-average ratio (outlier score)videosCount- sort by the number of videos using the formulaavgDuration- sort by the average duration of those videosfoundAt- sort by when the formula was first foundlastAverageViewsChangePercentage- sort by the % change in average views, latest period vs the previous onelastMedianViewsChangePercentage- sort by the % change in median views, latest period vs the previous onelastAvgViewsRatioChangePercentage- sort by the % change in the views-to-channel-average ratiolastVideosCountChangePercentage- sort by the % change in the number of videos using the formula
"lastVideosCountChangePercentage""averageViews" | "averageViewsRatio" | "videosCount" | "avgDuration" | "foundAt" | "lastAverageViewsChangePercentage" | "lastMedianViewsChangePercentage" | "lastAvgViewsRatioChangePercentage" | "lastVideosCountChangePercentage"Sorting order of results, where asc is ascending and desc is descending
Minimum average views across the videos using the formula
0 <= value <= 9007199254740991Maximum average views across the videos using the formula
0 < value <= 9007199254740991Minimum median views across the videos using the formula
0 <= value <= 9007199254740991Maximum median views across the videos using the formula
0 < value <= 9007199254740991Filter by language code (e.g. "en"). Defaults to en
"en"Minimum views-to-channel-average ratio (outlier score)
0 <= valueMaximum views-to-channel-average ratio
0 < valueMinimum number of videos found using the formula. Defaults to 18, so one-off titles are filtered out
180 <= value <= 9007199254740991Maximum number of videos found using the formula
0 < value <= 9007199254740991Minimum average video duration in seconds
0 <= value <= 9007199254740991Maximum average video duration in seconds
0 < value <= 9007199254740991Filter by content quality classification. Defaults to positive
"positive""positive" | "negative" | "neutral"Filter by the psychological hooks the formula uses. Repeat the parameter to pass more than one
Only formulas first found after this date (ISO format). Defaults to 4 months ago
Minimum % change in the number of videos using the formula, latest period vs the previous one
Maximum % change in the number of videos using the formula, latest period vs the previous one
Minimum % change in the views-to-channel-average ratio, latest period vs the previous one
Maximum % change in the views-to-channel-average ratio, latest period vs the previous one
Page to fetch
00 <= value <= 9007199254740991Number of items per page
120 < value <= 9007199254740991Response Body
{
"pagination": {
"total": 0,
"from": 0,
"size": 0
},
"hits": [
{
"id": "string",
"framework": "Why [X] Sucked",
"pattern": "*why*sucked*",
"time": "2025-06-14T09:12:00.000Z",
"language": "en",
"quality": "negative",
"clickTrigger": [
"curiosity",
"controversy"
],
"overall_stats": {
"doc_count": 0,
"overall_avg_views": 0,
"overall_median_views": 0,
"overall_avg_views_ratio": 0,
"overall_avg_z_score": 0,
"overall_avg_duration": 0
},
"videos": [
{
"id": "SVeXR66hcIg",
"title": "string"
}
]
}
]
}{
"error": {
"errors": [
{
"code": "string",
"validation": "string",
"message": "string",
"path": [
"string"
]
}
]
},
"status": "string"
}{
"error": {
"message": "string"
},
"status": "string"
}{
"error": {
"message": "string"
},
"status": "string"
}{
"error": {
"message": "string",
"rateLimit": {
"limit": -9007199254740991,
"current": -9007199254740991,
"remaining": -9007199254740991,
"resetTime": "2019-08-24T14:15:22Z"
}
},
"status": "string"
}