metrix / docs TikTok

API · read-only · ranked by velocity

See what's climbing before it peaks.

Every creator, sound and hashtag we track gets a velocity score — how fast its numbers are climbing right now, not how big it already is. These endpoints expose platform-wide and per-niche leaderboards.

01 What velocity means

Every hashtag, creator and sound we track gets scored on how fast it's moving, not how big it already is.

velocity — how fast an entity's numbers (views, followers, uses) are climbing over a time window. A small account gaining fast outranks a big account standing still.

Windows

Scores exist per time window6h, 24h, 72h, 7d. Shorter windows catch spikes (a video that just took off in the last few hours); longer windows catch sustained climbs (a creator that's been steadily growing all week). Pick the window that matches what you're trying to catch.

Instagram · beta

The leaderboards on this page are TikTok. Instagram trends are hashtags only today, and they're scoped to your niches rather than platform-wide — pass entity_type=ig_hashtag to the niche trending endpoints. See Niches → Niche intel.

Every request on this page needs Authorization: Bearer <API_KEY>. A few endpoints below will answer without one — but send it on every call and you never have to think about which ones.

02 Hottest right now

GET /api/v1/hot The single fastest pulse-check: top entities across all types by 1-hour velocity.

One call, one answer to "what is blowing up right now?" — hashtags, creators and sounds mixed together, ranked by their last-hour climb plus acceleration.

curl -s "https://api.metrix.ac/api/v1/hot?limit=10" \
  -H "Authorization: Bearer $TM_API_KEY"
{
  "entity_type": "hashtag",
  "window": "1h",
  "results": [
    { "entity_type": "creator", "entity_id": "adidas", "display_name": "adidas",
      "metrics": { "views": 8583472 } }, // ← ranked by views for creators/sounds
    // ...more entities, mixed types...
  ]
}

Mixed types come back sorted the same list: hashtags by 1h velocity, creators and sounds by view volume. Pass ?entity_type= to restrict to one type.

04 Trending videos

GET /api/v1/trending/videos Top trending videos; filter by niche, hashtags, or creator. At least one filter is required.

The actual videos behind the numbers above — not just an entity score, but the clips themselves, with view/like/share counts and the hashtags each one used.

curl -s "https://api.metrix.ac/api/v1/trending/videos?topic_id=food_cooking&limit=5" \
  -H "Authorization: Bearer $TM_API_KEY"
{
  "videos": [
    { "video_id": "7581714645912718623",
      "creator_handle": "yum.bubs", "views": 269400000, "likes": 4600000,
      "hashtags": ["aiasmr", "asmr", "eating", "satisfyingvideo"], "has_media": true }
  ],
  "total": 5,
  "filters": { "topic_id": "food_cooking" }
}
ParamTypeNotes
topic_idstringFilter to one of your niches, e.g. food_cooking. One of topic_id, hashtags, or creator is required.
hashtagsstringComma-separated, e.g. gym,fitcheck. Pair with match=any (default) or match=all.
creatorstringUsername, with or without @.
sortenumDefault views. One of views, likes, relative_score (views vs. that creator's own average).
min_relative_scorefloate.g. 3.0 = video did 3× the creator's average — an overperformer filter.
sinceISO 8601Only videos discovered after this timestamp. Ignored if a valid time_range is also set.
time_rangeenum24h, 7d, 30d — overrides since.
tierenumCreator follower tier: nano, micro, mid, macro, mega.
min_views / max_viewsintView-count bounds.
min_followers / max_followersintCreator follower-count bounds.
verifiedboolRestrict to verified creators.
require_mediaboolDefault false. Set true to only get videos we've downloaded and can stream back — a smaller, playable subset.
limitintDefault 15, max 50.

05 Niche leaderboards

Drill into one leaderboard hit, or use the dedicated niche routes for leaders and up-and-comers inside a visible topic.

GET /api/v1/velocity/{entity_type}/{entity_id} One entity's velocity across all windows — the drill-down after a leaderboard hit.

Spot something on a leaderboard and want the full picture? This returns the same entity's numbers for every window at once, so you can tell a spike from a sustained climb.

curl -s "https://api.metrix.ac/api/v1/velocity/hashtag/relationships" \
  -H "Authorization: Bearer $TM_API_KEY"
{
  "entity_type": "hashtag",
  "entity_id": "relationships",
  "windows": {
    "24h": { "velocity": 128541.43, "acceleration": -12262.94, // ← spike or slowing?
      "pct_change": 2.38, "rank_velocity": 10 },
    "7d":  { "velocity": 252702.69, "acceleration": 3273.04, "rank_velocity": 25 }
  }
}

Pass ?window= to get just one window instead of all four.

GET /api/v1/niches/{topic_id}/trending Same leaderboard, scoped to one of your niches.

Everything from /velocity/{entity_type} above, pre-filtered to a single registry-visible niche.

curl -s "https://api.metrix.ac/api/v1/niches/food_cooking/trending?entity_type=hashtag&limit=5" \
  -H "Authorization: Bearer $TM_API_KEY"
{
  "entity_type": "hashtag",
  "window": "24h",
  "results": [
    { "entity_id": "relationships", "velocity": 128541.43, // ← the niche's #1 climber
      "acceleration": -12262.94, "size_tier": "xl", "rank_velocity": 10 },
    { "entity_id": "icecream", "velocity": 53176.04, "acceleration": 670.55, "size_tier": "medium" }
  ]
}
GET /api/v1/niches/{topic_id}/rising Accelerating entities in a niche — the "get in early" list.

Filters to rising entities and sorts by acceleration instead of raw velocity. Results span all size tiers by default; pass ?tier=nano when you specifically want the former nano-only view.

curl -s "https://api.metrix.ac/api/v1/niches/food_cooking/rising?entity_type=hashtag&limit=5" \
  -H "Authorization: Bearer $TM_API_KEY"
{
  "entity_type": "hashtag",
  "window": "24h",
  "results": [
    { "entity_id": "chipotlehack", "velocity": 0.0, "acceleration": 0.0, // ← nano-tier, hasn't moved yet
      "size_tier": "nano", "rank_velocity": 5088 }
  ]
}

Optional ?tier= values are nano, micro, mini, small, medium, large, and xl.