Skip to main content

Trending Creators

Discover creators who are currently trending based on growth rate, engagement, and viral content.

Endpoint

GET /api/discovery/trending

Request

Headers

Authorization
string
required
Bearer token for authentication

Query Parameters

platform
string
Filter by platform: youtube, twitter, instagram, tiktok, linkedin, or all
category
string
Filter by category: tech, gaming, lifestyle, beauty, fitness, etc.
timeframe
string
default:"24h"
Trending timeframe: 1h, 6h, 24h, 7d, 30d
metric
string
default:"growth"
Trending metric: growth, engagement, viral_content, combined
minFollowers
number
Minimum follower count to be considered
limit
number
default:"50"
Maximum number of results (1-100)

Response

success
boolean
Indicates if the request was successful
data
object

Examples

async function getTrendingCreators(
  platform: string = 'all',
  timeframe: string = '24h'
) {
  const params = new URLSearchParams({
    platform,
    timeframe,
    metric: 'combined',
    limit: '50'
  });
  
  const response = await fetch(
    `https://your-domain.com/api/discovery/trending?${params}`,
    {
      headers: {
        'Authorization': `Bearer ${process.env.API_KEY}`
      }
    }
  );

  const { data } = await response.json();
  return data.trending;
}

// Get trending TikTok creators in the last 24 hours
const trending = await getTrendingCreators('tiktok', '24h');

trending.forEach(creator => {
  console.log(
    `${creator.name}: +${creator.metrics.followerGrowth} followers ` +
    `(${creator.metrics.growthRate.toFixed(2)}% growth)`
  );
});

Filter by Engagement Spike

// Find creators with sudden engagement spikes
const response = await fetch(
  'https://your-domain.com/api/discovery/trending?' +
  new URLSearchParams({
    metric: 'engagement',
    timeframe: '24h',
    minFollowers: '10000'
  }),
  {
    headers: { 'Authorization': `Bearer ${apiKey}` }
  }
);

const { data } = await response.json();

// Filter for significant spikes
const engagementSpikes = data.trending.filter(
  creator => creator.metrics.growthRate > 50
);

console.log('Creators with engagement spikes:', engagementSpikes);

Response Example

{
  "success": true,
  "data": {
    "trending": [
      {
        "id": "creator_456",
        "name": "Gaming Pro",
        "platform": "tiktok",
        "category": "gaming",
        "trendingScore": 95.7,
        "metrics": {
          "currentFollowers": 125000,
          "followerGrowth": 15000,
          "growthRate": 13.6,
          "engagementRate": 8.9,
          "viralContent": 3
        },
        "reason": "Viral gaming tutorial gained 2M views in 24 hours",
        "profileImageUrl": "https://cdn.example.com/avatars/gamingpro.jpg",
        "isVerified": true
      },
      {
        "id": "creator_789",
        "name": "Tech Explainer",
        "platform": "youtube",
        "category": "tech",
        "trendingScore": 89.3,
        "metrics": {
          "currentFollowers": 450000,
          "followerGrowth": 22000,
          "growthRate": 5.1,
          "engagementRate": 7.2,
          "viralContent": 1
        },
        "reason": "Consistent high engagement and steady growth",
        "profileImageUrl": "https://cdn.example.com/avatars/techexplainer.jpg",
        "isVerified": true
      }
    ],
    "timeframe": "24h",
    "updatedAt": "2026-03-06T12:00:00Z"
  }
}

Algorithm

The trending algorithm combines multiple signals:

Growth Score (40% weight)

const growthScore = Math.min(
  (followerGrowth / currentFollowers) * 100,
  100
);

Engagement Score (30% weight)

const engagementScore = (
  engagementRate / platformAverageEngagement
) * 50;

Viral Content Score (20% weight)

const viralScore = Math.min(
  (viralContentCount / totalPosts) * 100,
  100
);

Velocity Score (10% weight)

const velocity = (
  currentGrowth - previousGrowth
) / previousGrowth;

Next Steps

Search by Keywords

Discover creators by keywords

Discovery Queue

Manage your discovery queue

Build docs developers (and LLMs) love