ytdl-org/youtube-dl · error · ExtractorError
No login info available, needed for using %s.
Error message
No login info available, needed for using %s.
What it means
Raised by VimeoBaseInfoExtractor._login when no username is available (netrc/CLI empty) AND the subclass sets _LOGIN_REQUIRED = True. It guards extraction paths (e.g. VimeoIE variants or channel pages requiring auth) that cannot proceed anonymously. expected=True — a configuration precondition, not a site failure.
Source
Thrown at youtube_dl/extractor/vimeo.py:49
try_get,
unified_timestamp,
unsmuggle_url,
urlencode_postdata,
urljoin,
unescapeHTML,
)
class VimeoBaseInfoExtractor(InfoExtractor):
_NETRC_MACHINE = 'vimeo'
_LOGIN_REQUIRED = False
_LOGIN_URL = 'https://vimeo.com/log_in'
def _login(self):
username, password = self._get_login_info()
if username is None:
if self._LOGIN_REQUIRED:
raise ExtractorError('No login info available, needed for using %s.' % self.IE_NAME, expected=True)
return
webpage = self._download_webpage(
self._LOGIN_URL, None, 'Downloading login page')
token, vuid = self._extract_xsrft_and_vuid(webpage)
data = {
'action': 'login',
'email': username,
'password': password,
'service': 'vimeo',
'token': token,
}
self._set_vimeo_cookie('vuid', vuid)
try:
self._download_webpage(
self._LOGIN_URL, None, 'Logging in',
data=urlencode_postdata(data), headers={
'Content-Type': 'application/x-www-form-urlencoded',
'Referer': self._LOGIN_URL,View on GitHub (pinned to 956b8c5855)
Solutions
- Provide credentials: pass -u user --password pass, or configure a netrc entry for machine vimeo.
- Check whether the content is actually public — many videos only need credentials because the URL is a private/unlisted link requiring the owner account.
- If you maintain a subclass that sets _LOGIN_REQUIRED unnecessarily, flip it to False and handle auth lazily.
- Catch the expected error in batch scripts and prompt for credentials rather than failing silently.
Example fix
# before
raise ExtractorError('No login info available, needed for using %s.' % self.IE_NAME, expected=True)
# after (caller side)
youtube_dl --username me@example.com --password '...' 'https://vimeo.com/...' Defensive patterns
Strategy: validation
Validate before calling
downloader_params = ydl.params
has_creds = downloader_params.get('username') or netrc_has_machine('vimeo')
if ie_requires_login and not has_creds:
fail_fast('provide --username/--password or netrc entry for vimeo before extracting') Try / catch
try:
ydl.extract_info(url)
except ExtractorError as e:
if e.expected and 'No login info available' in str(e):
prompt_for_credentials_then_retry_once()
else:
raise Prevention
- Configure ~/.netrc with the vimeo machine entry once, in scripts and CI alike.
- Decide upfront whether your target URLs need auth; don't discover it mid-batch.
- Fail fast on missing credentials instead of half-running a job.
When it happens
Trigger: Invoking a Vimeo extractor with _LOGIN_REQUIRED = True (or a subclass like VimeoIE for a logged-in-only page) while --username/-u/netrc provide no credentials; _get_login_info() returns (None, None).
Common situations: Trying to download a private/portfolio video or feed without having configured Vimeo credentials; CI jobs missing ~/.netrc; users assuming public videos need login and hitting subclasses that hard-require it.
Related errors
- Unable to log in: bad username or password
- This video is only available for users of participating TV p
- We're sorry, but either the User ID or Password entered is n
- Unable to login: %s said: %s
- Unable to login: %s
AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14).
Data as JSON: /api/errors/e750a791f63366b5.
Report an issue: GitHub.