YouTube Transcript CLI — FlashData
Export timestamped automatic captions for retrieval. This command calls the youtube_transcript API and returns JSON for your
shell script, data pipeline or agent tool runner. It does not invoke a language model.
Reads an existing track. No ASR, translation, or automatic fallback to uploader captions.
Install and run
Requires Python 3.10 or newer. uv installation
provides uvx, which runs this package in an isolated environment.
- Create a FlashData account, obtain an API Key and fund Credits.
- Set
FLASHDATA_API_KEYusing your shell or secret manager. The CLI does not accept a key flag or persist credentials. Authentication and source documentation. - Run this example after reviewing the input and cost:
uvx flashdata-youtube-transcript@0.1.0 --video-id dQw4w9WgXcQ --options-json '{"language": "en", "auto": true}' --output result.json
--output creates a new file with owner-only permissions where supported and refuses existing
files before making a paid request. Without it, the full JSON response goes to stdout. Errors
go to stderr. Exit 0 means the response was exported, 2 means local input/configuration failure,
and 1 means request or output failure. For downloads, exit 0 can describe an unfinished job.
For repeated use, install uv tool install flashdata-youtube-transcript==0.1.0; the command name is flashdata-youtube-transcript.
Alternatively use python -m pip install flashdata-youtube-transcript==0.1.0 in your virtual environment.
Inputs and output
Use --video-id for the primary input. Additional options use
--options-json as a JSON object, with strict field/type/range validation. Source is fixed by
this package. Google count and locale options remain omitted unless supplied.
| Option | Meaning |
|---|---|
language |
Requested caption language code. Default: "en". |
auto |
True requests automatic captions; false requests manually authored captions. Default: true. |
Run uvx flashdata-youtube-transcript@0.1.0 --schema to inspect all fields, nested filters, allowed values and
defaults without a Key or an API call. --help and --version are also local-only.
The JSON output preserves the API result envelope and optional fields: results[]: videoId, languageCode, isAutoGenerated, segments, fullText; usage.credits. Missing fields remain missing; empty results remain empty. No article text, translated captions, model conclusions, rights grants or keyword volumes are invented. Exact source contracts are documented here.
Fees and failure handling
This MIT-licensed CLI is free to install. FlashData API requests consume paid Credits; current pricing applies. Extended YouTube Search has a separate rate. Media delivery is billed by delivered volume, and your cloud-storage costs are separate. There is no automatic pagination, retry, polling, scheduled execution or model call.
Each HTTP request has a 120-second network timeout (15-second connect timeout) and a 20-MiB response limit. A timeout or failure may occur after a paid request has been accepted. Check Jobs in the FlashData console before resubmitting. HTTP 401 means check the Key; 402 means insufficient Credits; 429 means rate/quota limit. A partial output file is retained on failure. Do not retry a paid query just because output handling failed.
Input values and your API Key are sent to FlashData to perform the request. A completed download-result read may fetch a signed JSON object from the result origin returned by FlashData; the API Key is never sent to that object URL. Only process data appropriate for your output destination. Privacy policy.
Source and MIT license are included in the source distribution.
Metadata
Release files for flashdata-youtube-transcript 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flashdata_youtube_transcript-0.1.0.tar.gz | 12.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flashdata_youtube_transcript-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.1 kB
Release files / flashdata_youtube_transcript-0.1.0.tar.gz
| Download URL | flashdata_youtube_transcript-0.1.0.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
14bf2780f9bd1669902ae92dafbd5424f9d05efd98c1f97267d6d4dc343ec5d8
|
|
BLAKE2b-256 checksum How to use checksums |
50bc4f5e70255416bca9163563274d6f8af38210c705e183af01b161b7edfacc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency logRelease files / flashdata_youtube_transcript-0.1.0-py3-none-any.whl
| Download URL | flashdata_youtube_transcript-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae7ae5f829dec9c95d621ea0ae55d8f33fda675150adb092479797c5bbeebde2
|
|
BLAKE2b-256 checksum How to use checksums |
20baaff3ac5a05134506cdb8ba72359045604cda08002366e115a2fdf46ed73e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.
Transparency log