All use cases

Lead enrichment with social data: an API workflow

November 8, 2026

Short answer

Lead enrichment with social data adds public facts such as follower counts, posting activity, linked accounts and business emails to each lead, so sales can qualify and prioritize. Running cheap checks first and expensive lookups last, enriching 2,000 creator leads down to 200 qualified contacts costs 11,300 credits on ScrapeIO, about $21.24, or roughly 11 cents per qualified lead.

Lead enrichment adds facts to a list of names so a sales team knows who to call first. For anyone selling to creators, shops or brands, the most telling facts are public social data: how big the account is, whether it is active, which other platforms it is on, and how to reach the owner. The trick is the order: run cheap checks on everyone and expensive lookups only on leads that pass.

Who does this and why

  • Sales teams selling to creators: creator tools, agencies, merch and finance products.
  • B2B teams that add company social activity (hiring posts, launches, audience size) to accounts in a CRM.
  • Partnerships teams that qualify shops and brands before outreach.

The data you need

StepPlatformEndpointCredits
1. Size and bioTikTok, Instagram, YouTubeTikTok profile, Instagram profile, YouTube channel1
2. Is it active?TikTok, InstagramTikTok profile videos, Instagram user posts1
3. Link-in-bio pageLinktree and othersLinktree, link.me, Komi1
4. Other accountsCross-platformfind social profiles10
5. Business emailCross-platformfind creator emails10
B2B: company pageLinkedInLinkedIn company1
B2B: recent postsLinkedIn, XLinkedIn company posts, X user posts1
B2B: a person's public profileLinkedInLinkedIn profile1

Worked example: 2,000 creator leads

You have 2,000 TikTok handles from an event list and want qualified contacts: 10,000 to 500,000 followers, posting in the last 30 days.

TierWhoCallsCredits
1. ProfileAll 2,0001 each2,000
2. Newest videos (activity)All 2,0001 each2,000
3. Link-in-bio300 of the 500 that qualify have one1 each300
4. Other accountsThe 500 that qualify10 each5,000
5. EmailThe top 20010 each2,000
Total11,300

11,300 credits is $21.24 on the $47 pack, or about $0.11 per qualified lead with an email. If you ran the two 10-credit lookups on all 2,000 leads instead, they alone would cost 40,000 credits. Tiering cuts the bill by more than 70 percent. Handles that no longer exist cost nothing.

A B2B version is smaller: 500 target accounts x (1 LinkedIn company call + 1 page of company posts) = 1,000 credits to start, then 500 credits a month to refresh posts. That is $1.88, then $0.94 a month.

Code: tiered enrichment

import requests, datetime

KEY = "YOUR_KEY"
H = {"x-api-key": KEY}
B = "https://scrapeio.com"
get = lambda path, **p: requests.get(B + path, params=p, headers=H, timeout=60).json()
cutoff = (datetime.datetime.utcnow() - datetime.timedelta(days=30)).isoformat()

def enrich(handle):
    prof = get("/v1/tiktok/profile", handle=handle)
    if not prof.get("success"):
        return None
    p = prof["data"]
    if not 10_000 <= (p["followers"] or 0) <= 500_000:
        return None
    vids = get("/v3/tiktok/profile/videos", handle=handle)
    items = vids["data"]["items"] if vids.get("success") else []
    if not any((v["created_at"] or "") >= cutoff for v in items):
        return None
    lead = {"handle": handle, "followers": p["followers"], "bio": p["bio"],
            "link": p.get("external_url")}
    lead["profiles"] = get("/v1/find-social-profiles", platform="tiktok", handle=handle).get("data")
    return lead

Run the email lookup as a last, separate step on the leads sales actually wants, after a person has looked at the list.

Fields that predict a good lead

  • Activity = posts in the last 30 days. Inactive accounts rarely buy.
  • Size band, from followers. Price and pitch differ a lot between 20,000 and 2 million.
  • Growth = follower change between two snapshots a few weeks apart. Fast-growing accounts have new problems to solve.
  • Business signals in the bio and link page: "for business", a booking link, a shop, a manager's address.
  • Platform count from the linked accounts. A creator on four platforms has more need for tools that save time.
  • B2B intent: company posts that mention hiring, launches, funding or a new market.

Pitfalls

  • Privacy law applies to public data. Names, handles and emails are personal data in many places, including under the GDPR. Have a lawful basis, keep only what you use, and honor opt-outs. This is not legal advice; read is web scraping legal and get your own review.
  • Wrong matches. Two accounts with the same handle on different platforms may be different people. Confirm with the name, avatar or a link between them.
  • Normalize handles. Lowercase them and strip the @ before you dedupe against the CRM.
  • Data gets stale. Follower counts and emails change. Store the date with every field and refresh before a campaign.
  • Outreach etiquette. A public business email is an invitation to relevant business mail, not to a sequence of ten follow-ups. See influencer email finders for an outreach checklist.

Run it from an AI agent

With the MCP server connected to Claude Code or Cursor:

For each TikTok handle in leads.csv, get followers and whether
they posted in the last 30 days. Keep 10k to 500k followers and active.
For those, find their other social profiles and read their Linktree
if they have one. Write qualified.csv. Do not look up emails yet.

Telling the agent which expensive steps to skip keeps the cost where you planned it. The tools it uses are tiktok_profile, tiktok_profile_videos, find_social_profiles and linktree.

Doing it with ScrapeIO

Profiles, activity, link-in-bio pages, linked accounts, emails and LinkedIn company data are on one key. Profile and post calls are 1 credit, the two cross-platform lookups are 10, and failed lookups are free, so tiering does the rest.

100 free credits, no card. Credits never expire.

Get API key