YouTube Sponsorship Tracker: Brand Deals, Promo Codes $2/1K avatar

YouTube Sponsorship Tracker: Brand Deals, Promo Codes $2/1K

Pricing

from $1.20 / 1,000 sponsorship founds

Go to Apify Store
YouTube Sponsorship Tracker: Brand Deals, Promo Codes $2/1K

YouTube Sponsorship Tracker: Brand Deals, Promo Codes $2/1K

Find which YouTubers a brand sponsors, or every sponsor in a channel or niche. One row per video and sponsor: brand, domain, promo code, tracked link, ad timestamp, evidence and confidence. No login, no API key. $2 per 1,000 rows.

Pricing

from $1.20 / 1,000 sponsorship founds

Rating

0.0

(0)

Developer

Detroit Web Agent - Open Data

Detroit Web Agent - Open Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

YouTube Sponsorship Tracker: Brand Deals, Promo Codes

YouTube Sponsorship Tracker: features, price and a real output row

Run it free on Apify

Price per 1,000 videosFree planStarterScaleBusiness
This Actor$2.00$1.70$1.50$1.20
Most-used alternative$12.00$12.00$12.00$12.00

YouTube Sponsorship Tracker sample output table from a real run

Find out which YouTubers a brand sponsors, or which brands sponsor a channel or a niche. Every row is one video and one sponsor, with the brand, its domain, the promo code, the tracked link and its UTM/coupon parameters, the timestamp of the ad read, the description lines that prove it and a confidence score. No login, no YouTube API key, no daily quota. $2 per 1,000 sponsorships found.

  • In short: YouTube Sponsorship Tracker (Apify actor transparent_meteorite/youtube-sponsorship-tracker) reads public YouTube pages and detects sponsor reads in video descriptions, chapters and the paid-promotion flag. It returns one flat row per (video, sponsor brand).
  • Who it is for:
    • brand and influencer marketing teams checking where competitors spend
    • agencies building creator shortlists from proven sponsor history
    • creators and managers looking for brands that already buy YouTube ads in their niche
    • analysts tracking sponsor share of voice over time
  • Input: brand names, channels, niche keywords, or pasted video / channel / search URLs. Empty input runs a NordVPN sample.
  • Output: sponsorBrand, sponsorDomain, promoCode, trackedLink, linkParams, sponsorTimestamp, evidence, confidence, plus video and channel stats.
  • Detection: deterministic rules, no AI model. Same input, same answer.
  • Pricing: pay per sponsorship row, $0.002 on the free plan down to $0.0012 on Gold and higher.
  • Access: Apify Console, REST API, JavaScript/Python clients, schedules, webhooks, Apify MCP server
  • Login, cookies or YouTube API key needed: no
  • Also known as: YouTube sponsor finder, YouTube brand deal tracker, influencer sponsorship database, YouTube ad read tracker, competitor sponsorship monitor

Run in 30 seconds

  1. Press Try for free.
  2. Keep the prefilled brand (NordVPN) or type your own, then press Start. Ten sponsored videos take about 10 seconds.
  3. Open the Output tab: one row per sponsorship. Download as CSV, Excel or JSON.
{ "brands": ["NordVPN"], "maxVideos": 10 }

What it does

The mode is picked from what you fill in:

You fill inWhat happensRows returned
brands onlySearches YouTube for videos that brand sponsors ("thanks to X for sponsoring", "sponsored by X", promo-code searches), then checks each video pageOnly that brand's sponsorships: which creators it pays
channelsChecks the channel's newest videosEvery sponsor found in each video
keywordsChecks the top YouTube results for a niche searchEvery sponsor found in each video
startUrlsChecks the pasted videos, channels or search pagesEvery sponsor found
brands + channels/keywords/URLsScans as aboveOnly rows for the listed brands
nothingSample run for NordVPN20 rows

A sponsorship is detected from signals a human reviewer would use, each with a weight:

  • explicit phrases: "sponsored by", "thanks to X for sponsoring", "today's sponsor", "in partnership with", "#ad"
  • offer links: tracked links with coupon=, utm_*, ref= and similar, creator vanity links (brand.com/creatorname), short links resolved once to the real domain
  • promo codes ("use code CREATOR20")
  • sponsor chapters ("1:14 NordVPN Ad Spot") giving the timestamp of the ad read
  • YouTube's paid promotion flag and #ad disclosures

Rows below your confidence threshold, the creator's own merch and socials, negated mentions ("not sponsored by...") and Amazon gear lists are left out. Videos that only review a product with an affiliate link ("NordVPN review") are skipped unless you turn on includeAffiliateReviews.

