If you encounter RequestBlocked or IpBlocked exceptions (common when using cloud providers like AWS or GCP), you can use rotating residential proxies. The library provides built-in support for Webshare.
To use Webshare, initialize YouTubeTranscriptApi with a WebshareProxyConfig object using your proxy credentials. You can optionally use filter_ip_locations to restrict proxy rotation to specific countries (e.g., ['de', 'us']) to reduce latency or bypass location restrictions.
from youtube_transcript_api import YouTubeTranscriptApi
from youtube_transcript_api.proxies import WebshareProxyConfig
ytt_api = YouTubeTranscriptApi(
proxy_config=WebshareProxyConfig(
proxy_username="<proxy-username>",
proxy_password="<proxy-password>",
filter_ip_locations=["de", "us"],
)
)
ytt_api.fetch(video_id)