Influencer #ad Disclosure Checker: FTC & ASA
Pricing
from $5.00 / 1,000 results
Influencer #ad Disclosure Checker: FTC & ASA
Check influencer captions and video descriptions for missing or unclear #ad disclosures under FTC Endorsement Guides, the ASA/CAP 2026 influencer guide and CMA, plus German and French rules. Flags codes, affiliate links and gifted posts without a clear upfront label, with quote, rule link and fix.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Ultimate Foresight Inc
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Influencer Ad Disclosure Checker scans influencer captions, video descriptions and scripts for missing, unclear or hidden ad disclosures under the US FTC Endorsement Guides (16 CFR Part 255), the UK ASA/CAP influencer guide (4th edition, October 2026) and CMA guidance, plus German (Medienanstalten) and French (Law 2023-451) labelling rules. It spots discount codes, affiliate links, gifted products, "in partnership with" and other brand-relationship clues, then checks whether a clear label like #ad sits upfront. Each finding has the exact quote, a risk level per country, a link to the rule and a suggested fix. Click Start with the prefilled example to check three captions in a few seconds.
Text pre-check only. Not legal advice. The tool reads the text you give it. It cannot see images, video, audio, stickers or platform toggles (unless you pass the paid-partnership flag), and it never says a post is "compliant". A flag means "review this post".
What does the Influencer Ad Disclosure Checker do?
- ✅ Finds commercial signals: discount codes ("use code SARAH20"), affiliate links (amzn.to, rstyle.me, liketk.it, shopmy.us, geni.us, Awin, CJ, Impact, Skimlinks and
?ref=links), "thanks @brand for sending", gifted/PR products, "in partnership with @brand", ambassador statements and paid-partnership flags from scrapers. - ✅ Finds labels and rates them per country:
#ad,Ad |,Advertisement,Sponsored,#paidpartnership,#gifted,#affiliate,#collab,#sp,#spon,#partner,Werbung/Anzeige,Publicité/Collaboration commerciale, and the 2026 ASA list of labels to avoid. - ✅ Checks placement: a label after the first ~125 characters (hidden behind "more") or buried in a cluster of hashtags is flagged. In Germany it checks that "Werbung" or "Anzeige" comes first.
- ✅ Flags "not sponsored" next to affiliate links or codes, and posts where you say the relationship is paid/gifted/affiliate but the text has no label.
- ✅ Adds the French "Images retouchées / Images virtuelles" reminder when a French post mentions filters or AI images.
- ✅ Ignores common false friends: dress code, QR code, source code, "AD 1200", adidas, "Ad-free", "gift ideas", "thanks to my mom" and more. In our tests on 1,400+ harmless texts (Wikipedia intros in English, German and French, plus product and job texts), the only flags were 2 encyclopedia sentences saying "sponsored by".
- ✅ Takes plain texts, post objects, or a whole Apify dataset from an Instagram, TikTok, YouTube or X scraper. Captions, post URLs, platform and paid-partnership flags are detected automatically.
Risk levels: high, medium, low, none overall, plus riskByJurisdiction and disclosureStatus for each country you choose (us, uk, de, fr).
Who is it for?
- Brands and in-house social teams checking creator posts before or after a campaign goes live.
- Influencer marketing agencies and platforms auditing hundreds of posts for a client report.
- Creators and managers who want a quick check that
#adis in the right place and worded for each country. - Compliance and legal teams who want a fast first pass with rule links, before human review.
How to check influencer posts for #ad disclosure
- Click Start with the prefilled example to see the output.
- Paste your own captions into Captions / post texts to check, or add Posts with your own IDs, platform and known relationship.
- Or pick the dataset of an Instagram, TikTok or YouTube scraper run. Leave Dataset fields empty to auto-detect the caption.
- Choose the rules (US, UK, Germany, France). If you know the posts are paid, set Brand relationship to "Paid post" so unlabeled posts are flagged even without clues in the text.
- Download as JSON, CSV or Excel and work through the rows sorted by
riskLevel.
Input example
{"texts": ["Obsessed with my new serum from @glowco 😍 Use code SARAH20 for 20% off! #skincare #glow","#gifted these cosy slippers from @warmtoes and I never want to take them off","Ad | My honest review of the @runfast trainers after 100 miles. Not perfect, but comfy."],"jurisdictions": ["us","uk"],"relationship": "unknown","visibleChars": 125,"onlyFlagged": false}
Output example
Real output from the prefill run on 2026-10-24 (shortened; every finding has full references and suggestions):
[{"itemNo": 1,"ref": null,"platform": null,"textPreview": "Obsessed with my new serum from @glowco 😍 Use code SARAH20 for 20% off! #skincare #glow","riskLevel": "high","riskByJurisdiction": {"us": "high","uk": "high"},"jurisdictionsApplied": ["us","uk"],"languageHint": null,"disclosureStatus": {"us": "missing_label","uk": "missing_label"},"commercialSignals": [{"type": "discountCode","strength": "strong","quote": "Use code SARAH20"}],"labelsFound": [],"notSponsoredStatements": [],"issueCount": 1,"issues": [{"ruleId": "missing_disclosure","severity": "high","severityByJurisdiction": {"us": "high","uk": "high"},"quote": "Use code SARAH20","explanation": "Commercial signal found (discountCode) but no ad label in the text.","references": [{"jurisdiction": "us","title": "FTC Endorsement Guides 16 CFR 255.5: disclose material connections clearly and conspicuously","url": "https://www.ecfr.gov/current/title-16/chapter-I/subchapter-B/part-255/section-255.5"},{"jurisdiction": "us","title": "16 CFR 255.0(f): definition of 'clearly and conspicuously' (unavoidable on social media)","url": "https://www.ecfr.gov/current/title-16/chapter-I/subchapter-B/part-255/section-255.0"},{"jurisdiction": "us","title": "FTC Disclosures 101 for Social Media Influencers (labels to use and avoid, placement)","url": "https://www.ftc.gov/business-guidance/resources/disclosures-101-social-media-influencers"},{"jurisdiction": "uk","title": "ASA/CAP Influencers' guide to making clear that ads are ads (4th ed., Oct 2026: labels to use and avoid)","url": "https://www.asa.org.uk/resource/influencers-guide.html"},{"jurisdiction": "uk","title": "CAP Code section 2 (rule 2.1/2.3: marketing communications must be obviously identifiable)","url": "https://www.asa.org.uk/type/non_broadcast/code_section/02.html"},{"jurisdiction": "uk","title": "CMA guide for content creators: social media endorsements (DMCC Act 2024)","url": "https://www.gov.uk/government/publications/social-media-endorsements-guide-for-influencers"}],"suggestion": {"us": "Put a clear label such as 'Ad', '#ad', 'Advertisement' or 'Sponsored' (or 'Thanks to [Brand] for the free product') at the start of the caption, and also say it in the video.","uk": "Put 'Ad' / '#ad' (or 'Advert', 'Advertisement', 'Advertisement feature') at the very start, before anything else; don't rely on 'gifted', 'sponsored', 'affiliate', 'collab' or 'in partnership with'."}}],"notes": [],"relationshipInput": "unknown","checkedAt": "2026-10-24T18:16:17+00:00","disclaimer": "Automated wording pre-check of the text only, based on publi..."},{"itemNo": 2,"textPreview": "#gifted these cosy slippers from @warmtoes and I never want to take them off","riskLevel": "high","riskByJurisdiction": {"us": "medium","uk": "high"},"disclosureStatus": {"us": "weak_label","uk": "unclear_label"},"labelsFound": [{"label": "gifted","quote": "#gifted","position": 0,"inHashtagCluster": false,"strength": {"us": "weak","uk": "insufficient"}}],"issues": [{"ruleId": "unclear_label","severityByJurisdiction": {"uk": "high"},"quote": "#gifted","explanation": "Label '#gifted' found, but: The ASA's 2026 guide now advises against 'Gift/Gifted' and 'PR' labels: research shows people don't understand them. Use 'Ad'.","suggestion": {"uk": "Put 'Ad' / '#ad' (or 'Advert', 'Advertisement', 'Advertisement feature') at the very start, before anything else; don't rely on 'gifted', 'sponsored', 'affiliate', 'collab' or 'in partnership with'."}},{"ruleId": "weak_label","severityByJurisdiction": {"us": "medium"},"quote": "#gifted","explanation": "Label '#gifted' found, but: FTC: 'Thanks to [brand] for the free product' is often enough if hard to miss; a bare 'gifted' tag is easy to miss or misread.","suggestion": {"us": "Put a clear label such as 'Ad', '#ad', 'Advertisement' or 'Sponsored' (or 'Thanks to [Brand] for the free product') at the start of the caption, and also say it in the video."}}]},{"itemNo": 3,"textPreview": "Ad | My honest review of the @runfast trainers after 100 miles. Not perfect, but comfy.","riskLevel": "none","riskByJurisdiction": {"us": "none","uk": "none"},"disclosureStatus": {"us": "clear_label_upfront","uk": "clear_label_upfront"},"labelsFound": [{"label": "ad","quote": "Ad","position": 0,"inHashtagCluster": false,"strength": {"us": "clear","uk": "clear"}}],"issues": []}]
How much does it cost to check influencer posts?
Pay per result: $0.005 per post checked, plus a $0.00005 start fee per run and small Apify platform usage paid by you (the 3-post prefill run used about $0.0001 of platform usage). 100 posts cost about $0.50 and 1,000 posts about $5.00, plus platform usage. Turn on Only save posts with findings to pay only for flagged rows, and cap spend with the maximum cost per run setting.
Use it through the API, integrations or AI agents
- Run and get results in one call:
https://api.apify.com/v2/acts/ultimatemc~influencer-ad-disclosure-checker/run-sync-get-dataset-items - MCP for AI agents:
https://mcp.apify.com?tools=ultimatemc/influencer-ad-disclosure-checker - Chain it after a scraper: pass that run's dataset ID, or call it from a webhook when the scraper finishes.
Rules and sources
Checked against these public texts on 2026-10-24:
- FTC Endorsement Guides, 16 CFR 255.5 (disclosing material connections) and 255.0(f) ("clearly and conspicuously", unavoidable on social media).
- FTC Disclosures 101 for Social Media Influencers: put the label where it's hard to miss, not in a pile of hashtags or behind "more"; "sp", "spon", "collab", "thanks" or "ambassador" alone are unclear; say it in the video too.
- ASA/CAP Influencers' guide to making clear that ads are ads, 4th edition (October 2026): use "Ad", "#ad", "Advert", "Advertising", "Advertisement" or "Advertisement feature" upfront; avoid "gifted", "affiliate", "collab", "PR", "sponsored", "spon", "sp", "in partnership with", "thanks to", "supported by" and similar. Affiliate links and posts about your own products count as ads.
- CAP Code section 2 (ads must be obviously identifiable) and the CMA guide for content creators.
- Germany: Die Medienanstalten, Leitfaden Werbekennzeichnung bei Online-Medien: "Werbung" or "Anzeige" at the start; "ad", "sponsored by" or "PR-Sample" alone are not enough.
- France: Loi n° 2023-451 du 9 juin 2023 (influence commerciale), art. 5 ("Publicité" or "Collaboration commerciale", clear and visible for the whole content) and art. 5-2 ("Images retouchées" / "Images virtuelles").
How the checking works
The text is matched against a fixed rule set of labels, commercial signals and exclusions for false friends. Each label has a strength per country (clear, weak or not enough), and each finding has a severity per country. Placement is measured in characters from the start of the text and by detecting clusters of three or more hashtags. With language detection on, German and French rules only apply to German or French text. No AI and no external calls, so the same input always gives the same output.
FAQ
Does "none" mean the post is compliant?
No. It means the text has no commercial clues, or it has a clear upfront label. The tool can't see the relationship behind a post, the image, the video or what is said out loud. If you know a post is paid, set Brand relationship so missing labels are always flagged.
Why is "#sponsored" flagged for the UK but not the US?
The FTC lists "sponsored" as a clear label. The ASA's 2026 guide advises against "sponsored" and wants "Ad" or "Advert" instead. That's why results are split by country.
What about Instagram's "Paid partnership" tag?
If your scraper output has a field like isPaidPartnership or isSponsored, the tool uses it. The ASA says the platform tag alone may not be enough; the FTC says it may not be sufficient on its own either, so a text label is still suggested.
Can it check TikTok or YouTube videos?
It checks the caption, description or script text you give it. For videos it reminds you that the disclosure should also be said or shown in the video.
Is it AI?
No. Deterministic rules, so results are repeatable and auditable.
Limitations
- Text only. Labels in images, stickers, video, audio or platform toggles are not seen unless passed as a flag.
- It can't know the real relationship behind a post; clues like codes and affiliate links are strong hints, not proof.
- English, German and French wording; other languages are not checked.
- Not every country is covered. Rules and guides change; check the dates in the sources section.
Other tools by Ultimate Foresight
- Ad Copy Policy Checker for Meta, Google & TikTok: checks ad text against Facebook, Instagram, Google Ads and TikTok ad policies before you submit.
- H-1B Visa Sponsor Checker & Score for Job Listings: adds Department of Labor H-1B sponsorship history and a 0-100 score to company names or job listings.
- Chain vs Independent Labeler for Google Maps Leads: labels local businesses as chain, franchise or independent.
- YouTube Monetization Checker for Scripts & Titles: pre-checks titles, descriptions and scripts for wording that leads to limited or no ads.
- Etsy & eBay Listing Policy & Banned Item Checker: pre-checks marketplace listings for prohibited items, counterfeit wording and off-platform contact.
- Job Scam Detector & Trust Score for Job Postings: scores job postings 0-100 for scam and ghost-job signals.
- SAM.gov Amendment & Opportunity Change Tracker: shows what changed between versions of a SAM.gov notice: deadlines, set-asides, NAICS and attachments.
- Product Recall Checker for Brands, UPCs & Products: matches your brands, products, UPCs or model numbers against CPSC, FDA and NHTSA recalls.
- App Store & Google Play Listing Policy Checker: pre-checks app names, subtitles and descriptions against Apple and Google Play metadata rules.
- Company Name Normalizer & Deduplicator for CRM: cleans company names (Inc, LLC, d/b/a, aliases) and groups duplicates in CRM, lead or vendor lists.
- FCC Covered List & Section 889 Bulk Screener: screens FCC IDs and brand names against the public FCC Covered List, with sources and timestamps (screening aid only).
- Green Claims Checker: EU Greenwashing Ban & FTC: flags risky eco-friendly, carbon neutral and recyclable wording under EU, FTC and UK CMA rules.
- Job Title to SOC Code Mapper with O*NET Data: maps job titles to SOC and O*NET-SOC codes in bulk, with seniority and tech skills found in the posting.
Missed disclosure or false alarm? Open an issue on the Issues tab with the text, and we'll review the rule.