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.
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.
- python 3.10+
- poetry
git clone https://github.com/ramsy0dev/unlisted
cd unlisted
poetry build
pip install ./dist/unlisted-*.tar.gzunlisted dig --channel-identifier LinusTechTips --threads 7pass the channel handle without the @ sign.
unlisted dig --open --threads 5no channel filter — logs every valid unlisted video it finds regardless of who uploaded it.
unlisted dig --channel-identifier LinusTechTips --ignore-uids-from-result ./unlisted-dig-results-LinusTechTips.jsonpass the result file from a previous run and it'll skip IDs that were already tested.
| 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 |
--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.