In this post, I will talk about a free open-source tool called, yt-fts. This tool allows you to create a searchable database of your YouTube videos in which you can search for any text or spoken words in a specific video. Basically, this tool downloads all the transcripts of YouTube videos to create a searchable database on your PC.
This command line tool can also create database for multiple YouTube channels and then you can easily search for any piece of text right from the command line. The tools can run offline after you have scanned a channel. You can create and store database of unlimited channels and then use the fast search to find anything.
How to Search for Text/Spoken Words in Entire YouTube Channel?
This tool requires Python to work. You need to have the latest version of Python that you can download for your platform from here. Refer the section below to see how to install it.
Installing and Setting up yt-fts:
It is recommended to create a virtual environment for this tool. So, you start by opening command prompt or terminal in any folder and create a virtual environment. To do that, run the following commands.
python -m venv .
./Scripts/Activate
Now, you start by cloning the GitHub repository of yt-fts and then cd
into it. Just run the commands below one after another to do it.
git clone https://github.com/NotJoeMartinez/yt-fts
cd yt-fts
Now, it is time to install the required dependencies. To do that, you just need to run the commands below one after another.
pip install -r requirements.txt
python -m pip install -U yt-dlp
If all the above commands run successfully, then now the setting up of yt-fts has been completed. You will not have to install it and setup it anymore again and again. Now, refer to the next section to see how to use it to search anything in a YouTube channel.
Using yt-fts to Search for Spoken Words in a YouTube Channel:
In the same terminal where you have installed everything, you now need to create a database for a YouTube channel. For that, you have to find a target YouTube channel first. Go to the video tab and then copy the URL.
In the terminal type the following command and add the URL of the channel that you just copied. See below how to do this.
python yt_fts.py download "YouTube_Channel_URL"
Now, when you have created the database of the channel, you add do the same thing with some other YouTube channel. You can add as many channels as you want in the database. And to see how many channels are present in the database, you can use the list command like this. Here it will show you name of the channel as well its ID.
python yt_fts.py list
To search anything in a channel, you use this command. In this, you just need to replace the search term and the channel ID that you can get from the list command that I mentioned just above.
python yt_fts.py download "YouTube_Channel_URL" --channel-id "Channel_ID"
You can search for a text or phrase, or any other words and it will show in what videos, it exists. It will show you timestamp, title, and URL of the video. You just jump to do that and see if it produced the correct output.
Closing thoughts:
If you are looking for a way to search for a specific word or text in a specific YouTube channel, then this tool here has got you covered. Just follow the steps above and then you will now be able to search any word or text on any YouTube channels. Just keep in mind that it uses video transcripts to search inside videos. So, if a channel doesn’t have them, then it will not work properly.