PO token

A player client asked for a GVS PO token and none was provided.

The error#

When a format needs a GVS PO token and the extractor does not have one, _report_pot_format_skipped builds:

{video_id}: {client} client {proto} formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token={client}.gvs+XXX". For more information, refer to  https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide

There are two spaces before the guide URL. Default clients log that at debug. Other clients use report_warning.

Subtitles have a sibling warning. It says they require a PO Token which was not provided, that they will be discarded since they are not downloadable as-is, and shows --extractor-args "youtube:po_token={client}.subs+XXX".

Invalid PO Token is a ValueError raised when a token fails the director's check. It is not the skip warning.

What triggers it#

The format's client and protocol need a GVS PO token and the PO token director did not supply one. The skip happens before download. The warning is explaining why those formats are missing, not raising ExtractorError by itself.

How to confirm#

Search the log for require a GVS PO Token which was not provided. If the process then fails with HTTP Error 403, that is yt_dlp.networking.exceptions.HTTPError, whose message format is HTTP Error {status}: {reason}. The warning says the skipped formats may yield that status.

Fixes#

The message gives the flag: --extractor-args "youtube:po_token={client}.gvs+XXX". The guide URL in the message is the project's PO token page. Supplying a token is account and client specific. The same flag does not fix All player responses are invalid, which is the IP-blocked page.

SocialScrape#

Video details are GET /v1/youtube/video. Transcripts are GET /v1/youtube/video/transcript: the video's own captions. A video with no captions returns transcript_unavailable and costs nothing. AI transcription of YouTube audio is not available yet.

Failed requests cost 0 credits. New accounts get 100 credits on signup, no card.

Questions

Does SocialScrape take a PO token?

No. You send the video URL to GET /v1/youtube/video.

Are skipped formats a hard error?

In this function they are a debug line or a warning. The download can still fail later if nothing playable remains.