TikTok Mention Scraper: Verified @Tags by Account ID avatar

TikTok Mention Scraper: Verified @Tags by Account ID

Pricing

from $2.00 / 1,000 mentions

Go to Apify Store
TikTok Mention Scraper: Verified @Tags by Account ID

TikTok Mention Scraper: Verified @Tags by Account ID

Find every TikTok video that tags an account. Each mention is confirmed against that account's real TikTok ID, not a caption text match, so lookalikes like @nikeshoes and renamed handles stay out of your results. You pay only for confirmed mentions. No login, no cookies.

Pricing

from $2.00 / 1,000 mentions

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

27 minutes ago

Last modified

Share

TikTok Mention Scraper

TikTok Mention Scraper

Find every TikTok video that tags a given account, and know that it really tagged them.

Give it a handle. It resolves that handle to the account's own TikTok ID, then confirms each result against TikTok's structured caption data. Lookalike handles, renamed accounts and plain text coincidences do not get through.

Why Use This Scraper?

Mention tracking is easy to do badly, because the obvious approach — search for "@brand" and keep whatever comes back — is wrong in ways you cannot see from the output.

  • The visible @handle is not an identity. On a real post we captured, the caption read @@funnypets1 while the account actually linked in TikTok's data was ID 7616541516102747150 — but that handle resolves today to a different account, 6792680128733971461. Handles get renamed and recycled. Text matching silently mixes the two.
  • Substring matching over-collects. A naive search for @nike also returns @nikeshoes, @nike.official and anything else that starts the same way.
  • TikTok's mention entities carry no username. They give you user_id and sec_uid only, so any scraper that reports "who was mentioned" from the caption text is guessing.

This Actor resolves your handle to its sec_uid and user_id once, then counts a post as a mention only when TikTok's own caption entity carries those exact IDs. Every row tells you which check passed, in a matchType field.

You are only charged for confirmed mentions. Guesses are not billable results.

Overview

One row per post that mentions your account, with engagement, author details and the match type. Accounts with no mentions return a single explanatory row rather than an empty dataset. No login, no cookies.

Supported Inputs

InputExample
Bare handlenike
With the @@nike
Profile URLhttps://www.tiktok.com/@nike

Several accounts can be tracked in one run.

Use Cases

  • Brand monitoring — every video tagging your brand, without lookalike noise
  • Influencer verification — confirm a creator actually tagged you before paying out
  • Campaign tracking — count genuine tags across a launch window
  • Competitor watching — see who is tagging a rival account
  • UGC sourcing — find real customer posts that credited you
  • Partnership audits — check contractual tagging was honoured

How It Works

How the TikTok Mention Scraper works

  1. Each handle is normalized and resolved to its account IDs (uid, sec_uid), one lookup per handle.
  2. TikTok search is walked page by page for that handle.
  3. For each result, the caption's structured entities are checked for a type: 5 mention carrying the exact resolved IDs.
  4. Confirmed matches are written as verified_account. Caption-text-only hits are excluded by default, or included as caption_text if you ask for them.
  5. Results are deduplicated by post ID across pages.

Input Configuration

FieldTypeDefaultDescription
handlesarrayRequired. Usernames or profile URLs to find mentions of.
maxResultsPerHandleinteger100Stop after this many mentions per account.
onlyVerifiedMentionsbooleantrueOnly return ID-confirmed mentions. Off also returns caption-text hits, labelled.
includeAuthorStatsbooleantrueAdd follower/following counts for the posting account.

Minimal input

{
"handles": ["@nike"]
}

Wider brand monitoring

{
"handles": ["@nike", "@adidas"],
"maxResultsPerHandle": 500,
"onlyVerifiedMentions": false
}

Output Overview

One row per mention. matchType records how the match was established, so verified tags and text coincidences are never silently mixed.

Output Samples

A confirmed mention

{
"mentionedHandle": "nike",
"mentionedUserId": "6569595380449902597",
"matchType": "verified_account",
"captionAlsoMatches": true,
"postId": "7624849269362625806",
"postUrl": "https://www.tiktok.com/@runnerdaily/video/7624849269362625806",
"caption": "new pair from @nike 🔥 #running",
"createdAt": "2026-07-11T14:02:19.000Z",
"durationSeconds": 27,
"playCount": 14439226,
"likeCount": 3304612,
"commentCount": 11114,
"shareCount": 869705,
"saveCount": 248872,
"authorId": "7644302491875001351",
"authorUsername": "runnerdaily",
"authorNickname": "Runner Daily",
"authorVerified": false,
"authorFollowerCount": 63795,
"authorFollowingCount": 412,
"musicId": "7132920769062897666",
"musicTitle": "cats in the cold",
"scrapedAt": "2026-08-18T09:40:11.402Z"
}

No mentions found

{
"handle": "@someaccount",
"error": "no_mentions_found",
"message": "No verified mentions of @someaccount found in 96 search result(s)."
}

Key Output Fields