Input

FieldTypeDefaultNotes
brandsarrayNordVPN (sample)Brand names to find, or to filter on
channelsarray@handle, channel URL or UC id
keywordsarrayNiche search terms
startUrlsarrayVideo, Shorts, channel or search URLs
maxVideosinteger20Brand mode: sponsored videos to find per brand. Channel/keyword mode: videos to check per source
maxItemsinteger0Hard cap on rows for the run (0 = none)
publishedAfterstring2025-01-31 or 30 days
minConfidenceinteger500-100. 80 keeps only explicit sponsor reads
searchSortstringrelevancerelevance, date or views
includeAffiliateReviewsbooleanfalseKeep affiliate-only review videos
resolveShortLinksbooleantrueFollow bit.ly / geni.us once to find the sponsor domain
onlyNewbooleanfalseMonitor mode: only sponsorships not delivered before
maxTotalChargeUsdnumberStop before spending more than this
proxyConfigurationobjectnoneNot needed for normal runs

Example inputs

Who does Surfshark sponsor this year?

{ "brands": ["Surfshark"], "maxVideos": 30, "publishedAfter": "365 days" }

All sponsors of three tech channels

{ "channels": ["@mkbhd", "@LinusTechTips", "@JerryRigEverything"], "maxVideos": 15 }

Sponsors in the budget travel niche

{ "keywords": ["budget travel vlog"], "maxVideos": 40 }

Output sample

{
"videoId": "7NCClf7aa_c",
"url": "https://www.youtube.com/watch?v=7NCClf7aa_c",
"title": "Understanding Fabric Weight",
"channelName": "Bernadette Banner",
"channelId": "UCSHtaUm-FjUps090S7crO4Q",
"channelUrl": "https://www.youtube.com/@bernadettebanner",
"channelSubscribers": 2000000,
"views": 170873,
"publishedAt": "2026-10-11T07:00:10-07:00",
"durationSec": 2300,
"sponsorBrand": "NordVPN",
"sponsorDomain": "nordvpn.com",
"promoCode": null,
"trackedLink": "https://nordvpn.com/bernadette",
"linkParams": null,
"sponsorTimestamp": "1:14",
"sponsorTimestampSec": 74,
"sponsorUrlAtTimestamp": "https://www.youtube.com/watch?v=7NCClf7aa_c&t=74s",
"isPaidPromotionFlag": false,
"hasAdDisclosure": false,
"isAffiliateReview": false,
"signals": ["creatorVanityLink", "thanksForSponsoring", "brandOfferMention", "sponsorChapter"],
"evidence": "Get an exclusive NordVPN deal + 4 months extra here https://nordvpn.com/bernadette ... | Thanks to NordVPN for sponsoring this video!",
"confidence": 0.99,
"sponsorsInVideo": 2,
"matchedBrand": "NordVPN",
"fromSource": "brand",
"fromInput": "NordVPN",
"scrapedAt": "2026-10-13T23:59:00.000Z"
}

Values above come from a real run (views change over time). The Overview table in the Output tab shows sponsor, channel, video, views, date, domain, promo code, link, ad timestamp and confidence. The run's OUTPUT record has per-source counts (videos scanned, rows, skipped) and warnings.

Pricing

Pay per event: you pay only for sponsorship rows delivered. Duplicates, rows below your confidence threshold, filtered rows and (in monitor mode) already-seen rows are never charged.

Apify planPrice per sponsorshipPer 1,000
Free$0.002$2.00
Bronze$0.0017$1.70
Silver$0.0015$1.50
Gold, Platinum, Diamond$0.0012$1.20

Set maxItems or maxTotalChargeUsd to cap a run. A 20-row sample costs about 4 cents.

Use it from code, schedules or AI agents

  • API: POST https://api.apify.com/v2/acts/transparent_meteorite~youtube-sponsorship-tracker/run-sync-get-dataset-items?token=YOUR_TOKEN with the input JSON as the body.
  • Schedules: set onlyNew: true, list your competitor brands, and schedule it weekly to get only new sponsorships.
  • MCP / AI agents: add https://mcp.apify.com?actors=transparent_meteorite/youtube-sponsorship-tracker to Claude, Cursor or any MCP client and ask "which YouTubers did Squarespace sponsor in the last 3 months?".

