HTTP 429 error on Youtube
If program cannot download any video from Youtube (says "no video found on Youtube URL") then check the log (menu
Tools Log). If there is a warning saying "server error (code #429)" then this topic is for you.
Youtube seems to have started detecting and blocking undesirable access to the service. While normal surfing via browser would work, if you open Youtube in private tab, it will ask for verification that you are not a robot (via captcha test).
Workaround at this moment is to pass this verification in the browser and copy HTTP cookies from Youtube page to the program.
Now in detail. Following instructions are for Firefox and Chrome but in other browsers it should be possible similar way.
Open any Youtube video URL in private browsing mode. Note that need to open a video page because main page does not ask for verification.
Instead of video there should appear a page with captcha form saying "To continue with your YouTube experience, please fill out the form below".
Now press F12 key to open Development Tools in the browser and select there
Network tab. Then fill the form and click
Submit button. You will be redirected to regular video page. If video started playing you better stop it to prevent unnecessary activity in
After these steps are done locate video page URL in the list within
Netwrok tab, right click on it and select
Copy as cURL. Paste text in any text editor and locate a part starting with
-H 'Cookie:. Need to copy the rest of it before quote character. For example if corresponding part of text is the following:
... -H 'Cookie: PREF=f1=10000000&f5=22; VISITOR_INFO1_LIVE=224W313376h; GPS=1; goojf=aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1wVloyTlNoZkNFOA==' -H "DNT: 1" ...
then you need to copy next text (note that quotation marks are not included):
PREF=f1=10000000&f5=22; VISITOR_INFO1_LIVE=224W313376h; GPS=1; goojf=aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1wVloyTlNoZkNFOA==
Now open program, go to menu
Tools Options Advanced and paste text in the option
After this program will able to download videos for a while. It does not matter if you close the program now - it will continue working at next run. But there seems to be some lifetime controlled on Youtube side so eventually it becomes outdated. In this case follow these steps again to get fresh cookies.
Problem loading playlists or searching on Youtube
Both these problems have the same reason.
TL;DR: search/playlists functionality can be lost temporarily or permanently. You can setup "Youtube API key" to avoid this possibility for you individually. Instructions are in Custom Youtube API key section at the end of this topic.
Program uses Youtube Data API only to provide search on Youtube and to get content of Youtube playlists and channels.
This API used to be public and free. With complete switch to API v3 they made it not public but bound to Google account. Any account can create API key, but anyway that means you have to have an account and there is no anonymous access to API anymore (a key is required which uniquely identifies an account on behalf of which requests are made).
Use of API key belonging to some account does not mean you are "logged in" with this account. User authentication is completely separate thing. So use of your own key does not mean program can access your Youtube account in any way (like get or modify Watch Later queue) and it does not mean program will be able to access videos which require user to be signed in on the site.
With API key they introduced a "quota" thing, aka daily limit for requests you can make using particular API key. Quota resets at midnight Pacific Time (PT). Once limit is reached, key becomes unusable until that time.
Initially new projects were getting huge quota number (50M). With time Google lowered it drastically (details and time line are in this SO answer). Now it is 10K which is mostly enough for a single user, not for an app.
Quotas for existing projects were also reviewed. Throughout 2019, users with existing projects were receiving emails notifying that their quota was lowered to
(~1.5 * N) value, where
N is maximum quota usage for past 90 days. So if your key usage grows with time, you eventually will hit the limit. If usage stays on the same level, you are ok for now. If usage drops with time, limit can be decreased again.
You can apply for quota increase. There is no definite public answer whether this free or not. But for sure you may end up with zeroed quota if your project will be considered as not satisfying Youtube Data API terms of service.
Given this, it seems to be that the only way to protect yourself from loosing search and playlists/channels retrieval functionality in long term is to use your own Youtube API key.
Custom Youtube API key
You can protect yourself from loosing search/playlists functionality by specifying your own Youtube API key in the program.
To obtain API key, follow instructions in this topic (steps 1-3). In step 2 (obtaining authorization credentials) follow instructions for API key creation. When selecting API key type, select Browser key type.
To enter API key in the program, go to menu
Tools Options Advanced net.yt_api_key.
Help Known problems