explaingit

ajayyy/sponsorblock

13,184TypeScriptAudience · generalComplexity · 1/5LicenseSetup · easy

TLDR

A free, crowdsourced browser extension that automatically skips sponsor segments, intros, and outros in YouTube videos using timestamps submitted by other users to a shared open database.

Mindmap

mindmap
  root((sponsorblock))
    What it does
      Skip sponsors
      Skip intros outros
      Auto timestamp jump
    How it works
      Crowdsourced data
      User submissions
      Shared database
    Platforms
      Chrome Firefox Edge
      Safari iOS Android
      MPV Kodi Chromecast
    Open data
      Public API
      Downloadable database
      Neural net experiment
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Install the extension to automatically skip sponsor reads on every YouTube video you watch without touching the slider.

USE CASE 2

Submit sponsor segment timestamps to grow the community database so other users benefit from your contributions.

USE CASE 3

Use the public SponsorBlock API and open dataset to build a third-party port for a media player like MPV or Kodi.

USE CASE 4

Download the open database to train a machine learning model that detects sponsor segments automatically.

Tech stack

TypeScript

Getting it running

Difficulty · easy Time to first run · 5min
Free to use, modify, and distribute, but any modified version must also be released under the GPL v3 license.

In plain English

SponsorBlock is a free, open source browser extension that automatically skips the sponsor read sections inside YouTube videos. These are the moments where a creator pauses to promote a product. Once you install the extension, those segments are jumped over for you, so you do not have to grab the slider and fast forward yourself. What makes it work is crowdsourcing, meaning the data comes from the users themselves rather than from one company. When someone watches a video and reaches a sponsor segment, they can mark where it starts and ends and submit that to a shared database. From then on, everyone else's copy of the extension knows to skip that part of that video automatically. The more people who contribute, the more videos are covered. Beyond sponsors, it can also skip other categories you might not want, such as intros, outros, and reminders to like and subscribe. The extension is available for a wide range of browsers and devices: Chrome and other Chromium browsers, Firefox, Edge, and Safari on Mac and iOS, plus an Android version. It also works with Invidious, an alternative front end for watching YouTube. There are third party ports that bring the same skipping behavior to media players like MPV, Kodi, and Chromecast. A notable point in the README is the author's commitment to keeping the project alive. The collected database of sponsor timestamps is made publicly downloadable, so the data is not locked away even if the project were to stop. That open dataset and its API are already reused by the various ports and even by a separate neural network experiment that tries to detect sponsors automatically. The backend server that stores all the submissions is kept in its own separate repository. The README also credits the tools and people behind the project, including the services it uses to fetch video information and the designers of its icons. The extension can be translated into other languages through a community translation platform, and the whole project is released under the GNU GPL version 3 license.

Copy-paste prompts

Prompt 1
Show me how to query the SponsorBlock API to get all sponsor segments for a specific YouTube video ID and display their start and end times.
Prompt 2
I am building a Firefox extension that uses SponsorBlock data to skip to the next non-sponsor moment. Show me how to call the API.
Prompt 3
Help me write a Python script that downloads the SponsorBlock public database dump and counts submitted segments per YouTube channel.
Prompt 4
I am porting SponsorBlock to a new media player. Walk me through the API endpoints I need to fetch and submit segments.
Open on GitHub → Explain another repo

← ajayyy on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.