YouTube Explorer
YouTube Explorer
YouTube Explorer is a console-based Python tool for programmatic exploration of YouTube content using YouTube Data API v3 (with OAuth 2.0 support), Return YouTube Dislike API, and YouTube Transcript API
CAUTION: The official repository is only available on my GitHub. Any clones distributed on my behalf on other platforms are not my work.
WARNING: Some antivirus software may flag the app as a potentially unwanted program (PUP). This is a false positive. All materials used for the app are stored in the public repository. As a developer, I have no desire to harm other users. You can always contact me via email for such issues.
It is designed for:
- Working within YouTube API quota limits
- Retrieving and filtering comments
- Searching videos and retrieving playlists
- Extracting metadata
- Collecting subtitles
🗒️Table of Contents
- 🗒️Table of Contents
- ❗Requirements
- 🌐How to download?
- ❓How to get the YouTube Data API v3 key?
- 🛡️ How to get OAuth 2.0 credentials?
- Core capabilities
- 🔑YouTube API key handling
- 🚪Quota inspection
- 💌Comment Explorer
- 📹Video Explorer
- 📈Channel Explorer
- 🗂️Playlist Explorer
- 📄Subtitles Explorer
- 🔢Info Explorer
- ⚙️ Functionality
- 🖌️License
- ❤️Contributing
❗Requirements
To use YouTube Explorer, you need the following:
- Your desire to use YouTube Explorer
- A valid YouTube Data API v3 key issued via Google Cloud Console
- Python 3.10 or newer (required when running from the repository)
- A stable Internet connection
Basic familiarity with command-line usage is recommended.
🌐How to download?
Releases
Windows:
Releases→YouTubeExplorer.zip- Extract the
.zipfolder bin→ openYouTubeExplorer.exe
Ubuntu-like:
- Releases →
YouTubeExplorer.tar.gz - Extract the
.tar.gzfolder - YouTubeExplorer.dist → Copy
YouTubeExplorer.bin→ Paste it into the terminal and press Enter, or run it via command:./YouTubeExplorer.bin
Git
- Install
Git - In the terminal, paste:
git clone https://github.com/valentin-kolesnikov/YouTube_Explorer - Map to the folder and run the main script
YouTubeExplorer.py - Type
pip install -r requirements.txtin the terminal to install all dependencies
❓How to get the YouTube Data API v3 key?
- Go to the Google Cloud Console
- You need to register for a Google account or log in to it.
- Click the Create or select a project button in the center of the page → New project
- Enter a project name (or leave the auto-generated one). → If you do not belong to an organisation, leave the Location as default. → Click Create.
- On the same page, click Select project and choose your project. Type
YouTube Data API v3in the search bar → click Enable - You will be redirected to the API configuration. In the left column, you should press Credentials.
- At the top, click Create credentials → API key.
- That is it! Copy your API key and paste it into YouTube Explorer. If you need, you can restore the key from the main menu.
🛡️ How to get OAuth 2.0 credentials?
- The application is designed to use OAuth 2.0 as the primary authentication method
- If OAuth client secrets are not found, the system switches to the YouTube Data API Key method without interrupting the user
Since automated OAuth 2.0 registration isn't supported out-of-the-box, you will need to generate your own credentials by following these steps:
- Go to the Google Cloud Console.
- Select the project you already created for your YouTube Data API v3 key.
- In the left column, click OAuth consent screen.
- Choose External as the User Type and click Create.
- Fill in the required fields:
App name,User support email, andDeveloper contact information(you can use your own email for all of these). Click Save and Continue. - Skip the Scopes page by clicking Save and Continue.
- On the Test users page, click Add Users and type in your own Google account email. Click Save and Continue.
- Now, click on Credentials in the left column again.
- At the top, click Create credentials → OAuth client ID.
- Select Desktop app as the Application type. You can leave the default name. Click Create.
- A window will pop up. Click Download JSON to save your credentials.
- The downloaded
.jsonfile must be placed in theKeysfolder of thebinfolder.
Core capabilities
🔑YouTube API key handling
- Initial validation of the provided API key before execution
- Automatic creation and storage of a
Key.binfile - Exclusion of re-entering the key after successful verification
🚪Quota inspection
- Detects current availability of the YouTube API quota
- Stops execution if further requests are not possible
💌Comment Explorer
- Get a list of comments on YouTube videos in the console
- Filter comments by keyword
- Sort
by timeorby relevance - Limit the number of output results
- Identify the channel hosting the video
- NEW! Comment Explorer can save the collected data in a
.docxfile
📹Video Explorer
- Search for videos by your prompt
- Perform region-specific searches
- Apply optional filters such as:
publication date rangeandvideo duration - Control the maximum number of returned search results
- For each video, you will receive the following metadata:
- The title of the video
- Direct URL
- View count
- Like count
- Dislike count
- Comment count
- Publication date
- Channel name and channel URL
📈Channel Explorer
- Collect most of the channel statistics:
- Subscriber count
- View count
- Description
- Registration date
- Channel ID (UC...)
- Handle (@...)
- If necessary, you can search videos on the certain channel thanks to the Video Explorer components
🗂️Playlist Explorer
- Search for playlists using keywords, or securely load your own playlists using OAuth 2.0
- View basic playlist details, such as privacy status, total video count, and publication date
- Easily extract all videos from any playlist by entering its URL (supports both
PL...andOL...links) - Get detailed statistics for every video inside the playlist, complete with dislike counts
- Analyze a playlist's video library right after finding it, without needing to go back to the main menu
📄Subtitles Explorer
- Subtitles Explorer makes extracting text from videos effortless and flexible. You enter the two-letter language codes, such as
enorru - It gives you the choice between
manually createdsubtitles for better accuracy orauto-generatedtranscripts. The system is designed to handle missing data intelligently - If your preferred transcript type is not available, it will not just show an error and stop. Instead, it detects the issue and offers the alternative version immediately, ensuring you can still retrieve the content you are looking for.
🔢Info Explorer
- Enter a specific video URL to directly extract metadata without searching
- Returns the complete information block detailed in Video Explorer and, additionally, the video description
⚙️ Functionality
- Authentication — OAuth 2.0 is prioritised for secure access. If OAuth credentials are not detected, the application uses the YouTube Data API key stored in
Key.bin - Link parsing —
video id,channel id(UC...), andhandle(@...) are automatically extracted from the links you enter - Search filters — you can filter videos by
Region,Dimension(2D or 3D),Duration, andDate(using the smart calendar) - Channel search — unlike standard search, you can perform keyword searches specifically inside a channel's library
- Smart Subtitles — YouTube Transcript API is integrated. It looks for
manually createdsubtitles first. If they are missing, it asks if you wantauto-generatedones - Dislikes — Return YouTube Dislike API is integrated to show dislike counts mixed with official data
- Comment filtering — Keywords are used to filter comments and replies locally. YouTube Data API does not do this filtering
- Quota check — a test request is made at the start to ensure your YouTube API quota is not exceeded before running
- Automatic verification — before making API requests, YouTube Explorer pings
google.comto ensure your connection is active. If the connection is lost, you can retry connecting - Receive detailed error messages if something goes wrong
- Now the main menu consists of two pages
- Restore your YouTube API key on the second page of the main menu
🖌️License
YouTube Explorer is licensed under the GNU GPL-3.0.
Versions released before 22-01-2026 were licensed under the MIT License.
Versions released before 20.05.2026 were licensed under the Apache-2.0 license
Author: Valentin Kolesnikov
Original repository: YouTube_Explorer
For more details, see the LICENSE and ABOUT files.
❤️Contributing
Thank you for your interest in contributing to this project.
This project is licensed under the General Public License 3.0. By submitting a pull request, you agree that your contribution will be licensed under the GPL-3.0.
If you create a fork or derivative work based on this project, please provide clear attribution in your README.
A recommended attribution format is:
Original project: YouTube Explorer by Valentin Kolesnikov
This attribution helps avoid confusion about authorship and is considered good open-source practice.
🤝How to contribute
- Fork the repository.
- Create a branch for your change.
- Submit a pull request with a clear description.
- Make sure your changes are well documented.
💰Donations
If you really want to support me, here is the link: DonationAlerts
❓Issues
I will be glad to see your opinions and ideas for new features or improvements. Moreover, please report bugs. Just open Issues and surprise me!