YouTube Shorts Sponsorship Signals Scraper icon

Social media · Marketing

YouTube Shorts Sponsorship Signals Scraper

Detect brand deals in any creator's YouTube Shorts — one row per Short with a transparent sponsorship_score from spoken transcript signals ('sponsored by', 'use code'), caption hashtags and brand mentions, plus engagement counters. Influencer-intel data at 1/100th of SaaS pricing.

Free Apify credit covers a first run. No credit card to try.

What this Actor scrapes

Influencer-intel SaaS dashboards charge $200–2 000/mo to tell agencies which creators run paid placements. This Actor surfaces the same signal from public data for a fraction of the cost. For every recent Short on a channel it pulls the title, view count, duration, tags, description, and — crucially — the spoken transcript, then scores how likely the Short is sponsored and lists the exact phrases that fired.

Shorts descriptions are mostly empty, so caption-only scrapers miss most deals. We read what the creator actually *says*, which is where Shorts sponsorships live.

What we handle for you

  • 🛡️ Browser fingerprint impersonationcurl-cffi mimics a real Chrome TLS + HTTP/2 handshake, so YouTube sees a browser, not a bot.
  • 🍪 Consent-gate handling — we send the consent cookie YouTube requires before it will list a channel's Shorts. Skip it and you get zero results; we don't skip it.
  • 🗣️ Transcript-first detection — spoken sponsor language is the primary signal, caught even when the description is blank.
  • 🌐 Optional proxy rotation via Apify Proxy — datacenter is fine at low volume; residential scales it up.
  • 🧱 Graceful degradation — a Short with no captions still emits a row (has_transcript: false) instead of crashing the run.
  • 💰 Pay-Per-Event pricing — you only pay for Shorts that land in your dataset.

Use cases

  • Influencer-agency intel — see which creators run brand deals and which brands keep coming back.
  • Competitive brand monitoring — track where a competitor's products show up across creators' Shorts.
  • Sponsorship benchmarking — measure how often a niche's top channels run paid placements.
  • Disclosure compliance audits — flag Shorts with spoken sponsorships but no #ad disclosure.
  • Creator vetting — gauge a channel's commercial density before signing a deal.

Input

Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.

FieldTypeRequiredWhat it does
channels array yes One or more YouTube channel handles or URLs. Accepts @mkbhd, mkbhd, or https://youtube.com/@mkbhd — all normalised to @handle.
maxShortsPerChannel integer no Maximum number of Shorts to inspect per channel.
language string no Preferred transcript language code (ISO-639-1). Falls back to any available track.
minSponsorshipScore number no Only emit rows scoring at or above this value. 0 emits every Short; 0.5 keeps only likely-sponsored ones.
{
  "channels": [
    "@mkbhd"
  ],
  "maxShortsPerChannel": 20,
  "language": "en",
  "minSponsorshipScore": 0.0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}

Output

One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.

channelvideo_idurltitleview_countlength_secondshas_transcripthashtagsmentionsdetected_brandssponsorship_signalssponsorship_scoreis_likely_sponsored

{
  "channel": "@mkbhd",
  "video_id": "n3V3LZh_r40",
  "url": "https://www.youtube.com/shorts/n3V3LZh_r40",
  "title": "My everyday carry, sponsored",
  "published_text": null,
  "view_count": 2805352,
  "length_seconds": 58,
  "description": "#ad",
  "tags": [
    "tech",
    "edc"
  ],
  "has_transcript": true,
  "transcript_chars": 712,
  "hashtags": [
    "#ad"
  ],
  "mentions": [],
  "detected_brands": [
    "Surfshark",
    "MARQUES"
  ],
  "sponsorship_signals": [
    "this video is sponsored",
    "use code",
    "#ad"
  ],
  "sponsorship_score": 1.0,
  "is_likely_sponsored": true,
  "scraped_at": "2026-06-13T10:00:00+00:00"
}

Pricing

EventPriceWhen
Actor start$0.20Once per run, covers warm-up and proxy session setup.
Result emitted$0.0040Per result written to the dataset.

You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.

FAQ

Why transcripts instead of captions/descriptions?
Because Shorts descriptions are almost always empty. The sponsorship lives in what the creator *says*, so we read the transcript first and treat description/hashtags as secondary signals.
What handle formats are accepted?
@mkbhd, mkbhd, youtube.com/@mkbhd, and full https://…/@mkbhd/shorts URLs all normalise to @mkbhd.
Do I need a proxy or API key?
No. The data path is keyless and works without a proxy at low volume. Add a proxy if you're scanning many channels.
Can I keep only the sponsored Shorts?
Yes — set minSponsorshipScore to 0.5 and only likely-sponsored Shorts are emitted (and billed).

Ready to run it?

Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.

Related Actors

Teams that run this also run