Skip to main content

Get Creator Profile

Retrieve comprehensive profile information for a specific creator, including metrics from all connected platforms.

Endpoint

GET /api/creators/{creatorId}

Request

Path Parameters

creatorId
string
required
Unique identifier for the creator

Headers

Authorization
string
required
Bearer token for authentication

Query Parameters

include
string
Comma-separated list of relations to include: youtube, twitter, instagram, tiktok, linkedin, history, analytics
includeHistorical
boolean
default:"false"
Include historical metrics data
historicalDays
number
default:"30"
Number of days of historical data to include (when includeHistorical=true)

Response

success
boolean
Indicates if the request was successful
data
object

Examples

Basic Profile Fetch

const creatorId = 'creator_123';

const response = await fetch(
  `https://your-domain.com/api/creators/${creatorId}`,
  {
    headers: {
      'Authorization': `Bearer ${apiKey}`
    }
  }
);

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

console.log(`${data.name} has ${data.metrics.totalReach.toLocaleString()} total followers`);
console.log(`Engagement score: ${data.metrics.compositeEngagementScore}`);

Include Platform Metrics

const response = await fetch(
  `https://your-domain.com/api/creators/${creatorId}?include=tiktok,instagram,youtube`,
  {
    headers: {
      'Authorization': `Bearer ${apiKey}`
    }
  }
);

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

// Access platform-specific metrics
if (data.platforms.tiktok) {
  console.log('TikTok Stats:');
  console.log(`  Followers: ${data.platforms.tiktok.followerCount}`);
  console.log(`  Videos: ${data.platforms.tiktok.videoCount}`);
  console.log(`  Avg Views: ${data.platforms.tiktok.averageViews}`);
  console.log(`  Engagement Rate: ${data.platforms.tiktok.engagementRate}%`);
}

Fetch Historical Data

const response = await fetch(
  `https://your-domain.com/api/creators/${creatorId}?includeHistorical=true&historicalDays=90`,
  {
    headers: {
      'Authorization': `Bearer ${apiKey}`
    }
  }
);

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

// Analyze growth trends
if (data.historical) {
  const growth = data.historical.metrics.map((m, i, arr) => {
    if (i === 0) return null;
    const prev = arr[i - 1];
    return {
      date: m.timestamp,
      followerGrowth: m.followerCount - prev.followerCount,
      engagementChange: m.engagementRate - prev.engagementRate
    };
  }).filter(Boolean);
  
  console.log('90-day growth trend:', growth);
}

Response Example

{
  "success": true,
  "data": {
    "id": "creator_123",
    "name": "Tech Guru",
    "email": "[email protected]",
    "bio": "Technology enthusiast, educator, and content creator. Making tech accessible to everyone.",
    "profileImageUrl": "https://cdn.example.com/avatars/techguru.jpg",
    "category": "tech",
    "tags": ["programming", "ai", "web3", "tutorials"],
    "isVerified": true,
    "platformIdentifiers": {
      "tiktok_username": "@techguru",
      "youtube_channel_id": "UC123456789",
      "instagram_username": "techguru",
      "twitter_handle": "@techguru"
    },
    "metrics": {
      "totalReach": 450000,
      "compositeEngagementScore": 87.5,
      "averageEngagementRate": 5.2,
      "contentFrequency": 5.5,
      "audienceQualityScore": 92
    },
    "platforms": {
      "tiktok": {
        "userId": "7234567890",
        "username": "techguru",
        "nickname": "Tech Guru",
        "followerCount": 250000,
        "followingCount": 342,
        "videoCount": 456,
        "heartCount": "8900000",
        "averageViews": 45000,
        "averageLikes": 2800,
        "averageComments": 156,
        "averageShares": 89,
        "engagementRate": 6.1,
        "totalViews": "20500000",
        "dailyViewGrowth": 1250,
        "dailyFollowerGrowth": 450,
        "isVerified": true,
        "bio": "Tech tutorials & reviews",
        "profileUrl": "https://www.tiktok.com/@techguru",
        "lastSync": "2026-03-06T10:30:00Z"
      },
      "youtube": {
        "channelId": "UC123456789",
        "channelName": "Tech Guru",
        "channelUrl": "https://youtube.com/@techguru",
        "subscriberCount": 150000,
        "videoCount": 234,
        "viewCount": "15000000",
        "averageViews": 64000,
        "averageLikes": 3200,
        "averageComments": 287,
        "engagementRate": 4.8,
        "country": "US",
        "publishedAt": "2020-05-15T00:00:00Z",
        "lastSync": "2026-03-06T10:30:00Z"
      },
      "instagram": {
        "accountId": "17841405793",
        "username": "techguru",
        "fullName": "Tech Guru",
        "followerCount": 50000,
        "followingCount": 456,
        "mediaCount": 342,
        "averageLikes": 2100,
        "averageComments": 98,
        "engagementRate": 4.4,
        "isVerified": true,
        "isBusinessAccount": true,
        "businessCategory": "Education",
        "bio": "Tech content creator",
        "website": "https://techguru.com",
        "profileUrl": "https://instagram.com/techguru",
        "lastSync": "2026-03-06T10:30:00Z"
      }
    },
    "syncStatus": "COMPLETED",
    "lastSync": "2026-03-06T10:30:00Z",
    "createdAt": "2025-06-10T08:00:00Z",
    "updatedAt": "2026-03-06T10:30:00Z"
  }
}

Platform-Specific Data Structures

TikTok Metrics

Defined in /lib/apify/types.ts:140-165:
interface TiktokData {
  userId: string;
  username: string;
  nickname?: string | null;
  profileUrl: string;
  bio?: string | null;
  isVerified: boolean;
  followerCount: number;
  followingCount: number;
  videoCount: number;
  heartCount: bigint | number;
  averageViews?: number;
  averageLikes?: number;
  averageComments?: number;
  averageShares?: number;
  engagementRate?: number;
  totalViews?: bigint | number;
  dailyViewGrowth?: number | null;
  dailyFollowerGrowth?: number | null;
}

Instagram Metrics

Defined in /lib/apify/types.ts:112-138:
interface InstagramData {
  accountId: string;
  username: string;
  fullName?: string | null;
  profileUrl: string;
  bio?: string | null;
  website?: string | null;
  isVerified: boolean;
  isBusinessAccount?: boolean;
  businessCategory?: string | null;
  followerCount: number;
  followingCount: number;
  mediaCount: number;
  averageLikes?: number;
  averageComments?: number;
  engagementRate?: number;
  reach?: number | null;
  impressions?: number | null;
  profileViews?: number | null;
  websiteClicks?: number | null;
}

Error Responses

Creator Not Found

{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Creator with ID 'creator_123' not found"
  }
}

Invalid Include Parameter

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid include value. Must be one of: youtube, twitter, instagram, tiktok, linkedin, history, analytics"
  }
}

Next Steps

Track Metrics

Get historical engagement metrics

Search Creators

Search for more creators

Build docs developers (and LLMs) love