Honest limits

  • Detection reads the description, chapters and paid-promotion flag, not the spoken audio. A sponsor that is only spoken in the video, with no link or code in the description, is missed.
  • Brand mode finds videos through YouTube search, so it returns what search surfaces for sponsor phrases: strong for big advertisers (VPNs, Squarespace, HelloFresh, Skillshare), thinner for brands that rarely appear in descriptions.
  • Brand names are taken from the text or the link domain. Unknown brands behind odd tracking domains can come out as the domain name (for example ankerfast.club); the tracked link is always included so you can check.
  • Confidence is a rule-based score, not a probability. 0.9+ means an explicit sponsor read; 0.5-0.7 means an offer link without a sponsor phrase.
  • YouTube's paid-promotion flag is not always shown to logged-out visitors, so isPaidPromotionFlag: false does not prove a video is unsponsored.
  • Only public videos. Members-only, private and age-restricted videos are skipped.

Use cases

  • Competitive intelligence for a brand team. Enter the names of three competitors and see which creators carry their ads, how large those channels are, which promo codes and tracked links are used, and where in the video the ad read sits. Run it again every month to see which creators are new.
  • Shortlist building for an agency. A creator that already carries ads for brands in your category is proven to accept sponsors. Search a niche keyword and read the sponsorBrand, channelName and channelSubscribers columns to build a short list of channels with sponsor history.
  • Lead lists for creators and managers. Choose a niche, collect the brands that already buy YouTube ads there, and pitch those brands. sponsorDomain gives the company website directly.
  • Share of voice tracking. Count rows per sponsorBrand across a fixed set of channels to see which advertisers dominate a category, then repeat on a schedule.
  • Disclosure and compliance checks. isPaidPromotionFlag, hasAdDisclosure and signals show whether a sponsored video also carries the platform's paid-promotion flag or an explicit ad disclosure.
  • Promo code and link research. promoCode, trackedLink and linkParams list the offer codes and the UTM or coupon parameters each creator uses.

Input guide

  • brands are company names. Alone, the actor searches YouTube for videos that those brands sponsor and returns the creators behind them. Combined with channels, keywords or startUrls, brands act as a filter and only rows for those brands are kept.
  • channels accept an @handle, a channel URL or a UC... channel id. The newest videos of each channel are checked and every sponsor found is returned.
  • keywords are YouTube search terms for a niche, such as home espresso. The top results are checked and every sponsor found is returned.
  • startUrls accepts video, Shorts, channel or search page URLs. Use it to check a hand-picked list of videos.
  • maxVideos (1 to 5,000, default 20) means different things per mode. In brand mode it is the number of sponsored videos to find per brand, and the actor checks up to four times as many candidates. In channel and keyword mode it is the number of videos to check.
  • maxItems caps the total number of rows for the run. 0 means no cap.
  • publishedAfter skips older videos. Use a date such as 2026-01-01 or a period such as 30 days.
  • minConfidence (0 to 100, default 50) drops weaker rows, and dropped rows are not charged. At 50 the output keeps clear sponsor reads and offer links. At 80 it keeps only explicit cases such as "sponsored by", a promo code or an ad chapter.
  • searchSort sets the YouTube search order used in brand and keyword mode: relevance, date or views. Use date for a recent view, views to surface the biggest placements.
  • includeAffiliateReviews keeps review videos that only carry an affiliate link. They are flagged isAffiliateReview. It is off by default because most of them are not paid sponsorships.
  • resolveShortLinks follows short links such as bit.ly once to find the real sponsor domain. Leave it on unless every link in your sources is already direct.
  • onlyNew with stateStoreName turns on monitor mode: video and brand pairs that were already delivered are remembered by name and not returned or charged again. Use a different name for each monitor.
  • maxConcurrency sets parallel page fetches, 1 to 5, default 2.
  • autoProxyFallback switches to Apify residential proxy by itself when YouTube starts limiting the IP. proxyConfiguration is rarely needed.

Output field reference

FieldMeaning
videoId, url, titleThe video
channelName, channelId, channelUrl, channelSubscribersThe channel
views, publishedAt, durationSecVideo statistics and date
sponsorBrand, sponsorDomainThe detected sponsor and its website domain
promoCodeOffer code read from the description, when one exists
trackedLink, linkParamsThe sponsor link and its UTM, coupon or referral parameters
sponsorTimestamp, sponsorTimestampSec, sponsorUrlAtTimestampWhere the ad read begins, from a sponsor chapter, and a link that opens the video at that second
isPaidPromotionFlag, hasAdDisclosure, isAffiliateReviewDisclosure and affiliate flags
signalsThe detection signals that fired, for example thanksForSponsoring or sponsorChapter
evidenceThe description lines that support the match
confidenceRule-based score from 0 to 1
sponsorsInVideoNumber of distinct sponsors found in the video
matchedBrand, fromSource, fromInputHow the row relates to your input
scrapedAtSnapshot time