FieldDescription
matchTypeverified_account (TikTok's data links that exact account) or caption_text (handle appears in the caption, unconfirmed).
captionAlsoMatchesWhether the caption text also contains the handle — corroboration, not proof.
mentionedUserIdThe resolved account ID the match was checked against.
postUrl / postIdThe post doing the mentioning.
authorUsername / authorFollowerCountWho posted it, and their reach.
playCount, likeCount, commentCount, shareCount, saveCountEngagement on the mentioning post.
error / messagePresent only on rows for handles that returned nothing.

About result depth

TikTok's search is shallow. It commonly returns 18 to 20 results for a query and then reports nothing further, which for a mention hunt means finding tagged posts largely by luck.

This Actor continues on a second source when the first runs dry, scanning several times deeper. On @nike that is the difference between 0 mentions and 10, because the tags exist past the point TikTok's search stops.

The deeper source is reached only when the primary has genuinely run out and you asked for more than it found, so a small run never pays for it. Posts are deduplicated by ID across both sources, and maxSearchPages caps how far the walk goes.

FAQ

How is this different from searching "@brand" myself? Search returns anything textually similar. This confirms each hit against the account's own TikTok ID, so @nikeshoes and renamed handles do not count as @nike.

What does caption_text mean? The caption contains your handle, but no structured entity confirms the account was tagged. Often it is a genuine mention typed as plain text — but it can also be a different account that once used that name. Off by default.

Will it find mentions in comments? No — captions only. Comments are a separate dataset.

Does it need a login or cookies? No.

Why did I get a row saying no mentions were found? So a run never returns an empty dataset with no explanation. It tells you how many results were scanned.

How many mentions should I expect to find? It varies by handle, because TikTok has no "who tagged me" index. Mentions have to be discovered through search, and search matches the handle as an ordinary word, so a distinctive handle yields far more per page than one that is also a common word.

The Actor works around this by continuing on a second, deeper source when TikTok's own search runs dry, which it does after roughly 18 to 20 results. Measured 2026-08-19:

HandlePrimary source aloneWith the deeper source
@nike0 mentions in 18 results10 mentions from 133 scanned
@sephora5 mentions in 19 results30 mentions from 87 scanned
@gymshark12 mentions in 15 results40 mentions from 50 scanned

@sephora and @gymshark stopped at the limit that was set, not because they ran out.

A common word like nike still yields less per page than a distinctive one like gymshark, since search buries real tags under keyword matches. The depth is what makes a low-yield handle workable rather than empty. maxSearchPages bounds how hard the Actor looks, and you are never billed for the non-mentions it discards.

What does it cost? Pay per result: one charge per mention returned, plus a small per-run start fee. Unconfirmed guesses are excluded by default, so you are not paying for rows you would have thrown away. No subscription.

Support

Found a bug or need a field added? Open an issue on the Actor's Issues tab in Apify Console, or email muhamed.didovic@gmail.com.

Additional Services

Need a custom TikTok or social-media scraper, enrichment pipeline, or a private version of this Actor? Custom builds available — reach out at muhamed.didovic@gmail.com.

Explore More Scrapers

Browse the full portfolio: muhamed-didovic.github.io

🤖 For AI Agents & LLM Apps

Purpose: Return public TikTok posts that tag a given account, with each match confirmed against that account's TikTok ID rather than caption text.

Minimal tested input:

{ "handles": ["@tiktok"] }

Output: array of flat objects, one per mention. Core fields: mentionedHandle, mentionedUserId, matchType, captionAlsoMatches, postId, postUrl, caption, createdAt, durationSeconds, playCount, likeCount, commentCount, shareCount, saveCount, authorId, authorUsername, authorNickname, authorVerified, musicId, musicTitle, scrapedAt. With includeAuthorStats: authorFollowerCount, authorFollowingCount.

Critical for agents: branch on matchType. Only verified_account proves the account was tagged — caption_text means the handle appeared in the caption with nothing linking it, and a caption's visible handle can point at a different account than the one it resolves to today. Do not infer the mentioned account from caption.

Behavior & billing: Pay-per-event — one charge per mention returned. Unconfirmed matches are excluded unless onlyVerifiedMentions is false. Unknown handles and handles with no mentions yield one error item each (error, message) instead of failing the run. No login or cookies required.

⚠️ Disclaimer

This Actor accesses publicly available data on TikTok for legitimate research, brand-monitoring, and business-analysis purposes. It does not log in, bypass authentication, or access private content. Use of this Actor must comply with TikTok's Terms of Service and all applicable laws, including data-protection regulations (GDPR, CCPA, etc.). The authors are not responsible for any misuse. Users must:

  • Respect rate limits and avoid overloading TikTok's infrastructure
  • Not use scraped data to violate user privacy or platform terms
  • Process any personal data only with a lawful basis and in compliance with their jurisdiction
  • Not republish scraped content in violation of copyright

We do not store scraped data; the Actor returns it directly to your Apify dataset for your authorized use. TikTok is a trademark of ByteDance Ltd.; this Actor is not affiliated with or endorsed by TikTok or ByteDance.

SEO Keywords

tiktok mention scraper, tiktok brand mentions, track tiktok mentions, tiktok tag scraper, who mentioned me on tiktok, tiktok brand monitoring, tiktok social listening, tiktok influencer verification, tiktok ugc finder, tiktok campaign tracking, find tiktok posts mentioning, tiktok @mention api, tiktok mention monitoring, tiktok competitor mentions, tiktok tagged videos, tiktok brand tracking tool, tiktok mention export, apify tiktok mention scraper