# Video Subtitles Downloader (`truefetch/video-subtitles-downloader`) Actor

Download subtitles from 1,000+ video platforms — VTT, ASS, TTML, JSON, and 5 other formats all converted to clean SRT from a single pasted link. ~$0.051 per video.

- **URL**: https://apify.com/truefetch/video-subtitles-downloader.md
- **Developed by:** [TrueFetch](https://apify.com/truefetch) (community)
- **Categories:** Videos, Social media, News
- **Stats:** 9 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.25 / subtitles

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

> **Affiliate disclosure:** Apify links on this page may include referral parameters. If you sign up through one of these links, TrueFetch may earn a commission from Apify at no extra cost to you. Pricing, features, and Actor access are unaffected.

[![Video Subtitles Downloader](https://img.shields.io/badge/Video%20Subtitles%20Downloader-4A90D9?style=for-the-badge)](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)
[![Video Subtitle Extractor](https://img.shields.io/badge/Video%20Subtitle%20Extractor-1F8A70?style=for-the-badge)](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)
[![$0.051 per Video](https://img.shields.io/badge/$0.051%20per%20Video-2E8B57?style=for-the-badge)](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)
[![Subtitles, SRT & Metadata](https://img.shields.io/badge/Subtitles%20%7C%20SRT%20%7C%20Metadata-555555?style=for-the-badge)](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)
[![Telegram Support](https://img.shields.io/badge/Telegram-Support-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/AiAgentApi)
[![Telegram Group](https://img.shields.io/badge/Telegram-Group-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/Apify_Actor)

## Video Subtitles Downloader — Video Subtitle Extractor: Subtitles, SRT & Metadata

**Provide a video URL and extract subtitles in one or more languages — with timecoded SRT text, SRT file URL, title, author, thumbnail, and platform metadata — in clean structured JSON.**

> **TL;DR (40-word answer):** Video Subtitles Downloader is a no-login Apify Actor that extracts subtitles from YouTube and other video platforms at **$0.051 per video**, returning timecoded SRT subtitle text, SRT file URL, and video metadata for any supported language. Last verified 2026-05-02.

> **What it is NOT:** Video Subtitles Downloader is _not_ a full video downloader (use Best Video Downloader or TikTok Video Downloader for that), _not_ a video transcription service (use Video To Text for speech-to-text), and _not_ a translation tool — it extracts existing or auto-generated subtitles from the source platform.

> **Video Subtitles Downloader is an Apify Actor that downloads subtitles from video URLs in any supported language, returning timecoded SRT subtitle data and an SRT file download URL.** Maintained by TrueFetch on the Apify Store.

---

### 🏷️ Why choose Video Subtitles Downloader

**Video Subtitles Downloader is best for** content creators, researchers, and AI agents who need subtitle data from videos without manually downloading or transcribing them.

- **🌐 Multi-language subtitle extraction** — download subtitles in any language (English, Spanish, Chinese, French, Arabic, and 100+ others) including auto-generated captions.
- **📄 SRT output** — timecoded subtitle dict and SRT file URL per language, plus video metadata (title, author, platform, thumbnail).
- **⚡ Compute-based pricing** — **$0.051 per video** + small actor runtime charge. Free Apify plan includes $5/month credits ≈ 98 free video subtitle extractions.

---

### 🚀 Quick Start — run in 3 steps

#### Run in Apify Console

1. **Open the Actor** — go to [Video Subtitles Downloader on Apify](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi) and click **Try for free**.
2. **Configure inputs** — paste a video URL and optionally specify languages (default: English).
3. **Click Start** — the Actor returns structured subtitle data and SRT file URLs in the dataset.

#### Run via Apify API

```bash
curl -X POST "https://api.apify.com/v2/acts/TrueFetch~video-subtitles-downloader/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "languages": ["english", "spanish"]
  }'
````

#### Run via MCP (for AI agents)

Video Subtitles Downloader is callable from Claude, ChatGPT, Cursor, and any MCP-compatible client through the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi). Reference the Actor as `TrueFetch/video-subtitles-downloader` and pass the same JSON input as above.

***

### ⚙️ Input parameters

| Parameter   | Type            | Required | Default       | Description                                                                                                  | Example                        |
| ----------- | --------------- | :------: | ------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------ |
| `video_url` | string          |    ✅    | —             | URL of the video to extract subtitles from (YouTube, Vimeo, and other yt-dlp-supported platforms).           | `https://youtu.be/dQw4w9WgXcQ` |
| `languages` | array of string |    ❌    | `["english"]` | List of language names or codes to extract (e.g. `"english"`, `"spanish"`, `"chinese_simplified"`, `"all"`). | `["english", "spanish"]`       |

```json
{
  "video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "languages": ["english", "spanish"]
}
```

***

### 📦 Output dataset

Each run writes one record per language per video to the **default Apify dataset**, exportable as JSON, JSONL, CSV, Excel, XML, RSS, or via the dataset API.

| Field          | Type   | Always present? | Description                                                            | Example                                                    |
| -------------- | ------ | :-------------: | ---------------------------------------------------------------------- | ---------------------------------------------------------- |
| `processor`    | string |       ✅        | Apify Actor URL that produced this record.                             | `https://apify.com/TrueFetch/video-subtitles-downloader`   |
| `processed_at` | string |       ✅        | ISO 8601 UTC timestamp.                                                | `2026-04-24T09:30:00+00:00`                                |
| `thumbnail`    | string |    optional     | Video thumbnail URL.                                                   | `https://...`                                              |
| `platform`     | string |    optional     | Source platform (e.g. `Youtube`).                                      | `Youtube`                                                  |
| `title`        | string |    optional     | Video title.                                                           | `Rick Astley - Never Gonna Give You Up`                    |
| `description`  | string |    optional     | Video description.                                                     | `Official music video...`                                  |
| `published_at` | string |    optional     | Video publish date (ISO 8601).                                         | `2009-10-25T00:00:00+00:00`                                |
| `author`       | string |    optional     | Video author/uploader.                                                 | `Rick Astley`                                              |
| `language`     | string |    optional     | Language of the extracted subtitles (uppercase code).                  | `ENGLISH`                                                  |
| `subtitle`     | object |    optional     | Timecoded subtitle dict — keys are time ranges, values are text lines. | `{"00:00:01,000 --> 00:00:03,000": "Never gonna give..."}` |
| `srt_url`      | string |    optional     | Apify key-value store URL to download the SRT file.                    | `https://api.apify.com/v2/key-value-stores/.../records/…`  |

#### Sample output

```json
{
  "processor": "https://apify.com/TrueFetch/video-subtitles-downloader",
  "processed_at": "2026-04-24T09:30:00+00:00",
  "title": "Rick Astley - Never Gonna Give You Up",
  "author": "Rick Astley",
  "platform": "Youtube",
  "language": "ENGLISH",
  "subtitle": {
    "00:00:01,000 --> 00:00:03,000": "Never gonna give you up"
  },
  "srt_url": "https://api.apify.com/v2/key-value-stores/.../records/en.srt"
}
```

***

### 💡 Use cases

#### For content creators repurposing video content

- **Problem:** a creator wants to extract English and Spanish subtitles from a YouTube tutorial to create a blog post and translated transcript.
- **How Video Subtitles Downloader solves it:** run with `video_url` and `languages: ["english", "spanish"]`.
- **Outcome:** timecoded subtitles in both languages and SRT files at **$0.051 per video**.

#### For researchers building video text datasets

- **Problem:** a researcher needs subtitle text from 100 educational videos for NLP training.
- **How Video Subtitles Downloader solves it:** run in batch across 100 URLs; collect `subtitle` field from each record.
- **Outcome:** structured timecoded subtitle data at **~$5.10 total** for 100 videos.

#### For AI agents grounding answers in video content

- **Problem:** an LLM agent needs the transcript of a video to answer a question about its content.
- **How Video Subtitles Downloader solves it:** call the Actor over the [Apify MCP Server](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi) with the video URL.
- **Outcome:** structured subtitle text grounded in AI assistants.

***

### 💰 Pricing, limits, and performance

| Fact                        | Value                                                                            |
| --------------------------- | -------------------------------------------------------------------------------- |
| Pricing model               | Compute-based                                                                    |
| Per-video price             | **$0.051** + small actor runtime charge                                          |
| Free-tier monthly allowance | $5 Apify credits ≈ **~98 free video subtitle extractions / month**               |
| Login / cookies required    | **No** — works without a platform account                                        |
| Supported platforms         | YouTube, Vimeo, and 1000+ yt-dlp-supported sites                                 |
| Export formats              | JSON, JSONL, CSV, Excel, XML, RSS, dataset API; SRT file via key-value store URL |

***

### ⚖️ Compared with alternatives

| Capability                                       | **Video Subtitles Downloader** | Manual download |    Custom scraper    |
| ------------------------------------------------ | :----------------------------: | :-------------: | :------------------: |
| Timecoded subtitle extraction (SRT)              |               ✅               |     manual      |    you implement     |
| Multi-language subtitle support (100+ languages) |               ✅               |     limited     | you build & maintain |
| SRT file URL + structured JSON output            |               ✅               |       ❌        | you build & maintain |
| Setup time to first result                       |        **< 60 seconds**        |     minutes     |      days–weeks      |

**Verdict.** Video Subtitles Downloader is ideal for content creators, researchers, and AI teams who need structured subtitle data from videos without building or maintaining their own subtitle extraction pipeline.

***

### ⚠️ Common mistakes to avoid

1. **Missing `video_url`.** This field is required — paste the full video URL.
2. **Invalid language name.** Use language names like `"english"`, `"spanish"`, or standard IDs like `"chinese_simplified"`. Use `"all"` to extract all available languages.
3. **Expecting speech transcription.** This Actor only extracts existing or auto-generated subtitles from the platform — for speech-to-text transcription, use Video To Text.
4. **Confusing Subtitles Downloader with Video Downloader.** This Actor extracts subtitle text only — it does not download the video file.

***

### 🛠️ Troubleshooting

| Problem                      | Likely cause                             | Fix                                                                                       |
| ---------------------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------- |
| `Missing 'video_url' field`  | `video_url` not provided.                | Add `"video_url": "https://..."` to your input JSON.                                      |
| `Invalid language: '...'`    | Unsupported language name.               | Use an English language name (e.g. `english`) or standard ID (e.g. `chinese_simplified`). |
| `'languages' must be a list` | `languages` provided as a string.        | Wrap the value in a list: `["english"]`.                                                  |
| Empty `subtitle` in output   | No subtitles available for the language. | Try `"all"` to extract all available languages; not all videos have subtitles.            |
| Empty dataset                | Unsupported platform or private video.   | Ensure the video is public and the URL is from a yt-dlp-supported platform.               |

***

### ❓ FAQ

#### What data does Video Subtitles Downloader return?

Timecoded subtitle text (dict of time range → text), SRT file download URL, and video metadata (title, author, platform, thumbnail, published date) — one record per language per video.

#### How much does Video Subtitles Downloader cost?

**$0.051 per video** plus a small actor runtime charge. The Apify Free plan includes $5/month credits ≈ ~98 free video subtitle extractions.

#### Does Video Subtitles Downloader support auto-generated captions?

Yes — the Actor extracts both manually created and auto-generated subtitles when available.

#### Does Video Subtitles Downloader require a login?

No — the Actor works with publicly accessible videos on supported platforms without requiring any account or login.

***

### 🔌 Integrations

Video Subtitles Downloader plugs straight into the Apify ecosystem:

- **Schedules** — run on a schedule to extract subtitles from new video uploads ([docs](https://docs.apify.com/platform/schedules?fpr=aiagentapi)).
- **Webhooks** — POST subtitle results to your pipeline on `ACTOR.RUN.SUCCEEDED` ([docs](https://docs.apify.com/platform/integrations/webhooks?fpr=aiagentapi)).
- **Apify API** — `run-sync-get-dataset-items` for blocking calls, `runs` for async ([docs](https://docs.apify.com/api/v2?fpr=aiagentapi)).
- **MCP Server** — call the Actor from Claude, ChatGPT, or Cursor agents ([docs](https://docs.apify.com/platform/integrations/mcp?fpr=aiagentapi)).
- **No-code** — Make, Zapier, n8n, Pipedream, Google Sheets, Airtable.

***

### 🧱 Sister Actors from TrueFetch

#### Jobs

- [Best Job Search](https://apify.com/TrueFetch/best-job-search?fpr=aiagentapi)
- [Glassdoor Job Search](https://apify.com/TrueFetch/glassdoor-job-search?fpr=aiagentapi)
- [Glints Company Finder](https://apify.com/TrueFetch/glints-company-finder?fpr=aiagentapi)
- [Glints Job Finder](https://apify.com/TrueFetch/glints-job-finder?fpr=aiagentapi)
- [Indeed Job Search](https://apify.com/TrueFetch/indeed-job-search?fpr=aiagentapi)
- [JobStreet Company Finder](https://apify.com/TrueFetch/jobstreet-company-finder?fpr=aiagentapi)
- [JobStreet Job Finder](https://apify.com/TrueFetch/jobstreet-job-finder?fpr=aiagentapi)
- [LinkedIn Job Search](https://apify.com/TrueFetch/linkedin-job-search?fpr=aiagentapi)
- [StepStone Company Finder](https://apify.com/TrueFetch/stepstone-company-finder?fpr=aiagentapi)
- [StepStone Job Finder](https://apify.com/TrueFetch/stepstone-job-finder?fpr=aiagentapi)

#### Shopping & Deals

- [Amazon Deals Scraper](https://apify.com/TrueFetch/amazon-deals-scraper?fpr=aiagentapi)
- [Amazon Store Finder](https://apify.com/TrueFetch/amazon-store-finder?fpr=aiagentapi)
- [Argos Deals Scraper](https://apify.com/TrueFetch/argos-deals-scraper?fpr=aiagentapi)
- [ASOS Fashion Scraper](https://apify.com/TrueFetch/asos-fashion-scraper?fpr=aiagentapi)
- [eBay Deals Scraper](https://apify.com/TrueFetch/ebay-deals-scraper?fpr=aiagentapi)
- [eBay Seller Finder](https://apify.com/TrueFetch/ebay-seller-finder?fpr=aiagentapi)
- [Flipkart Deals Scraper](https://apify.com/TrueFetch/flipkart-deals-scraper?fpr=aiagentapi)
- [John Lewis Deals Scraper](https://apify.com/TrueFetch/john-lewis-deals-scraper?fpr=aiagentapi)
- [Lidl Deals Scraper](https://apify.com/TrueFetch/lidl-deals-scraper?fpr=aiagentapi)
- [Magalu Deals Scraper](https://apify.com/TrueFetch/magalu-deals-scraper?fpr=aiagentapi)
- [MediaMarkt Deals Scraper](https://apify.com/TrueFetch/mediamarkt-deals-scraper?fpr=aiagentapi)
- [Mercado Livre Deals Scraper](https://apify.com/TrueFetch/mercado-livre-deals-scraper?fpr=aiagentapi)
- [Nykaa Beauty Scraper](https://apify.com/TrueFetch/nykaa-beauty-scraper?fpr=aiagentapi)
- [OTTO Deals Scraper](https://apify.com/TrueFetch/otto-deals-scraper?fpr=aiagentapi)
- [Target Deals Scraper](https://apify.com/TrueFetch/target-deals-scraper?fpr=aiagentapi)
- [TradeIndia Product Finder](https://apify.com/TrueFetch/tradeindia-product-finder?fpr=aiagentapi)
- [TradeIndia Supplier Finder](https://apify.com/TrueFetch/tradeindia-supplier-finder?fpr=aiagentapi)
- [Walmart Deals Scraper](https://apify.com/TrueFetch/walmart-deals-scraper?fpr=aiagentapi)

#### Vehicles

- [AutoTrader Car Finder](https://apify.com/TrueFetch/autotrader-car-finder?fpr=aiagentapi)
- [AutoTrader Dealer Finder](https://apify.com/TrueFetch/autotrader-dealer-finder?fpr=aiagentapi)
- [Cars.com Car Finder](https://apify.com/TrueFetch/carscom-car-finder?fpr=aiagentapi)
- [Cars.com Dealer Finder](https://apify.com/TrueFetch/carscom-dealer-finder?fpr=aiagentapi)
- [Webmotors Car Finder](https://apify.com/TrueFetch/webmotors-car-finder?fpr=aiagentapi)

#### Real Estate

- [MagicBricks Builder Finder](https://apify.com/TrueFetch/magicbricks-builder-finder?fpr=aiagentapi)
- [MagicBricks Home Finder](https://apify.com/TrueFetch/magicbricks-home-finder?fpr=aiagentapi)
- [US Real Estate](https://apify.com/TrueFetch/us-real-estate?fpr=aiagentapi)
- [Zillow Real Estate](https://apify.com/TrueFetch/zillow-real-estate?fpr=aiagentapi)

#### Local Business & Food

- [BBB Business Finder](https://apify.com/TrueFetch/bbb-business-finder?fpr=aiagentapi)
- [BBB Review Checker](https://apify.com/TrueFetch/bbb-review-checker?fpr=aiagentapi)
- [Google Business Profile](https://apify.com/TrueFetch/google-business-profile?fpr=aiagentapi)
- [Reclame Aqui Company Finder](https://apify.com/TrueFetch/reclame-aqui-company-finder?fpr=aiagentapi)
- [Zomato Menu Checker](https://apify.com/TrueFetch/zomato-menu-checker?fpr=aiagentapi)
- [Zomato Restaurant Finder](https://apify.com/TrueFetch/zomato-restaurant-finder?fpr=aiagentapi)

#### Classifieds

- [Kleinanzeigen Listing Finder](https://apify.com/TrueFetch/kleinanzeigen-listing-finder?fpr=aiagentapi)
- [Kleinanzeigen Seller Finder](https://apify.com/TrueFetch/kleinanzeigen-seller-finder?fpr=aiagentapi)
- [OLX Listing Finder](https://apify.com/TrueFetch/olx-listing-finder?fpr=aiagentapi)
- [OLX Seller Finder](https://apify.com/TrueFetch/olx-seller-finder?fpr=aiagentapi)

#### Social Media

- [Find Any Company On LinkedIn](https://apify.com/TrueFetch/find-any-company-on-linkedin?fpr=aiagentapi)
- [Find Anyone On LinkedIn](https://apify.com/TrueFetch/find-anyone-on-linkedin?fpr=aiagentapi)
- [Instagram Explore](https://apify.com/TrueFetch/instagram-explore?fpr=aiagentapi)
- [Instagram Post](https://apify.com/TrueFetch/instagram-post?fpr=aiagentapi)
- [Instagram Profile](https://apify.com/TrueFetch/instagram-profile?fpr=aiagentapi)
- [Reddit Community Post](https://apify.com/TrueFetch/reddit-community-post?fpr=aiagentapi)
- [Reddit Community Profile](https://apify.com/TrueFetch/reddit-community-profile?fpr=aiagentapi)
- [Reddit Community User](https://apify.com/TrueFetch/reddit-community-user?fpr=aiagentapi)
- [Reddit Post Search](https://apify.com/TrueFetch/reddit-post-search?fpr=aiagentapi)
- [Reddit User Profile](https://apify.com/TrueFetch/reddit-user-profile?fpr=aiagentapi)
- [Social Media Marketing](https://apify.com/TrueFetch/social-media-marketing?fpr=aiagentapi)
- [Telegram Channel Message](https://apify.com/TrueFetch/telegram-channel-message?fpr=aiagentapi)
- [Telegram Group Member](https://apify.com/TrueFetch/telegram-group-member?fpr=aiagentapi)
- [Telegram Profile](https://apify.com/TrueFetch/telegram-profile?fpr=aiagentapi)
- [X Community Profile](https://apify.com/TrueFetch/x-community-profile?fpr=aiagentapi)
- [X User Profile](https://apify.com/TrueFetch/x-user-profile?fpr=aiagentapi)

#### Videos & Text

- [Best Video Downloader](https://apify.com/TrueFetch/best-video-downloader?fpr=aiagentapi)
- [Instagram To Text](https://apify.com/TrueFetch/instagram-to-text?fpr=aiagentapi)
- [TikTok Live Recorder](https://apify.com/TrueFetch/tiktok-live-recorder?fpr=aiagentapi)
- [TikTok Video Downloader](https://apify.com/TrueFetch/tiktok-video-downloader?fpr=aiagentapi)
- [TikTok Video Lookup](https://apify.com/TrueFetch/tiktok-video-lookup?fpr=aiagentapi)
- [Video Subtitles Downloader](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)
- [Video To Text](https://apify.com/TrueFetch/video-to-text?fpr=aiagentapi)
- [YouTube Niche Scraper](https://apify.com/TrueFetch/youtube-niche-scraper?fpr=aiagentapi)
- [YouTube Video Downloader](https://apify.com/TrueFetch/youtube-video-downloader?fpr=aiagentapi)

#### Content & Articles

- [Medium Article Finder](https://apify.com/TrueFetch/medium-article-finder?fpr=aiagentapi)
- [Medium Writer Finder](https://apify.com/TrueFetch/medium-writer-finder?fpr=aiagentapi)

***

### 📞 Support, changelog, last updated

#### Support

- 💬 **Telegram Group:** [t.me/Apify\_Actor](https://t.me/Apify_Actor)
- 📧 **Direct support:** [t.me/AiAgentApi](https://t.me/AiAgentApi)
- 📖 **Actor page & docs:** [apify.com/TrueFetch/video-subtitles-downloader](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi)

Maintained by **TrueFetch** on the [Apify Store](https://apify.com/TrueFetch?fpr=aiagentapi).

> **Cost of doing nothing:** manually downloading, converting, and extracting subtitle text from videos takes hours. Video Subtitles Downloader delivers structured timecoded subtitles and SRT files at $0.051/video via API. → [Try it free with $5 of Apify credits](https://apify.com/TrueFetch/video-subtitles-downloader?fpr=aiagentapi).

#### Changelog

- **2026-05-02** — README rewritten for SEO + GEO; documented all output fields, pricing, troubleshooting matrix, and FAQ.
- **2026-03** — Added multi-language support and SRT file URL output.
- **2026-02** — Initial release: video subtitle extractor.

***

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "SoftwareApplication",
      "@id": "https://apify.com/TrueFetch/video-subtitles-downloader#software",
      "name": "Video Subtitles Downloader",
      "description": "Apify Actor that extracts subtitles from video URLs at $0.051 per video, returning timecoded SRT subtitle data, SRT file URL, and video metadata.",
      "applicationCategory": "MultimediaApplication",
      "operatingSystem": "Web, Cloud",
      "url": "https://apify.com/TrueFetch/video-subtitles-downloader",
      "offers": {
        "@type": "Offer",
        "price": "0.051",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      },
      "author": { "@id": "https://apify.com/TrueFetch#author-TrueFetch" },
      "publisher": { "@id": "https://apify.com/TrueFetch#publisher" }
    },
    {
      "@type": "Organization",
      "@id": "https://apify.com/TrueFetch#publisher",
      "name": "TrueFetch",
      "url": "https://apify.com/TrueFetch",
      "sameAs": ["https://t.me/Apify_Actor", "https://t.me/AiAgentApi"]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What data does Video Subtitles Downloader return?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Timecoded subtitle text (dict of time range → text), SRT file download URL, and video metadata (title, author, platform, thumbnail, published date) — one record per language per video."
          }
        },
        {
          "@type": "Question",
          "name": "How much does Video Subtitles Downloader cost?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "$0.051 per video plus a small actor runtime charge. The Apify Free plan includes $5/month credits — enough for ~98 free video subtitle extractions."
          }
        },
        {
          "@type": "Question",
          "name": "Does Video Subtitles Downloader support auto-generated captions?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes — the Actor extracts both manually created and auto-generated subtitles when available."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Apify",
          "item": "https://apify.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Videos & Text",
          "item": "https://apify.com/store?category=VIDEO"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Video Subtitles Downloader",
          "item": "https://apify.com/TrueFetch/video-subtitles-downloader"
        }
      ]
    }
  ]
}
```

***

**Last Updated:** May 2, 2026
**Schema version:** 1.1
**Maintained by:** [TrueFetch](https://apify.com/TrueFetch?fpr=aiagentapi) · 💬 [Telegram Group](https://t.me/Apify_Actor) · 📧 [Support](https://t.me/AiAgentApi)

# Actor input Schema

## `video_url` (type: `string`):

Enter the video URL

## `languages` (type: `array`):

Select the languages for subtitles. You can select multiple.

## Actor input object example

```json
{
  "video_url": "https://www.youtube.com/watch?v=005JLRt3gXI",
  "languages": [
    "english"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

All subtitles with metadata, language details, and downloadable SRT files

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "video_url": "https://www.youtube.com/watch?v=005JLRt3gXI",
    "languages": [
        "english"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("truefetch/video-subtitles-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "video_url": "https://www.youtube.com/watch?v=005JLRt3gXI",
    "languages": ["english"],
}

# Run the Actor and wait for it to finish
run = client.actor("truefetch/video-subtitles-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "video_url": "https://www.youtube.com/watch?v=005JLRt3gXI",
  "languages": [
    "english"
  ]
}' |
apify call truefetch/video-subtitles-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=truefetch/video-subtitles-downloader",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Video Subtitles Downloader",
        "description": "Download subtitles from 1,000+ video platforms — VTT, ASS, TTML, JSON, and 5 other formats all converted to clean SRT from a single pasted link. ~$0.051 per video.",
        "version": "1.0",
        "x-build-id": "NOR6MTKSbLgmVA6TY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/truefetch~video-subtitles-downloader/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-truefetch-video-subtitles-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/truefetch~video-subtitles-downloader/runs": {
            "post": {
                "operationId": "runs-sync-truefetch-video-subtitles-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/truefetch~video-subtitles-downloader/run-sync": {
            "post": {
                "operationId": "run-sync-truefetch-video-subtitles-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "video_url",
                    "languages"
                ],
                "properties": {
                    "video_url": {
                        "title": "Video URL",
                        "type": "string",
                        "description": "Enter the video URL"
                    },
                    "languages": {
                        "title": "Languages",
                        "type": "array",
                        "description": "Select the languages for subtitles. You can select multiple.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "all",
                                "afrikaans",
                                "arabic",
                                "armenian",
                                "belarusian",
                                "bengali",
                                "bulgarian",
                                "cantonese",
                                "catalan",
                                "chinese_simplified",
                                "chinese_traditional",
                                "croatian",
                                "czech",
                                "danish",
                                "dutch",
                                "english",
                                "esperanto",
                                "estonian",
                                "filipino",
                                "finnish",
                                "french",
                                "german",
                                "greek",
                                "gujarati",
                                "hebrew",
                                "hindi",
                                "hungarian",
                                "icelandic",
                                "indonesian",
                                "italian",
                                "japanese",
                                "korean",
                                "latvian",
                                "lithuanian",
                                "malay",
                                "marathi",
                                "norwegian",
                                "persian",
                                "polish",
                                "portuguese",
                                "romanian",
                                "russian",
                                "serbian",
                                "slovak",
                                "slovenian",
                                "spanish",
                                "swahili",
                                "swedish",
                                "tamil",
                                "telugu",
                                "thai",
                                "turkish",
                                "ukrainian",
                                "urdu",
                                "vietnamese"
                            ],
                            "enumTitles": [
                                "All",
                                "Afrikaans",
                                "Arabic",
                                "Armenian",
                                "Belarusian",
                                "Bengali",
                                "Bulgarian",
                                "Cantonese",
                                "Catalan",
                                "Chinese Simplified",
                                "Chinese Traditional",
                                "Croatian",
                                "Czech",
                                "Danish",
                                "Dutch",
                                "English",
                                "Esperanto",
                                "Estonian",
                                "Filipino",
                                "Finnish",
                                "French",
                                "German",
                                "Greek",
                                "Gujarati",
                                "Hebrew",
                                "Hindi",
                                "Hungarian",
                                "Icelandic",
                                "Indonesian",
                                "Italian",
                                "Japanese",
                                "Korean",
                                "Latvian",
                                "Lithuanian",
                                "Malay",
                                "Marathi",
                                "Norwegian",
                                "Persian",
                                "Polish",
                                "Portuguese",
                                "Romanian",
                                "Russian",
                                "Serbian",
                                "Slovak",
                                "Slovenian",
                                "Spanish",
                                "Swahili",
                                "Swedish",
                                "Tamil",
                                "Telugu",
                                "Thai",
                                "Turkish",
                                "Ukrainian",
                                "Urdu",
                                "Vietnamese"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
