YouTube Captions — FlashData
Retrieve existing YouTube uploader captions with timed segments for subtitle exports; no generation or translation. FlashData API calls are paid.
Documentation
YouTube Captions — FlashData
Retrieve YouTube uploader captions with timed segments. Prepare subtitle exports and inspect the language and caption-track type.
API documentation and account setup · Get an API key · Current pricing
A task to try
Retrieve this video’s existing English uploader captions. Preserve start/end times and text so my application can export SRT. Check the returned language and track type before using the segments.
Install and connect
- Use Node.js 22.18 or newer and an MCP client that supports local stdio servers. Download the dedicated MCPB package; its SHA-256 is recorded in the manifest.
- Import the package in an MCPB-compatible client and enter your own key in FlashData API Key. Grant the key access to
youtube_captions. For manual setup, unpack the bundle into a permanent folder and use this configuration, replacing the absolute path and key placeholder:
{
"mcpServers": {
"youtube-captions": {
"command": "node",
"args": [
"/absolute/path/to/unpacked/youtube-captions/server.js"
],
"env": {
"FLASHDATA_API_KEY": "YOUR_API_KEY"
}
}
}
}
- Restart or reconnect the client, list its tools, then call
get_pricingwith{"source":"youtube_captions","request_count":1}before approving a paid request. This server exposesyoutube_captions,get_pricing,get_jobandget_result; all are restricted to this source.
Dependencies are included in the bundle. Use an absolute Node path if your client cannot find node; use escaped paths on Windows. Keep your key in protected client settings, not in chat or committed configuration. No Smithery account is needed for this direct package download.
Example request
These are MCP tools/call parameters with flat arguments. Running the data request uses paid Credits.
{
"name": "youtube_captions",
"arguments": {
"video_id": "dQw4w9WgXcQ",
"language": "en",
"auto": false
}
}
Use the response
Read results[0].segments. Convert start/end seconds to SRT timestamps in your application and retain text. Check languageCode and isAutoGenerated before exporting.
Selected response fields below are an illustrative fixture, not a live result or a guarantee of available data:
{
"source": "youtube_captions",
"status": "done",
"results": [
{
"videoId": "dQw4w9WgXcQ",
"languageCode": "en",
"isAutoGenerated": false,
"segments": [
{
"start": 0,
"end": 3,
"text": "Uploader captions."
}
]
}
],
"created_at": "2026-10-12T00:00:00Z",
"http_status": 200,
"request_id": "fixture-request"
}
For an asynchronous request, keep the returned id and call get_job with {"job_id":"RETURNED_JOB_ID"}. Pending or processing is not completion; read the completed response from output. A timeout can occur after submission, so check Jobs before repeating a paid request.
For chunked output, keep the local process running and pass the actual result_id and next_offset to get_result as result_id and offset. Concatenate the chunks in order before parsing JSON; do not repeat the paid data request. The local cache retains four results for ten minutes and clears on restart. Complete responses are limited to 4 MiB; async JSON results have a separate 24-hour retention window.
Cost and limits
- MIT software and installation are free; FlashData API data calls are paid. Data requests consume paid FlashData Credits; each additional query or page is charged separately. Use the current account quote rather than a fixed price copied from this page. Pricing, job and result reads are free. Client/model fees are separate.
- auto=false selects existing uploader captions. This does not generate, translate or automatically substitute a missing track.
- Check API errors,
http_statusand job status before using the data. Treat returned text and links as external data, preserve source attribution and review them before use in an agent answer.
Full task guide · Official Registry record · Source and license