YouTube Monetization Checker for Scripts & Titles avatar

YouTube Monetization Checker for Scripts & Titles

Pricing

from $20.00 / 1,000 results

Go to Apify Store
YouTube Monetization Checker for Scripts & Titles

YouTube Monetization Checker for Scripts & Titles

Check YouTube titles, descriptions, tags and scripts for words that can get a video demonetized, before you upload. For creators, editors and AI script tools. Flags profanity, violence, adult, drugs, firearms and sensitive topics, with likely ad state (yellow or red $), quote, timestamp and a fix.

Pricing

from $20.00 / 1,000 results

Rating

0.0

(0)

Developer

Ultimate Foresight Inc

Ultimate Foresight Inc

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

YouTube Monetization Checker scans your video titles, descriptions, tags, thumbnail text and full scripts or transcripts for wording that often leads to limited ads (yellow $) or no ads (red $) under YouTube's advertiser-friendly content guidelines, before you upload. For every video you get a likely ad state, the guideline category, the exact words flagged, where they appear (title, opening seconds or body, with a timestamp for timed transcripts) and a rewrite hint. Click Start with the prefilled example to see a result in a few seconds.

A pre-check, not a YouTube decision. This is a fixed, rule-based text checker built from YouTube's public advertiser-friendly content guidelines. A flag means "review this"; a clean result does not guarantee full monetization. YouTube also judges the picture, audio, thumbnail image and overall context, which this tool can't see. Not affiliated with YouTube or Google.

What does YouTube Monetization Checker do?

  • ✅ Checks text against 24 rules grouped by YouTube's own topic names (inappropriate language, violence, adult, shocking, harmful acts and misinformation, hateful and incendiary content, recreational drugs, firearms, controversial issues, sensitive events, enabling dishonest behavior, tobacco), plus made-for-kids checks
  • ✅ Placement-aware, like YouTube: titles and thumbnail text are judged more strictly, and profanity in the opening seconds (default 30) is reported separately
  • ✅ Timestamps for each flag when you pass a timed transcript ([{"text", "start"}])
  • ✅ Context setting (educational, news, documentary, music, comedy, gaming) softens the categories where YouTube says context matters
  • ✅ Avoids common false-positive traps: "killer recipe", "Suicide Squad", "weed killer", "killer whale", "glue gun", "lean protein", "high scores", "photo shoot"
  • ✅ Returns riskLevel, adSuitabilityEstimate, categoriesFlagged, and per issue category, severity, field, placement, quote, timestamp, context, guidelineUrl and rewriteHint
  • ✅ Bulk: paste many videos, or point it at the dataset of a YouTube video or transcript scraper. Export as JSON, CSV or Excel

Who is it for?

  • 🎬 YouTubers and video editors checking a script or title before recording or uploading
  • 🏢 Agencies and multi-channel networks that review many scripts per week
  • 🤖 AI script generators and content pipelines that need an automated monetization gate
  • 📚 Channel auditors checking a back catalog of transcripts for risky wording

How to check a YouTube script for demonetization risk

  1. Click Try for free or Start. The input is prefilled with two example videos.
  2. Replace them with your own videos in Videos: a title, and optionally description, tags, thumbnailText and script (plain text or a timed transcript). For quick checks, use Scripts or Titles instead.
  3. Set Content context (for example educational or gaming) and Made for kids if they apply.
  4. Click Start. Each video becomes one row in the results table.
  5. Download the results or fetch them through the API.

Input example

This is the prefilled input:

{
"videos": [
{
"id": "v1",
"title": "This F*CKING boss fight is INSANE",
"description": "Full run, no commentary. Use promo code SAVE10 at our gun store partner.",
"tags": [
"gaming",
"boss fight"
],
"script": "What the fuck. Okay okay, we go left here and grab the shield. This boss has three phases."
},
{
"id": "v2",
"title": "Killer sourdough recipe: dead simple, no knead",
"description": "Shot on a phone in my kitchen. Hell yes, it works.",
"script": "Today we make a killer loaf. Shoot, I forgot the salt. Let it rest overnight."
}
]
}

With a timed transcript (gives exact timestamps) and a context:

{
"videos": [
{
"id": "ep12",
"title": "My honest review",
"script": [
{
"text": "welcome back everyone",
"start": 0
},
{
"text": "this part is where it gets crazy",
"start": 95.2
}
]
}
],
"contentContext": "gaming",
"madeForKids": false,
"openingSeconds": 30
}

From the dataset of a YouTube or transcript scraper (fields such as title, description, tags, transcript, captions and subtitles are detected automatically; fieldMap is optional):

{
"datasetId": "YOUR_TRANSCRIPT_SCRAPER_DATASET_ID",
"fieldMap": {
"title": "videoTitle",
"script": "subtitlesText"
},
"contentContext": "educational"
}

Output example

This is real output from the prefilled input above (run on 2026-10-21), not trimmed:

