All use cases

Creator CRM enrichment: keep every creator record current

November 8, 2026

Short answer

Store each creator under their platform user ids, refresh a profile call and a recent-posts call per platform on a schedule set by tier, and compute median views, engagement rate, posting rate and 30-day growth from those calls. For 2,000 creators with 200 refreshed weekly, plus new-creator matching and a few audience checks, that is about 9,420 credits a month, roughly $17.71 on the $47 pack. Look up contact details only for shortlisted creators and only for business outreach.

A creator CRM goes stale fast. Handles change, follower counts drift, and a creator who averaged 200,000 views in spring may average 20,000 now. Enrichment is the job of keeping every record current and comparable: one schema, fresh metrics, linked profiles across platforms, and contact details only where you need them.

Who does this

  • Influencer marketing teams keeping a roster of a few hundred to a few thousand creators.
  • Agencies sharing one creator database across client campaigns.
  • Creator platforms and marketplaces showing up-to-date stats on creator profiles.
  • Brand partnership managers preparing renewals with recent performance.

The record: fields worth storing

FieldSourceRefresh
Platform user id (the primary key)Profile callNever changes
Handle, name, bio, external linkProfile callEach refresh
Followers, and followers 30 days agoProfile callEach refresh
Median views and engagement of the last 12 postsRecent-posts callEach refresh
Posts per weekRecent-posts callEach refresh
Linked profiles on other platforms, with confidenceBio link page, profile matchingQuarterly
Audience age and gender splitAudience call, shortlist onlyBefore a campaign
Business contact, consent notes, opt-out flagBio, or email lookup for shortlistBefore outreach

The endpoints

StepPlatformEndpointCredits
ProfileTikTok, Instagram, YouTubetiktok profile API, instagram profile API, youtube channel API1
Recent postsTikTok, Instagram, YouTubetiktok profile videos API, instagram user posts API, youtube channel videos API1
Link-in-bio pageLinktreelinktree API1
Other profiles of a creatorCross-platformfind social profiles API10
Audience demographicsTikToktiktok user audience API26
Business email, shortlist onlyCross-platformfind creator emails API10

Refresh by tier, not all at once

Refreshing every creator every week wastes credits on people you will not contact this quarter. Split the roster:

  • Tier A: active and upcoming campaigns. Weekly.
  • Tier B: the rest of the roster. Monthly.
  • New: creators added this month. Full enrichment once, including cross-platform matching.

Worked example: 2,000 creators

Creators average 1.5 platforms each, and each platform needs 2 calls (profile and recent posts), so one refresh is 3 credits per creator.

ItemMathCredits a month
Tier A, 200 creators, weekly200 × 3 × 42,400
Tier B, 1,800 creators, monthly1,800 × 35,400
100 new creators: profile matching and bio link page100 × (10 + 1)1,100
Audience checks for 20 shortlisted20 × 26520
Total9,420

9,420 credits is about $17.71 a month on the $47 pack, so one pack lasts about 2.6 months. At this volume the $497 pack for 500,000 credits brings the price to $0.99 per 1,000, about $9.36 a month, and lasts over four years. Private accounts and not-found handles are not charged, which helps when old records point to deleted profiles.

The formulas

  • Median views of the last 12 posts, not the mean. One viral post can triple the mean.
  • Engagement rate = median of (likes + comments) / views per post. For image posts with no view count, use followers as the denominator and keep it in a separate column.
  • Posts per week = posts in the last 28 days / 4.
  • 30-day growth = followers now / followers 30 days ago − 1.
  • Views-to-followers = median views / followers. A low ratio usually means much of the following is old or inactive. Set the cut-off from your own roster, per platform.
  • Staleness = days since last refresh. Show it next to every number in the CRM.

A refresh function

import datetime, os, statistics, requests

KEY = os.environ["SCRAPEIO_API_KEY"]
H = {"x-api-key": KEY}

def get(path, **p):
    r = requests.get("https://scrapeio.com" + path, params=p, headers=H, timeout=60).json()
    return r["data"] if r.get("success") else None

def refresh_tiktok(handle):
    prof = get("/v1/tiktok/profile", handle=handle)
    vids = get("/v3/tiktok/profile/videos", handle=handle)
    if not prof or not vids:
        return None  # private or gone: not charged, flag the record
    last = [v for v in vids["items"][:12] if v.get("plays")]
    eng = [((v.get("likes") or 0) + (v.get("comments") or 0)) / v["plays"] for v in last]
    return {
        "id": prof["id"], "handle": prof["handle"], "followers": prof["followers"],
        "median_views": statistics.median(v["plays"] for v in last) if last else None,
        "engagement": round(statistics.median(eng), 4) if eng else None,
        "refreshed": datetime.date.today().isoformat(),
    }

print(refresh_tiktok("khaby.lame"))

The same function works for Instagram and YouTube with their paths, because the field names are the same.

Matching profiles across platforms

  • Confirmed: the other profile is linked from the creator's bio or link-in-bio page, or links back.
  • Likely: same name and avatar, and the handle matches, but no link either way.
  • Candidate: a name match only. Never merge on this; ask the creator.

Key every record on the platform user id. When a refresh returns a new handle for the same id, update the handle and keep the history.

Pitfalls

  • Contact data. Store business contact details only, use them for business outreach, and honor opt-outs. Email rules differ by country; the influencer email finder guide covers GDPR and CAN-SPAM. This is not legal advice.
  • Mixed metrics. Instagram image posts have no plays, so do not average them with reels.
  • Audience calls cost 26 credits. Run them only for creators on a real shortlist.
  • Old snapshots in reports. A renewal deck built from a three-month-old record misleads both sides. Refresh before you send it.

Run it from an AI agent

claude mcp add --transport http scrapeio https://scrapeio.com/mcp --header "x-api-key: $SCRAPEIO_API_KEY"

Then ask: "For these 15 TikTok handles, call tiktok_profile and tiktok_profile_videos. For each, give followers, median views of the last 12 videos, engagement rate and posts per week, as CSV. Mark any handle that failed." For finding new creators to add, see lookalike creators and influencer discovery tools. Tools are listed on the TikTok MCP server and Instagram MCP server pages.

How to do it with ScrapeIO

Profiles and recent posts on TikTok, Instagram and YouTube cost 1 credit each and share the same field names, so one refresh function covers the whole roster. Cross-platform matching and email lookup cost 10 credits, audience demographics 26, and credits never expire, so a roster that grows slowly is never paying for unused months.

100 free credits, no card. Credits never expire.

Get API key