ytdl-org/youtube-dl · error · ExtractorError
This post doesn't contain a video
Error message
This post doesn't contain a video
What it means
Raised by the AppleConnect extractor when the page HTML does not contain a class="auc-video-data" JSON block. The _html_search_regex failure is caught and re-raised as this user-facing message. Marked expected=True: the itunes post simply has no embedded video.
Source
Thrown at youtube_dl/extractor/appleconnect.py:38
'uploader': 'Drake',
'thumbnail': r're:^https?://.*\.jpg$',
'upload_date': '20150710',
'timestamp': 1436545535,
},
}, {
'url': 'https://itunes.apple.com/us/post/sa.0fe0229f-2457-11e5-9f40-1bb645f2d5d9',
'only_matching': True,
}]
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
try:
video_json = self._html_search_regex(
r'class="auc-video-data">(\{.*?\})', webpage, 'json')
except ExtractorError:
raise ExtractorError('This post doesn\'t contain a video', expected=True)
video_data = self._parse_json(video_json, video_id)
timestamp = str_to_int(self._html_search_regex(r'data-timestamp="(\d+)"', webpage, 'timestamp'))
like_count = str_to_int(self._html_search_regex(r'(\d+) Loves', webpage, 'like count', default=None))
return {
'id': video_id,
'url': video_data['sslSrc'],
'title': video_data['title'],
'description': video_data['description'],
'uploader': video_data['artistName'],
'thumbnail': video_data['artworkUrl'],
'timestamp': timestamp,
'like_count': like_count,
}
View on GitHub (pinned to 956b8c5855)
Solutions
- Confirm the post actually contains a video by opening it in a browser
- If the page changed, inspect current HTML for the new embed block and check upstream yt-dlp for the updated regex
Defensive patterns
Strategy: validation
Validate before calling
# Check the page for the video-data block before extracting
import requests
html = requests.get(url).text
if 'auc-video-data' not in html:
skip(url, reason='post has no embedded video') Try / catch
try:
ydl.extract_info(url)
except ExtractorError as e:
if "doesn't contain a video" in str(e):
skip(url) # not a video post; nothing to download Prevention
- Only queue itunes.apple.com/post URLs known to embed video; most posts are text/image
- If every post fails, suspect a CSS-class rename in Apple's markup and check extractor updates
When it happens
Trigger: Extracting an itunes.apple.com/post/... URL whose page lacks the auc-video-data element; photo-only or text-only posts; redesigned pages that renamed the CSS class.
Common situations: URLs for non-video posts (articles, image galleries); old post URLs redirected to pages without the video block; class rename breaking detection site-wide.
Related errors
- Show not found in A&E feed (too new?)
- Video %s has been deleted
- Video %s does not exist
- %s said: %s
- %s said: %s
AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14).
Data as JSON: /api/errors/6d25326556bad75c.
Report an issue: GitHub.