ytdl-org/youtube-dl · error · ExtractorError

This clip is no longer available

Error message

This clip is no longer available

What it means

Raised by TwitchClipsIE when the VideoAccessToken_Clip GraphQL query returns an empty/null clip object, meaning the slug no longer resolves to a clip. Expected error: clips are user-deletable and clips of deleted VODs also disappear.

Source

Thrown at youtube_dl/extractor/twitch.py:907

    }, {
        'url': 'https://go.twitch.tv/rossbroadcast/clip/ConfidentBraveHumanChefFrank',
        'only_matching': True,
    }]

    def _real_extract(self, url):
        video_id = self._match_id(url)

        clip = self._download_gql(
            video_id, [{
                'operationName': 'VideoAccessToken_Clip',
                'variables': {
                    'slug': video_id,
                },
            }],
            'Downloading clip access token GraphQL')[0]['data']['clip']

        if not clip:
            raise ExtractorError(
                'This clip is no longer available', expected=True)

        access_query = {
            'sig': clip['playbackAccessToken']['signature'],
            'token': clip['playbackAccessToken']['value'],
        }

        data = self._download_base_gql(
            video_id, {
                'query': '''{
  clip(slug: "%s") {
    broadcaster {
      displayName
    }
    createdAt
    curator {
      displayName
      id

View on GitHub (pinned to 956b8c5855)

Solutions

  1. Open the clip URL in a browser to confirm it is gone.
  2. Search the clip title on Twitch or YouTube for a mirror/re-upload.
  3. Double-check the slug for copy-paste truncation.
  4. Extract the parent VOD (if still alive) and cut the interval manually.
Defensive patterns

Strategy: try-catch

Type guard

def clip_alive(data: dict) -> bool:
    return bool(data.get('clip'))

Try / catch

try:
    ydl.extract_info(clip_url)
except ExtractorError as e:
    if 'no longer available' in str(e):
        mark_clip_dead(slug)
    else:
        raise

Prevention

When it happens

Trigger: Extracting a clips.twitch.tv/<slug> URL where gql data.clip is falsy — clip deleted by its creator, clip removed with the source VOD, or the slug is mistyped.

Common situations: Old clip links shared in chat/articles whose authors deleted them, clips of banned channels, truncated slugs from copy-paste.

Related errors


AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14). Data as JSON: /api/errors/d7fbb3ee54ba4fb3. Report an issue: GitHub.