YT Metadata Pro is a lightweight Chrome extension that saves you from opening every YouTube result just to check whether YouTube already marks it as licensed content.
It brings one useful metadata signal directly onto YouTube search/results pages: when the YouTube Data API reports contentDetails.licensedContent === true, the extension adds a clear green MUSIC badge to the thumbnail.
The core workflow is simple:
Browse YouTube -> detect visible video IDs -> check YouTube metadata -> badge likely music matches
YouTube often exposes music attribution and licensing metadata, but it is usually buried inside watch pages, descriptions, or generated metadata panels.
YT Metadata Pro solves a narrower problem:
I want to scan YouTube results and quickly see which visible videos are already flagged by YouTube as licensed content.
It is designed for metadata triage before opening every video manually.
- Runs as a Chrome extension on YouTube pages
- Detects visible YouTube video IDs from thumbnails/results
- Calls the YouTube Data API v3
videosendpoint - Requests
part=contentDetails - Checks
contentDetails.licensedContent === true - Adds a green MUSIC badge to matching thumbnails
- Stores your YouTube API key locally in Chrome extension storage
- Keeps the extension package simple and inspectable
YT Metadata Pro is not a copyright oracle.
- It does not determine legal reuse rights
- It does not prove a video is safe to sample, remix, upload, monetize, or reuse
- It does not perform audio fingerprinting
- It does not download videos or audio
- It does not bypass YouTube limits, permissions, or platform controls
- It does not treat missing metadata as proof that a track is safe from copyright or other forms of audio fingerprinting elsewhere, especially outside of Content ID
No badge means:
Not flagged by this metadata signal.
It does not mean:
Safe to use.
There are two simple ways to install or test YT Metadata Pro locally.
-
Clone or download this repo.
-
If you downloaded a ZIP from GitHub, extract it first.
-
Open Chrome and go to:
chrome://extensions/ -
Enable Developer mode.
-
Click Load unpacked.
-
Select the
extension/folder. -
Open the extension popup.
-
Paste your own YouTube Data API v3 key.
-
Reload any open YouTube tabs.
-
Clone this repo.
-
Run:
npm run zip
-
The ZIP is written to:
dist/YT_Metadata_Pro_Extension.zip -
Extract the generated ZIP.
-
Open Chrome and go to:
chrome://extensions/ -
Enable Developer mode.
-
Click Load unpacked.
-
Select the extracted ZIP folder.
-
Open the extension popup.
-
Paste your own YouTube Data API v3 key.
-
Reload any open YouTube tabs.
YT Metadata Pro requires your own YouTube Data API v3 key.
- Open Google Cloud Console.
- Create or select a project.
- Enable YouTube Data API v3.
- Go to APIs & Services -> Credentials.
- Create an API key.
- Restrict the key to YouTube Data API v3.
- Paste the key into the extension popup.
Do not commit API keys or paste them into issues, pull requests, screenshots, or chat.
This repo is intentionally plain.
YT Metadata Pro was created as a small browser-extension experiment using AI-assisted development and human review. The goal was to turn a narrow product idea into something testable quickly:
Badge YouTube search/results thumbnails when YouTube's own metadata says a video contains licensed content.
The first working version came from a generated React/Vite wrapper that built the extension as downloadable string templates. After the core behavior was proven, the project was simplified into a direct Chrome extension package so the code in the repo is the same code Chrome loads.
That simplicity is intentional. The extension should stay easy to inspect, load unpacked, debug in Chrome, and package as a ZIP without needing a custom backend or app shell.
The extension lives in:
extension/
Required files:
extension/manifest.json
extension/background.js
extension/content.js
extension/popup.html
extension/popup.js
Validation:
npm run validate:extension
npm run lintBuild package:
npm run zipInspect ZIP contents:
unzip -l dist/YT_Metadata_Pro_Extension.zipIf badges do not appear:
-
Reload the extension in
chrome://extensions/. -
Reload any open YouTube tabs.
-
Confirm your API key is saved in the popup.
-
Open DevTools on YouTube and look for logs beginning with:
[YT-Metadata-Pro]
Useful log meanings:
Checking visible video IDsmeans the content script is running.Lookup complete ... licensed=0can still mean the extension is working.Lookup failedusually means API key, quota, or API enablement needs checking.- No logs usually means Chrome has not injected the content script into that tab yet.
- Search/results pages are the tested scope for the current release.
- YouTube can change its page structure, which may require content-script selector updates.
- API key setup, YouTube Data API enablement, quota, or regional API behavior can affect lookup results.
- The extension only checks YouTube's
licensedContentmetadata signal. - No badge means the video was not flagged by this metadata path; it does not mean the audio is safe to reuse.
YT Metadata Pro keeps the workflow local and inspectable.
✅ Local API Key Storage: Your API key is stored in Chrome extension local storage.
✅ No Telemetry: No analytics, product tracking, or crash reporting.
✅ No Backend: No custom server receives your browsing data or API key.
✅ Simple Extension Files: The extension is plain manifest.json, JavaScript, and HTML.
❌ No Downloading: The extension does not download video or audio.
❌ No Legal Claims: The badge is metadata triage, not rights clearance.
Early working prototype.
The current milestone is intentionally narrow:
Detect visible YouTube result thumbnails and badge videos where YouTube reports
licensedContent: true.
Tested manually with a local YouTube Data API key on YouTube search/results pages.
YT Metadata Pro is released under the MIT License.
If you find YT Metadata Pro useful, consider buying me a coffee! ☕️ Buy Me A Coffee
