Trends
What several creators in a niche are posting about right now, detected automatically once a day, each with a status.
A trend is several creators in one niche posting about the same specific thing within the same few days: a news story, a product release, a match, a challenge. FYPNow finds trends on its own. Every day it reads the niche catalogue (the curated niches plus your own Viral Content Agents), groups videos that are about the same thing, and keeps a group once at least 3 different creators are in it. You do not search for a trend; it shows up.
Where you see them
- The niche wall. A "Trending in" strip at the top of every niche and Agent wall shows that niche's open trends.
- The Trends tab. Viral Trends → Trends lists every trend you can see, across niches, with filters for status, niche and sort.
- The trend sheet. Open any trend for its status, a daily chart of who joined when, and its videos. From there you can create an Agent from the trend's keywords, or run a Hashtag Search on its most shared hashtag.
- Your Agents email. A "Rising trends in your Agents" section is added to an Agents email that was already going to send. See Emails & notifications.
- The API and MCP server.
get_trendsandget_trend, below.
The five statuses
Every open trend is checked daily and gets one status. The timings below are the current defaults; days are counted in daily checks.
- New: 3 or more creators posted about it within a few days, and it was spotted in the last 2 days. Just spotted.
- Rising: spotted earlier, and a new creator joined in the last 2 days. More creators are still joining, which makes it the best time to post.
- Peaking: no new creator for a day or two (the last one joined less than 3 days ago). Creators have stopped joining for now.
- Fading: no new creator for 3 or more days. Late, but a fresh angle can still land.
- Ended: no new video for 7 days. Kept for reference.
A trend can go back up: a fading trend that gains a new creator is rising again. "Open" means new, rising, peaking or fading. Views are not tracked per day yet, so a status never says that views are going up or down.
Names, and what is left out
- Names are generated from captions. An AI model reads the captions of a trend's videos and writes a short name, which is then checked. A group that cannot be named clearly is not shown.
- Formats and generic groups are filtered out. A group that is only a format the niche always uses, such as a "day in my life" series, is not a trend, and neither is a group whose name would be generic words like "compilation" or "ranking". Neither is shown.
- Only on-topic, live videos count. Videos hidden as off-topic in a niche, and TikToks that have been deleted, are never members or examples.
The multiplier on a trend
best_multiplier is the highest multiplier among the trend's videos, where multiplier = views ÷ followers: the same number the niche walls rank by. See Multiple and weighted score.
Who can see which trends
- Trends in the curated, popular niches are visible to every workspace.
- Trends in your own Agents are visible only to your workspace. Another workspace never sees them, over the app, the API or MCP.
- Trends in the popular niches are also published on the public pages at /trends, one page per niche, updated daily. Those pages show trend names, statuses, counts and links to the videos, but no creator usernames and no captions. Trends in your own Agents are never published.
get_trends
GET /v1/trends/detected lists trends across every niche you can see, or one niche. It is a read tool: it works with a read-only key and draws down no plan quota.
niche: a niche id or name. Omit it for every niche you can see.status: a comma list ofnew,rising,peaking,fadingandended, oropen. Defaultopen.days: 1 to 60, default 14. Ended trends are included only when their latest video is inside this many days. Open trends are never cut by it.limit: 1 to 50, default 20. A value outside that range is clamped. The list is not paged.
Each trend carries status and status_since, videos, creators, best_multiplier, first_seen and last_seen (dates of its first and latest video), detected_at, a daily series, 3 to 6 examples with a ready url for analyze_tiktok_video, up to 3 suggested Agent keywords, its most shared hashtag (or null), and also_in: other niches where the same videos form the same trend. Each series day has new_videos, new_creators, views (null for now) and that day's status.
meta.as_of is the date of the latest daily check. meta.backfill_complete is false until the first check of the recent catalogue has finished; until then the list is empty, which is not an error. momentum is the sort key the list is ordered by: new creators plus a tenth of new videos over the last 3 daily checks (null for an ended trend). Example request and response (values are illustrative):
GET /v1/trends/detected?niche=fitness&status=new,rising&limit=1
{
"data": [
{
"id": "3f2c9a10-...",
"name": "Stair climber challenge",
"niche_id": "6b1f0c2e-...",
"niche_name": "Fitness",
"niche_is_custom": false,
"status": "rising",
"status_since": "2026-10-24",
"videos": 9,
"creators": 7,
"best_multiplier": 18.4,
"first_seen": "2026-10-21",
"detected_at": "2026-10-23",
"last_seen": "2026-10-26",
"series": [
{ "date": "2026-10-25", "new_videos": 2, "new_creators": 2, "views": null, "status": "rising" },
{ "date": "2026-10-26", "new_videos": 1, "new_creators": 1, "views": null, "status": "rising" }
],
"examples": [
{
"video_id": "7600000000000000011",
"platform": "tiktok",
"author_username": "examplecreator",
"play_count": 920000,
"follower_count": 50000,
"multiplier": 18.4,
"posted_at": "2026-10-22T16:20:00+00:00",
"url": "https://www.tiktok.com/@examplecreator/video/7600000000000000011"
}
],
"keywords": ["stair climber", "stairmaster workout"],
"hashtag": "stairmaster",
"momentum": 3.3,
"also_in": []
}
],
"meta": {
"as_of": "2026-10-27",
"backfill_complete": true,
"days": 14,
"statuses": ["new", "rising"],
"niche": { "id": "6b1f0c2e-...", "slug": "fitness", "name": "Fitness" },
"page": 1, "limit": 1, "total": 1, "total_pages": 1, "has_more": false
}
}Example rows are shortened here. Each one also carries likes, comments, shares, description, cover_url, thumbnail_s3_url, post_format and image_count.
get_trend
GET /v1/trends/detected/{id} returns one trend with the same fields plus members: every visible video in it, up to 50, best multiplier first, each with the date it joined (added_at). An unknown id, or a trend outside the niches you can see, returns 404 not_found with the same message either way.
GET /v1/trends/detected/3f2c9a10-...
{
"data": {
"id": "3f2c9a10-...",
"name": "Stair climber challenge",
"status": "rising",
"creators": 7,
"best_multiplier": 18.4,
"series": [ ... ],
"examples": [ ... ],
"keywords": ["stair climber", "stairmaster workout"],
"hashtag": "stairmaster",
"members": [
{
"video_id": "7600000000000000011",
"multiplier": 18.4,
"url": "https://www.tiktok.com/@examplecreator/video/7600000000000000011",
"added_at": "2026-10-23T04:05:00+00:00"
}
]
},
"meta": { "as_of": "2026-10-27", "backfill_complete": true }
}Over MCP
The MCP tools take the same arguments as the query string and return the same JSON as text. A prompt like "What is rising in Fitness right now, and which videos started it?" leads the assistant to call:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "get_trends", "arguments": { "niche": "fitness", "status": "rising" } } }
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call",
"params": { "name": "get_trend", "arguments": { "id": "3f2c9a10-..." } } }Trends are checked once a day, at 04:00 UTC. See How fresh your data is, and Trending videos, hashtags and hooks for the reads that rank single videos and hashtags instead of trends.