-
-
Notifications
You must be signed in to change notification settings - Fork 12.6k
[wikimedia] 403 forbidden on mediawiki commons both site and direct file link #16411
Copy link
Copy link
Open
Labels
patch-availableThere is patch available that should fix this issue. Someone needs to make a PR with itThere is patch available that should fix this issue. Someone needs to make a PR with itsite-bugIssue with a specific websiteIssue with a specific website
Description
Checklist
- I'm reporting that yt-dlp is broken on a supported site
- I've verified that I have updated yt-dlp to nightly or master (update instructions)
- I've checked that all provided URLs are playable in a browser with the same IP and same login details
- I've checked that all URLs and arguments with special characters are properly quoted or escaped
- I've searched known issues, the FAQ, and the bugtracker for similar issues including closed ones. DO NOT post duplicates
- I've read the policy against AI/LLM contributions and understand I may be blocked from the repository if it is violated
- I've read about sharing account credentials and I'm willing to share it if required
Region
Netherlands
Provide a description that is worded well enough to be understood
Issue happens for both link to media description site e.g. https://commons.wikimedia.org/wiki/File:Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm and direct media link https://upload.wikimedia.org/wikipedia/commons/2/2b/Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm
Provide verbose output that clearly demonstrates the problem
- Run your yt-dlp command with -vU flag added (
yt-dlp -vU <your command line>) - If using API, add
'verbose': TruetoYoutubeDLparams instead - Copy the WHOLE output (starting with
[debug] Command-line config) and insert it below
Complete Verbose Output
NORMAL:
PS C:\Users\msi\Desktop\photoswiki> yt-dlp -vU https://commons.wikimedia.org/wiki/File:Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm
[debug] Command-line config: ['-vU', 'https://commons.wikimedia.org/wiki/File:Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm']
[debug] Encodings: locale cp1250, fs utf-8, pref cp1250, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2026.03.17 from yt-dlp/yt-dlp [04d6974f5] (pip)
[debug] Python 3.14.0 (CPython AMD64 64bit) - Windows-11-10.0.26200-SP0 (OpenSSL 3.0.18 30 Sep 2025)
[debug] exe versions: ffmpeg 7.1-full_build-www.gyan.dev (setts), ffprobe 7.1-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.2.0, certifi-2026.02.25, curl_cffi-0.14.0, mutagen-1.47.0, requests-2.33.1, sqlite3-3.50.4, urllib3-2.6.3, websockets-16.0, yt_dlp_ejs-0.8.0
[debug] JS runtimes: deno-2.1.2
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Plugin directories: none
[debug] Loaded 1864 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2026.03.17 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp)
[wikimedia.org] Extracting URL: https://commons.wikimedia.org/wiki/File:Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm
[wikimedia.org] Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract: Downloading webpage
ERROR: [wikimedia.org] Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract: Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 765, in extract
ie_result = self._real_extract(url)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\wikimedia.py", line 33, in _real_extract
webpage = self._download_webpage(url, video_id)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 1202, in _download_webpage
return self.__download_webpage(url_or_request, video_id, note, errnote, None, fatal, *args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 1153, in download_content
res = getattr(self, download_handle.__name__)(url_or_request, video_id, **kwargs)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 976, in _download_webpage_handle
urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data,
headers=headers, query=query, expected_status=expected_status,
impersonate=impersonate, require_impersonation=require_impersonation)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 925, in _request_webpage
raise ExtractorError(errmsg, cause=err)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 912, in _request_webpage
return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query, extensions))
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\YoutubeDL.py", line 4260, in urlopen
return self._request_director.send(req)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\common.py", line 117, in send
response = handler.send(request)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\_helper.py", line 194, in wrapper
return func(self, *args, **kwargs)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\common.py", line 359, in send
return self._send(request)
~~~~~~~~~~^^^^^^^^^
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\_requests.py", line 361, in _send
raise HTTPError(res, redirect_loop=max_redirects_exceeded)
yt_dlp.networking.exceptions.HTTPError: HTTP Error 403: Forbidden
DIRECT:
PS C:\Users\msi\Desktop\photoswiki> yt-dlp -vU https://upload.wikimedia.org/wikipedia/commons/2/2b/Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm
[debug] Command-line config: ['-vU', 'https://upload.wikimedia.org/wikipedia/commons/2/2b/Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm']
[debug] Encodings: locale cp1250, fs utf-8, pref cp1250, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2026.03.17 from yt-dlp/yt-dlp [04d6974f5] (pip)
[debug] Python 3.14.0 (CPython AMD64 64bit) - Windows-11-10.0.26200-SP0 (OpenSSL 3.0.18 30 Sep 2025)
[debug] exe versions: ffmpeg 7.1-full_build-www.gyan.dev (setts), ffprobe 7.1-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.2.0, certifi-2026.02.25, curl_cffi-0.14.0, mutagen-1.47.0, requests-2.33.1, sqlite3-3.50.4, urllib3-2.6.3, websockets-16.0, yt_dlp_ejs-0.8.0
[debug] JS runtimes: deno-2.1.2
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Plugin directories: none
[debug] Loaded 1864 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2026.03.17 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp)
[generic] Extracting URL: https://upload.wikimedia.org/wikipedia/commons/2/2b/Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract.webm
[generic] Flexible_use_of_a_multi-purpose_tool_by_a_cow_video_abstract: Downloading webpage
ERROR: [generic] Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 765, in extract
ie_result = self._real_extract(url)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\generic.py", line 819, in _real_extract
full_response = self._request_webpage(url, video_id, headers=filter_dict({
'Accept-Encoding': 'identity',
'Referer': smuggled_data.get('referer'),
}), impersonate=impersonate)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 925, in _request_webpage
raise ExtractorError(errmsg, cause=err)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\extractor\common.py", line 912, in _request_webpage
return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query, extensions))
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\YoutubeDL.py", line 4260, in urlopen
return self._request_director.send(req)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\common.py", line 117, in send
response = handler.send(request)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\_helper.py", line 194, in wrapper
return func(self, *args, **kwargs)
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\common.py", line 359, in send
return self._send(request)
~~~~~~~~~~^^^^^^^^^
File "C:\Program Files\Python314\Lib\site-packages\yt_dlp\networking\_requests.py", line 361, in _send
raise HTTPError(res, redirect_loop=max_redirects_exceeded)
yt_dlp.networking.exceptions.HTTPError: HTTP Error 403: ForbiddenReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
patch-availableThere is patch available that should fix this issue. Someone needs to make a PR with itThere is patch available that should fix this issue. Someone needs to make a PR with itsite-bugIssue with a specific websiteIssue with a specific website