All use cases

Influencer campaign reporting with an API: track every post

November 8, 2026

Short answer

Influencer campaign reporting with an API means fetching each campaign post by URL on a fixed schedule, storing every snapshot, and computing views, engagement, cost per view and cost per engagement from them. A 120-post campaign with four snapshots per post, plus comments and transcripts, costs 770 credits, about $1.45 on ScrapeIO's $47 pack.

Campaign reporting answers one question for the client: what did the money buy? You get there by tracking every live post by URL, taking snapshots at fixed ages, and turning them into cost per view and cost per engagement. Screenshots from creators are slow and easy to dispute. Public post data pulled on a schedule is neither.

Who does this and why

  • Agencies that owe a client a wrap report, and often a weekly pulse during the campaign.
  • In-house influencer teams that compare creators to decide who gets rebooked.
  • Finance and procurement, who want a cost per result that holds across campaigns.

The data you need

StepPlatformEndpointCredits
1. Post snapshot by URLTikTokTikTok video1
1. Post snapshot by URLInstagramInstagram post1
1. Post snapshot by URLYouTubeYouTube video1
1. Post snapshot by URLFacebook, X, LinkedInFacebook post, X post, LinkedIn post1
2. Audience reactionTikTok, Instagram, YouTubeTikTok comments, Instagram comments, YouTube comments1 per page
3. Talking points saidTikTok, Instagram, YouTubeTikTok transcript (1), Instagram transcript (2), YouTube transcript (1)1 or 2
4. Find untagged postsTikTok, InstagramTikTok profile videos, Instagram user posts1 per page

Snapshot schedule

Pull every post at the same ages: 24 hours, 72 hours, 7 days and 30 days after it went live. Fixed ages make creators comparable even when they posted on different days. Short-form posts often get most of their views in the first few days, so the 72-hour snapshot is an early read on the final number, and the 30-day snapshot is the one you report.

Worked example: a 40-creator campaign

40 creators post 3 times each: 50 TikToks, 50 Instagram reels and 20 YouTube videos, 120 posts in all.

  • Snapshots: 120 posts x 4 ages = 480 credits.
  • One page of comments per post at day 7: 120 credits.
  • One transcript per post: 50 x 1 + 50 x 2 + 20 x 1 = 170 credits.
  • Total: 770 credits = $1.45 on the $47 pack.

If the client wants a daily curve instead, 120 posts x 30 days = 3,600 snapshot credits, and the campaign total becomes 3,890 credits, or $7.31. Either way the data cost is a rounding error next to creator fees, which is why it is worth collecting more often than you think you need.

Code: snapshot a list of URLs

import csv, datetime, requests

KEY = "YOUR_KEY"
PATH = {"tiktok.com": "/v2/tiktok/video",
        "instagram.com": "/v1/instagram/post",
        "youtube.com": "/v1/youtube/video",
        "youtu.be": "/v1/youtube/video"}

def endpoint(url):
    return next(p for host, p in PATH.items() if host in url)

now = datetime.datetime.utcnow().isoformat()
with open("posts.csv") as f, open("snapshots.csv", "a", newline="") as out:
    w = csv.writer(out)
    for row in csv.DictReader(f):          # columns: creator, url, fee
        r = requests.get("https://scrapeio.com" + endpoint(row["url"]),
                         params={"url": row["url"]},
                         headers={"x-api-key": KEY}, timeout=60).json()
        if not r.get("success"):
            w.writerow([now, row["creator"], row["url"], "missing"])
            continue
        p = r["data"]
        w.writerow([now, row["creator"], row["url"], p.get("plays"),
                    p.get("likes"), p.get("comments"), p.get("shares"), p.get("saves")])

A "missing" row is information too. A post that stops answering was deleted or made private, and the contract may cover that.

The metrics to report

  • Engagements = likes + comments + shares + saves (state which you include, and keep it fixed).
  • Engagement rate by views = engagements / views.
  • CPV = creator fee / views. CPM = fee / views x 1,000.
  • CPE = fee / engagements.
  • Pacing = views at 72 hours / views at 30 days. Use it to forecast the final number for posts that are still young.
  • Lift over baseline = campaign post views / the creator's median views on their previous 20 posts. Below 1 means the sponsored post underperformed their normal content.
  • Message delivery = share of transcripts that mention each required talking point, and whether the required disclosure appears in the caption.

Pitfalls

  • Paid boosts. If the brand put ad spend behind a post, its views mix paid and organic. Report boosted posts separately.
  • Stories expire. Instagram stories are gone after a day unless saved to a highlight; ask for story URLs and screenshots in the contract, or use Instagram highlights if the creator saves them.
  • Edited captions. A creator can add or remove a link or disclosure later. Store the caption with each snapshot.
  • Cache window. Two snapshots minutes apart return the same cached answer for free. Space snapshots by hours, not minutes.
  • Different view definitions. A YouTube view, a TikTok play and an Instagram view are counted differently. Report per platform first, then a blended total with a footnote.

To benchmark creators against a brand's own content, see the cross-brand TikTok benchmark.

Run it from an AI agent

With the MCP server connected, paste the URL list into Claude Code or Cursor:

For each URL in posts.csv, get current views, likes, comments and shares.
Compute CPV and CPE from the fee column, flag posts below the
creator's median views, and check each transcript for the phrase
"cold brew in 5 minutes". Output a table sorted by CPE.

The agent uses tiktok_video, instagram_post and youtube_video, plus the transcript tools. Keep the scheduled script for the fixed-age snapshots, and use the agent for the narrative.

Doing it with ScrapeIO

Every post URL resolves to the same fields, plays, likes, comments, shares and created_at, whatever the platform, so one report template covers the whole campaign. A post is 1 credit, and a deleted one costs nothing.

100 free credits, no card. Credits never expire.

Get API key