From 787f92ff624653b1cb62686921595664f449aab6 Mon Sep 17 00:00:00 2001 From: Aditya Kumar Mishra Date: Wed, 15 Apr 2026 08:32:55 +0530 Subject: [PATCH 1/2] extractor: twitter: support x.com domains (#33267) --- youtube_dl/extractor/twitter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/youtube_dl/extractor/twitter.py b/youtube_dl/extractor/twitter.py index cfa7a7326..f33f49fd3 100644 --- a/youtube_dl/extractor/twitter.py +++ b/youtube_dl/extractor/twitter.py @@ -31,7 +31,7 @@ from .periscope import ( class TwitterBaseIE(InfoExtractor): _API_BASE = 'https://api.twitter.com/1.1/' - _BASE_REGEX = r'https?://(?:(?:www|m(?:obile)?)\.)?twitter\.com/' + _BASE_REGEX = r'https?://(?:(?:www|m(?:obile)?)\.)?(?:twitter|x)\.com/' # FIX: support x.com domain _GUEST_TOKEN = None def _extract_variant_formats(self, variant, video_id): From 2c4bba455ea4e7b527ec9e2f71d768e81ea2788b Mon Sep 17 00:00:00 2001 From: Aditya Kumar Mishra Date: Fri, 31 Jul 2026 23:14:09 +0530 Subject: [PATCH 2/2] extractor: twitter: add explicit x.com test cases --- youtube_dl/extractor/twitter.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/youtube_dl/extractor/twitter.py b/youtube_dl/extractor/twitter.py index f33f49fd3..e2514bd70 100644 --- a/youtube_dl/extractor/twitter.py +++ b/youtube_dl/extractor/twitter.py @@ -178,6 +178,12 @@ class TwitterCardIE(InfoExtractor): }, { 'url': 'https://twitter.com/i/videos/752274308186120192', 'only_matching': True, + }, { + 'url': 'https://x.com/i/videos/752274308186120192', + 'only_matching': True, + }, { + 'url': 'https://mobile.x.com/i/videos/752274308186120192', + 'only_matching': True, }, ] @@ -427,6 +433,12 @@ class TwitterIE(TwitterBaseIE): # poll4choice_video card 'url': 'https://twitter.com/SouthamptonFC/status/1347577658079641604', 'only_matching': True, + }, { + 'url': 'https://x.com/SouthamptonFC/status/1347577658079641604', + 'only_matching': True, + }, { + 'url': 'https://mobile.x.com/SouthamptonFC/status/1347577658079641604', + 'only_matching': True, }] def _real_extract(self, url):