More worked examples

Recent sponsors of one competitor, high confidence only

{
"brands": ["Squarespace"],
"maxVideos": 25,
"publishedAfter": "90 days",
"searchSort": "date",
"minConfidence": 80
}

Who sponsors a single creator, and where in the video

{
"channels": ["@mkbhd"],
"maxVideos": 20,
"minConfidence": 70
}

Weekly monitor for new deals of several brands

{
"brands": ["NordVPN", "Surfshark", "ExpressVPN"],
"maxVideos": 20,
"onlyNew": true,
"stateStoreName": "vpn-sponsor-watch",
"publishedAfter": "30 days"
}

Check a hand-picked list of videos

{
"startUrls": [{ "url": "https://www.youtube.com/watch?v=7NCClf7aa_c" }],
"minConfidence": 50
}

Reading confidence and signals

Confidence comes from adding up weighted signals. A phrase such as "thanks to X for sponsoring" or a sponsor chapter in the timeline is strong evidence. A tracked offer link with a coupon or referral parameter is moderate evidence. A promo code adds to either. The paid-promotion flag and an ad disclosure also raise the score.

For outreach lists, minConfidence: 80 gives fewer rows with fewer false positives. For market sizing, the default of 50 finds more placements, and a manual look at the evidence column settles the borderline cases. The evidence text is copied from the video description, so each row can be verified in one click through url or sponsorUrlAtTimestamp.

Tips to reduce cost and runtime

  • Start with maxVideos 10 and check the first rows before a large run. Rows below minConfidence are not charged, so a stricter threshold lowers the bill and the clean-up work.
  • Add publishedAfter to avoid old videos. Sponsor deals change quickly, so a 6 to 12 month window is usually enough.
  • Use maxItems as a hard cap on rows.
  • In brand mode, search sorted by date shows what is new. Sorted by views it shows the largest placements.
  • For repeat runs use onlyNew. Each pair of video and brand is delivered once.
  • Keep resolveShortLinks on, so the real sponsor domain is found instead of a link shortener.

Calling it from code

curl -X POST "https://api.apify.com/v2/acts/transparent_meteorite~youtube-sponsorship-tracker/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"brands":["NordVPN"],"maxVideos":10}'
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("transparent_meteorite/youtube-sponsorship-tracker").call(
run_input={"channels": ["@mkbhd"], "maxVideos": 10}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["channelName"], row["sponsorBrand"], row["promoCode"], row["confidence"])

More questions

Can it find the sponsor of a video that only mentions the brand in speech? No. Detection reads the description, chapters and paid-promotion flag, not the audio.

Why does a brand search return fewer videos than I asked for? Brand mode relies on what YouTube search surfaces for sponsor phrases. Brands that rarely appear in descriptions give fewer rows.

Does it work on Shorts? Shorts URLs can be pasted in startUrls and are checked like other videos.

Can I filter by channel size? The output has channelSubscribers, so filter in your table or spreadsheet.

What does sponsorsInVideo mean? It is the number of distinct sponsors found in that one video. Each sponsor has its own row.

Are results the same on every run? Detection uses fixed rules, so the same videos give the same answer. New videos, view counts and search results change over time.

How do I export for a spreadsheet? Use the Output tab to download CSV or Excel. The Overview table shows the main columns.

FAQ

Do I need a YouTube API key? No. The actor reads the same public pages a logged-out browser sees.

Does it use AI? No. Detection is deterministic rules, so results are repeatable and cheap.

Can I get only new sponsorships every week? Yes. Turn on onlyNew; delivered video + brand pairs are remembered in a named key-value store and not charged again.

Does it find the creator's email? No. It returns the channel URL and handle; contact details are out of scope.

Do I need a proxy? No for normal runs. If YouTube rate-limits the IP, the run switches to Apify residential proxy by itself (turn autoProxyFallback off to prevent this).

The actor reads only public YouTube pages that anyone can open without logging in, and returns business information about public sponsorship placements: brands, public videos and public channel pages. It does not collect private personal data. You are responsible for using the results in line with YouTube's terms and the laws that apply to you.

New to Apify? Create a free account and run this Actor in under a minute. Some links are affiliate links.