Checklist
Description
The vimeo extractor's macos client is failing to fetch a fresh OAuth token with a 401 Unauthorized error. This breaks anonymous (non-logged-in) extraction entirely, because none of the other clients can substitute for it:
android and ios clients are CACHE_ONLY — they raise "unable to fetch new OAuth tokens and is only intended for use with previously cached tokens" and cannot bootstrap a token on their own.
web client requires login (REQUIRES_AUTH) and raises "The web client only works when logged-in" without cookies/credentials.
macos was the only client able to fetch a fresh OAuth token anonymously — it is now returning 401.
Net effect: there is currently no working path to extract a public Vimeo video without providing account cookies/credentials.
Reproduced independently (not tied to one server/IP): fails the same way from a clean --rm-cache-dir on a residential connection, and also observed from our CI runner (different IP/ASN), on both yt-dlp 2026.06.09 and 2026.07.04.
Reproduction
yt-dlp --rm-cache-dir
yt-dlp -F "https://vimeo.com/76979871" -v
Verbose output (macos client, default)
[debug] Command-line config: ['-F', 'https://vimeo.com/76979871', '-v']
[debug] yt-dlp version stable@2026.06.09 from yt-dlp/yt-dlp [821bef0f0] (pip)
[vimeo] Extracting URL: https://vimeo.com/76979871
[vimeo] 76979871: Downloading webpage
[vimeo] Fetching macos OAuth token
ERROR: [vimeo] 76979871: Failed to fetch macos OAuth token: HTTP Error 401: Unauthorized (caused by <HTTPError 401: Unauthorized>)
'Authorization': self._fetch_oauth_token(client),
File "yt_dlp/extractor/vimeo.py", line 386, in _fetch_oauth_token
self._oauth_tokens[cache_key] = self._download_json(
yt_dlp.networking.exceptions.HTTPError: HTTP Error 401: Unauthorized
Fallback clients also fail (confirming there is no working path)
android (--extractor-args "vimeo:client=android"):
ERROR: [vimeo] 76979871: The android client is unable to fetch new OAuth tokens and is only intended for use with previously cached tokens
ios (--extractor-args "vimeo:client=ios"):
ERROR: [vimeo] 76979871: The ios client is unable to fetch new OAuth tokens and is only intended for use with previously cached tokens
web (--extractor-args "vimeo:client=web"):
ERROR: [vimeo] 76979871: The web client only works when logged-in. Use --cookies, --cookies-from-browser, --username and --password, --netrc-cmd, or --netrc (vimeo) to provide account credentials.
First observed
2026-07-20, via an automated hourly health-check hitting a public Vimeo test URL (video id 76979871), previously passing consistently.
Expected
The extractor should be able to fetch a fresh OAuth token anonymously via at least one client (as macos did previously), enabling extraction of public, non-login-required Vimeo videos.
Checklist
-U)Description
The
vimeoextractor'smacosclient is failing to fetch a fresh OAuth token with a 401 Unauthorized error. This breaks anonymous (non-logged-in) extraction entirely, because none of the other clients can substitute for it:androidandiosclients areCACHE_ONLY— they raise "unable to fetch new OAuth tokens and is only intended for use with previously cached tokens" and cannot bootstrap a token on their own.webclient requires login (REQUIRES_AUTH) and raises "The web client only works when logged-in" without cookies/credentials.macoswas the only client able to fetch a fresh OAuth token anonymously — it is now returning 401.Net effect: there is currently no working path to extract a public Vimeo video without providing account cookies/credentials.
Reproduced independently (not tied to one server/IP): fails the same way from a clean
--rm-cache-diron a residential connection, and also observed from our CI runner (different IP/ASN), on both yt-dlp 2026.06.09 and 2026.07.04.Reproduction
Verbose output (macos client, default)
Fallback clients also fail (confirming there is no working path)
android(--extractor-args "vimeo:client=android"):ios(--extractor-args "vimeo:client=ios"):web(--extractor-args "vimeo:client=web"):First observed
2026-07-20, via an automated hourly health-check hitting a public Vimeo test URL (video id
76979871), previously passing consistently.Expected
The extractor should be able to fetch a fresh OAuth token anonymously via at least one client (as
macosdid previously), enabling extraction of public, non-login-required Vimeo videos.