Fix: youtube-dl error ‘unable to extract uploader id’ (All Fixes)
YouTube-dl shows the ‘unable to extract uploader id’ error when it fails to analyze the provided video URL. Due to this, the uploader ID goes missing, which is essential to finding and downloading a particular video.
The reason for this error showing up can be that you’ve got an outdated version of youtube-dl. It doesn’t matter which operating system you’re using; make sure the youtube-dl version is 2021.12.17.
You can check the version by running the following command in the command prompt:
$ youtube-dl -version
If it’s an older version, make sure to upgrade it. I’ll mention the steps for that below.
Apart from this, there are three more ways to fix this error, and each of them requires you to execute some commands.
1. Update youtube-dl
As I mentioned above, updating youtube-dl is necessary to make it function properly. The latest version is 2021.12.17, and no new ‘official’ update has been released after that. Though there’s a patched v2023.02.17 as well.
Having said that, below are the commands to update youtube-dl on different platforms:
For Windows: You need to go to the location where youtube-dl was downloaded. Afterward, type cmd on the location bar and execute the following command.
youtube-dl -U
For macOS:
brew upgrade youtube-dl
For Self-Updating
youtube-dl --update
Using Python
pip install -U youtube-dl
2. Reinstall youtube-dl
If the update doesn’t work, then reinstall the youtube-dl download manager altogether. Again, I will list the commands and steps for each operating system. You don’t need any commands on Windows, but they will do on Linux and Mac.
On Windows
- Delete the youtube-dl.exe file and empty the recycle bin.
- Now go to the youtube-dl download page.
- Click on youtube-dl.exe to start the download.
- Copy the file to any folder you want or create a new one.
On macOS
- Find the path where youtube-dl is installed and run the following command in Terminal.app:
$rm -rf /usr/local/bin/youtube-dl
- Replace /usr/local/bin/youtube-dl with your path location.
- Now make sure you have Homebrew installed on Mac.
- If not, use this command to install it:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)%22 "
- Otherwise, download the MacPorts.
- To install youtube-dl with brew, execute the following command:
sudo brew install youtube-dl
- To install youtube-dl with MacPorts, execute the following command:
sudo port install youtube-dl
On Linux
- Run the command below to uninstall youtube-dl:
$ sudo apt remove youtube-dl
- Run the command below to install youtube-dl again:
$ sudo apt install youtube-dl
Now try and download some videos and see if the ‘unable to extract uploader id’ error shows up or not.
3. Install the Master Branch of youtube-dl
Installing the master branch (youtube-dlp) and importing it as youtube-dl has worked for many users. This method will be completed by using just two commands, and the uploader id problem will be gone. But before that, make sure you have Python on your system.
Here’s what you need to do:
- Reinstall the library from Github by executing the following command:
python3 -m pip install --force-reinstall https://github.com/yt-dlp/yt-dlp/archive/master.tar.gz
- Once the download completes, import the library as follows:
import yt_dlp as youtube_dl
- You can also download a patched version of this library with the following command:
python3 -m pip install yt-dlp==2023.02.17.334
4. Install and Use yt-dlp
yt-dlp is a fork of youtube-dl and is based on youtube-dlc which is now inactive. With yt-dlp, you get the combined features of youtube-dl and dlc. There are many new features in it, including support for clips, stories, filtered search, and more.
So, if youtube-dl keeps showing the ‘unable to extract uploader id’ error, it’s a good idea to start using yt-dlp.
Here’s how you can install it on different OSes:
- Go to the GitHub page of yt-dlp.
- Go to the Release Files section.
- Click on the file you want to download on your OS and it will start downloading.
Alternatively, you can use commands instead of these steps.
For UNIX-like OSes (Linux, BSD, MacOS)
Use either of the three ways:
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp # Make executable
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp # Make executable
sudo aria2c https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp --dir /usr/local/bin -o yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp # Make executable
Using pip (Python)
python3 -m pip install -U yt-dlp
To install without optional dependencies:
python3 -m pip install --no-deps -U yt-dlp
Using Homebrew
brew install yt-dlp
Using Pacman
sudo pacman -Syu yt-dlp
With APT
sudo add-apt-repository ppa:tomtomtom/yt-dlp # Add ppa repo to apt
sudo apt update # Update package list
sudo apt install yt-dlp # Install yt-dlp
With MacPorts
sudo port install yt-dlp