TikTok Influencer Analysis: Evaluate a Creator Shortlist
Web Data Collection Specialist
TL;DR:
- A creator shortlist needs evidence at two levels. Combine public profile statistics with a bounded sample of the creator's public posts.
- Use a transparent scorecard. Record the inputs, transformations, weights, and human decision instead of producing an unexplained ranking.
- Prefer distributions over one viral post. Median engagement and posting cadence describe the sample more fairly than a single maximum.
- Do not infer unavailable audience traits. The documented actors do not return follower demographics, follower lists, or fake-follower labels.
- Brand fit remains a human review. Content themes, disclosure quality, safety context, and creative fit cannot be reduced to public counts alone.
- Free to start. New Scrapeless accounts include free credit through the Scrapeless Dashboard.
Introduction: turn a list of handles into a reviewable shortlist
Influencer selection often begins with a spreadsheet of usernames. Follower count makes that list sortable, but it does not show whether an account posts consistently, whether recent content attracts interaction, or whether the content is suitable for a specific brief.
A better TikTok influencer analysis joins two documented Scrapeless actors. scraper.tiktok.user.detail resolves each public profile and returns account statistics plus sec_uid. scraper.tiktok.user.work uses that sec_uid to return a bounded set of public posts and engagement fields. The pipeline then computes descriptive features and produces a scorecard for human review.
For the broader request pattern, see the guide to Scrapeless data actors.
Pipeline at a Glance
| Stage | Input | Output |
|---|---|---|
| Resolve | Creator username | Profile record and sec_uid |
| Sample | sec_uid, cursor, count |
Recent public post items |
| Transform | Profile and post JSON | Comparable descriptive features |
| Review | Features and content links | Human notes and eligibility decision |
| Store | Decision packet | Timestamped shortlist record |
The output is a decision aid. It does not prove audience authenticity, sales impact, or future campaign performance.
Define the Evaluation Before Collecting Data
Write the decision rules before opening the API. A useful brief states:
- target market and campaign category
- minimum content relevance requirements
- the post sample size used for every creator
- disqualifying content or disclosure issues
- which public metrics are descriptive rather than decisive
- who performs the final review
Influencer disclosure is part of the review. The FTC's disclosure guidance for social media influencers explains that material connections should be clear to audiences. Use the applicable local rules for the campaign market.
Prerequisites
- A Scrapeless account and API token from the Scrapeless Dashboard
- A permitted list of public TikTok usernames
- A written scorecard and manual-review policy
- A retention period for profile, post, and decision records
The code requires a live token in SCRAPELESS_API_KEY and a newline-delimited file named creators.txt.
Stage 1 — Resolve Each Public Profile
Call scraper.tiktok.user.detail with unique_id. Keep account_id, username, sec_uid, profile URL, public statistics, account flags, and the collection timestamp. The user detail actor documentation lists the supported response fields.
Do not silently discard a creator when an optional field is blank. Store the profile with an explicit collection state so the reviewer can distinguish incomplete data from a rejected account.
Stage 2 — Collect a Comparable Post Sample
Use scraper.tiktok.user.work with the returned sec_uid. Give every creator the same requested count and starting cursor so the initial comparison follows one sampling rule. The actor can return post descriptions, URLs, timestamps, public engagement counts, media fields, hashtags, language, post flags, music, subtitles, and permissions.
The user work actor documentation documents cursor as a string and count as a positive integer. Continue beyond the first response only when the current response and documentation expose a verified continuation value.
Start Scraping with Scrapeless
Power up your web scraping and automation workflow with Scrapeless!
Sign up today and get $5 in free credit — no credit card required.Claim your free credit now in the Scrapeless Dashboard.
Stage 3 — Compute Descriptive Features
The program below resolves profiles, requests the same bounded post sample, and calculates medians. It keeps the scorecard descriptive: no unavailable demographics and no fake-follower label.
python
import json
import os
import statistics
from urllib.request import Request, urlopen
ENDPOINT = "https://api.scrapeless.com/api/v1/scraper/request"
TOKEN = os.environ["SCRAPELESS_API_KEY"]
def actor(name, actor_input):
request = Request(
ENDPOINT,
data=json.dumps({"actor": name, "input": actor_input}).encode(),
headers={"x-api-token": TOKEN, "content-type": "application/json"},
method="POST",
)
with urlopen(request, timeout=60) as response:
return json.load(response)
def median(items, field):
values = [item[field] for item in items if isinstance(item.get(field), (int, float))]
return statistics.median(values) if values else None
def evaluate(username):
profile = actor("scraper.tiktok.user.detail", {"unique_id": username.lstrip("@")})
posts = actor(
"scraper.tiktok.user.work",
{"sec_uid": profile["sec_uid"], "cursor": "0", "count": 20},
).get("items", [])
return {
"unique_id": profile.get("unique_id"),
"profile_url": profile.get("profile_url"),
"is_verified": profile.get("is_verified"),
"is_private": profile.get("is_private"),
"profile_statistics": profile.get("statistics") or {},
"sample_size": len(posts),
"median_play_count": median(posts, "play_count"),
"median_like_count": median(posts, "like_count"),
"median_comment_count": median(posts, "comment_count"),
"median_share_count": median(posts, "share_count"),
"content_links": [post.get("url") for post in posts if post.get("url")],
}
with open("creators.txt", encoding="utf-8") as source:
usernames = [line.strip() for line in source if line.strip()]
results = [evaluate(username) for username in usernames]
print(json.dumps(results, ensure_ascii=False, indent=2))
Python's statistics module documentation defines the median calculation. A median reduces the influence of one unusually large observation, but it does not remove sampling bias or establish causation.
Stage 4 — Add Human Review
Each creator packet should show the profile URL, public summary statistics, sample size, median post features, and links to the sampled content. The reviewer then records:
- relevance to the campaign theme
- content quality and production fit
- disclosure practices on sponsored material
- safety or suitability concerns
- language and market fit based on observable content
- an accept, hold, or reject decision with a short reason
Do not infer age, ethnicity, income, health status, or audience composition from usernames, biographies, or engagement counts. The actor does not provide a demographic panel, and an automated guess would add risk without reliable evidence.
Stage 5 — Store the Decision Packet
Keep source observations and decisions separate. Profile statistics and post metrics may change; the human decision belongs to a particular sample and brief. A useful record contains the brief ID, creator ID, observation time, sampled post IDs, derived features, reviewer, decision, and reason.
The NIST Privacy Framework can help teams identify privacy risk and set controls for collection, access, retention, and deletion. Limit the stored data to what the campaign evaluation needs.
Scrapeless provides both actors through Scraping API. Review current pricing when the shortlist size and post sample are known.
How to Avoid Misleading Rankings
- Do not divide by unavailable values. If a denominator is absent or zero, record the derived metric as unknown.
- Do not compare unequal samples without disclosure. Keep requested and returned sample sizes with every row.
- Do not set universal engagement thresholds. Category, account size, content format, and sample window affect the observed distribution.
- Do not label accounts fraudulent from public counts. The actors return observations, not an authenticity verdict.
- Do not automate the final fit decision. A reviewer needs to inspect actual content and the campaign brief.
Conclusion: make the shortlist explainable
TikTok influencer analysis works best as a documented pipeline: resolve public profiles, collect a consistent post sample, compute plain descriptive features, and send the evidence to a human reviewer. Keep the source snapshot beside the decision so another reviewer can understand how the shortlist was produced.
Ready to Build a Creator Review Pipeline?
Join the Scrapeless Discord or Telegram community to discuss data models. Create an account in the Scrapeless Dashboard when the shortlist policy is ready.
FAQ
Q: What data supports TikTok influencer analysis?
The documented actors provide public profile details, account statistics, and public post fields such as descriptions, URLs, timestamps, and engagement counts.
Q: Can the API identify fake followers?
No. It does not return follower identities or an authenticity label, so public counts should not be presented as proof of fraud.
Q: What is a fair way to compare recent posts?
Use the same sampling rule for every creator, keep the sample size, summarize the distribution, and show the underlying content links to a reviewer.
Q: Can public metrics determine brand fit?
No. Public metrics can organize a review, while content relevance, disclosure, suitability, and creative fit require human judgment.
Q: Is collecting public creator data legal?
Legality depends on jurisdiction, purpose, fields, access method, and applicable terms. Minimize the data, document the purpose, restrict access, and obtain legal advice for the campaign.
Q: Do I need to manage proxies, page defenses, or DOM changes?
Scrapeless handles the underlying collection surface. The application manages inputs, structured outputs, sampling, and decision records.
Q: Can the pipeline run without an AI agent?
Yes. Direct HTTP calls and ordinary Python statistics are enough for the workflow shown here.
At Scrapeless, we only access publicly available data while strictly complying with applicable laws, regulations, and website privacy policies. The content in this blog is for demonstration purposes only and does not involve any illegal or infringing activities. We make no guarantees and disclaim all liability for the use of information from this blog or third-party links. Before engaging in any scraping activities, consult your legal advisor and review the target website's terms of service or obtain the necessary permissions.