[
{
"videoId": "v1",
"url": null,
"title": "This F*CKING boss fight is INSANE",
"riskLevel": "high",
"adSuitabilityEstimate": "likely no ads (red)",
"issueCount": 3,
"categoriesFlagged": [
"Firearms-related content",
"Inappropriate language"
],
"issues": [
{
"ruleId": "firearm_sales_mods",
"category": "Firearms-related content",
"severity": "high",
"field": "description",
"placement": "body",
"quote": "promo code SAVE10 at our gun",
"occurrences": 1,
"context": "Full run, no commentary. Use promo code SAVE10 at our gun store partner.",
"guidelineUrl": "https://support.google.com/youtube/answer/6162278",
"rewriteHint": "Facilitating gun or ammo sales, modifications (bump stocks, auto conversions, 80% lowers, high-capacity magazines) or build instructions earns no ads. Reviews and range demos without sales links or mods are treated more leniently."
},
{
"ruleId": "masked_profanity",
"category": "Inappropriate language",
"severity": "medium",
"field": "title",
"placement": "title/thumbnail",
"quote": "F*CKING",
"occurrences": 1,
"context": "This F*CKING boss fight is INSANE",
"guidelineUrl": "https://support.google.com/youtube/answer/6162278",
"rewriteHint": "Abbreviated or obscured profanity in the video is generally fine, but a masked strong word in the title can still be treated as profanity. Consider a cleaner title."
},
{
"ruleId": "strong_profanity",
"category": "Inappropriate language",
"severity": "medium",
"field": "script",
"placement": "opening",
"quote": "fuck",
"occurrences": 1,
"context": "What the fuck. Okay okay, we go left here and grab the shield. ...",
"guidelineUrl": "https://support.google.com/youtube/answer/6162278",
"rewriteHint": "Strong profanity in the title/thumbnail or opening is a common reason for no or limited ads. Bleep or mute it in the video, keep it out of the title and first seconds, or swap in a milder word."
}
],
"contentContext": "general",
"madeForKids": false,
"scriptWordCount": 18,
"disclaimer": "Automated text pre-check based on YouTube's public advertiser-friendly content guidelines. Flags are possible issues, not YouTube decisions; a clean result does not guarantee full monetization. YouTube also reviews the video, audio, thumbnail image and context, which this tool does not see."
},
{
"videoId": "v2",
"url": null,
"title": "Killer sourdough recipe: dead simple, no knead",
"riskLevel": "none found",
"adSuitabilityEstimate": "no issues found (still not a guarantee)",
"issueCount": 0,
"categoriesFlagged": [],
"issues": [],
"contentContext": "general",
"madeForKids": false,
"scriptWordCount": 15,
"disclaimer": "Automated text pre-check based on YouTube's public advertiser-friendly content guidelines. Flags are possible issues, not YouTube decisions; a clean result does not guarantee full monetization. YouTube also reviews the video, audio, thumbnail image and context, which this tool does not see."
}
]

How to read riskLevel: high = commonly earns no ads (red $). medium = commonly earns limited ads (yellow $). low = usually fine, but review it. none found = no wording issue detected (still not a guarantee).

How much does it cost to check YouTube videos?

This Actor uses pay-per-event pricing:

  • $0.02 per video (one result row per video)
  • a tiny Actor start fee of $0.00005 per run
  • plus the small Apify platform usage of the run, paid by you. For the prefilled 2-video example this was about $0.0001 (256 MB, about 3 seconds).

So 100 videos cost about $2.00 and 1,000 videos about $20, plus a few cents or less of platform usage. You pay only for videos actually checked. Apify lets you set a maximum cost per run so a large batch can never exceed your budget.

Use it through the API, integrations or AI agents

  • API: run it and get results in one call: POST https://api.apify.com/v2/acts/ultimatemc~youtube-script-monetization-checker/run-sync-get-dataset-items with your Apify token and the input JSON as the body. Client libraries for JavaScript and Python are on the API tab.
  • AI agents (MCP): add https://mcp.apify.com?tools=ultimatemc/youtube-script-monetization-checker to Claude, Cursor, ChatGPT or any MCP client, and your agent can check a script or title for monetization risk before publishing as a tool. See Apify MCP server.
  • Chain it after a scraper: pass the datasetId of another Actor's run, or trigger this Actor with a webhook when the scraper finishes.
  • Automation: schedule runs, trigger webhooks, or connect Make, Zapier, n8n, Google Sheets and other integrations from Apify Console.

FAQ

Does a clean result guarantee my video will be fully monetized?

No. It means none of the rules matched the text. YouTube also reviews the video, audio, thumbnail image and context, and makes the final decision.

Does it watch or listen to my video?

No. It only reads the text you give it. To check spoken words, pass a script or a transcript (for example from a YouTube transcript scraper).

Does it use AI?

No. It's rule-based (keywords and patterns), so the same text always gets the same result, and every flag links to the guideline page. No text is sent to any outside service.

Which languages are supported?

English only.

How current are the rules?

They are our own paraphrased patterns written from YouTube's public guideline page, checked on 2026-10-21. YouTube changes its guidelines and enforcement, so always confirm on the linked page.

Limitations

  • Text only. It doesn't see images, video, audio, thumbnails or tone.
  • English only, keyword-based. It can't fully understand sarcasm, quotes or negation (beyond fact-check wording such as "we debunk this myth").
  • A news explainer about a violent event can still get a medium flag unless you set contentContext to news.
  • Not legal advice, and not affiliated with or endorsed by YouTube or Google.

Data and privacy

The checker makes no network calls. Your text is processed only during the run and saved only to your own Apify dataset.

Other tools by Ultimate Foresight

Found a false positive or a missed phrase? Open an issue on the Issues tab with the text, and we'll review the rule.