Skip to content
Projects

thefr0gg/unlisted has 50 GitHub stars and 7 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 06:17 UTC. Last push 2026-11-10.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

Dig for unlisted YouTube videos of channels

Productivity

README.md

Original

unlisted

a tool for digging up unlisted YouTube videos on a channel. it generates random video IDs, checks them against YouTube's oEmbed endpoint, and logs anything that comes back alive.

how it works

YouTube video IDs are 11 characters from [a-zA-Z0-9_-]. unlisted brute-forces that space by generating random IDs, skipping any that belong to the channel's public videos, and checking the rest. if a hit comes back it records the title, URL, and author.

heads up: the ID space is 2^64, so hits are rare and depend on luck. oEmbed also answers for public videos, so in --open mode a hit is any existing embeddable video, not necessarily an unlisted one. videos with embedding disabled aren't detected.

requirements

install

git clone https://github.com/thefr0gg/unlisted
cd unlisted
poetry build
pip install ./dist/unlisted-*.tar.gz

usage

dig a specific channel

unlisted dig --channel-identifier LinusTechTips --threads 7

pass the channel handle (a leading @ is ignored).

open search (all channels)

unlisted dig --open --threads 5

no channel filter — logs every valid unlisted video it finds regardless of who uploaded it.

resume a previous run

unlisted dig --channel-identifier LinusTechTips --ignore-uids-from-result ./unlisted-dig-results-LinusTechTips.json

pass the result file from a previous run and it'll carry over the videos already found (and skip the channel's known public videos). randomly generated IDs aren't stored, since repeats are statistically negligible.

all options

flag description default
--channel-identifier channel handle to target —
--open search across all channels false
--threads number of worker threads 3
--delay ms between requests per thread (helps avoid IP blocks) 500
--status-interval seconds between progress lines (0 disables) 10
--output path to save the result file ./
--ignore-uids-from-result result file to resume from —

results are saved to a JSON file in the output directory and auto-saved every 30 seconds while running. press Ctrl+C to stop cleanly.

license

GPL-3.0