# What changed in youtube-transcript-api

> 16 changes in youtube-transcript-api 1 from its official release notes, upgrade guides and advisories: 4 breaking, 2 deprecations, 8 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/pypi/youtube-transcript-api/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## youtube-transcript-api 1

### Breaking changes

- Returns a `FetchedTranscript` object instead of a list of dictionaries; call `to_raw_data()` to convert to the previous format. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- The old static method is deprecated and has no equivalent in the new interface; fetch transcripts individually instead. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Raised when YouTube blocks a request due to a blacklisted IP, replacing the prior `TranscriptDisabled` error for this case. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Introduces an instance-based API with fetch and list methods, allowing requests to share an HTTP session, cookies, and bandwidth. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)

### Deprecations

- The old static method is deprecated in favor of `YouTubeTranscriptsApi().fetch(video_id)`. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- The old static method is deprecated in favor of `YouTubeTranscriptsApi().list(video_id)`. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)

### New APIs and options

- Raised when a video is age restricted and requires cookie authentication. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Adds a return object for fetched transcripts, enabling metadata and utility methods. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Adds configuration for generic HTTP, HTTPS, and SOCKS proxies. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- The `YouTubeTranscriptApi` constructor accepts an HTTP session, allowing CA_BUNDLE paths, custom headers, and session sharing across instances. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Converts a `FetchedTranscript` object to the previously used list-of-dictionaries format. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Raised when a video is unplayable for an unknown reason and includes the error message shown by YouTube's WebPlayer. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Adds Webshare proxy provider integration for setting up rotating residential proxies. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)
- Adds a module containing proxy configuration classes that can be passed to the `YouTubeTranscriptApi` constructor. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)

### Tooling

- Adds type signatures to all interfaces. (1.0.0) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.0.0)

### Fixes and other changes

- When a proxy username contains the "-rotate" suffix, it is no longer appended twice. (1.2.4) — [release notes](https://github.com/jdepoix/youtube-transcript-api/releases/tag/v1.2.4)
