Arcadium Data Scrapers
Home / Switch / Youtube Transcript Scraper

Switching from Youtube Transcript Scraper to YouTube Transcript & Subtitles Scraper

YouTube Transcript & Subtitles Scraper (arcadium/youtube-transcripts) reads input written for pintostudio/youtube-transcript-scraper: 2 of its 2 input fields work as they are. Field list from its public input schema (build 1.0.63, 2026-10-31); prices and run results from the public Apify API, 2026-10-31.

Their fields that work as they are

Their fieldTypeNote
videoUrlstringAs is
targetLanguagestringAs is

Side by side: their input, our rows

Input written for pintostudio/youtube-transcript-scraper, pasted unchanged:

{
  "videoUrl": "https://www.youtube.com/watch?v=IELMSD2kdmk",
  "targetLanguage": "de"
}

One row from arcadium/youtube-transcripts (README example; long text shortened):

{
  "rowType": "transcript",
  "platform": "youtube",
  "videoId": "dQw4w9WgXcQ",
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
  "channelName": "Rick Astley",
  "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
  "channelHandle": "@RickAstleyYT",
  "channelUrl": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
  "durationSeconds": 213,
  "publishDate": "2009-10-24T23:57:33-07:00",
  "viewCount": 1829055386,
  "likeCount": 19491653,
  "category": "Music",
  "isLiveContent": false,
  "keywords": [
    "rick astley",
    "Never Gonna Give You Up"
  ],
  "description": "The official video for “Never Gonna Give You Up” by Rick Astley. Never: The Autobiography OUT NOW!...",
  "language": "en",
  "languageName": "English",
  "isAutoGenerated": false,
  "languageMatched": true,
  "translationStatus": "not_requested",
  "translatedFrom": null,
  "availableLanguages": [
    {
      "code": "en",
      "name": "English",
      "isAutoGenerated": false
    },
    {
      "code": "en",
      "name": "English",
      "isAutoGenerated": true
    }
  ],
  "transcript": "[♪♪♪] ♪ We're no strangers to love ♪ ♪ You know the rules and so do I ♪ ...",
  "segmentCount": 61,
  "wordCount": 487,
  "segments": [
    {
      "start": 1.36,
      "duration": 1.68,
      "text": "[♪♪♪]"
    },
    {
      "start": 18.64,
      "duration": 3.24,
      "text": "♪ We're no strangers to love ♪"
    }
  ],
  "source": null,
  "scrapedAt": "2026-10-22T08:00:00.000Z"
}

Output fields: rowType, platform, videoId, url, title, channelName, channelId, channelHandle, channelUrl, durationSeconds, publishDate, viewCount, likeCount, category, isLiveContent, keywords, description, language, languageName, isAutoGenerated, languageMatched, translationStatus, translatedFrom, availableLanguages, transcript, segmentCount, wordCount, segments, srt, vtt, source, scrapedAt, input, code, message. The rows use these names, not the other actor’s.

Price

ActorPricing modelCharged perPer 1,000, Free planPer 1,000, lowest plan
arcadium/youtube-transcriptsPay per eventTranscript$2.48$1.80
pintostudio/youtube-transcript-scraperPay per eventresult$10.00$10.00

Live Apify prices on 2026-10-31, in USD, for each actor’s main charged event. Start fees and platform usage are not included. Units differ: compare what one charged row contains. The Store page of each actor is the current source.

Common issues: failed or timed-out runs

ActorRuns, last 30 daysFailedTimed out
arcadium/youtube-transcriptsunder 50 runs (3 runs)--
pintostudio/youtube-transcript-scraper530,64713.4%0.0%

Apify’s public run statistics for each actor, last 30 days to 2026-10-31: FAILED and TIMED-OUT runs as a share of all runs. Shown from 50 runs. A failed run can also come from a bad input. Here an input that cannot be read comes back as a free error row with a code, and the other inputs still arrive.

How to switch

In the Apify Store

  1. Open arcadium/youtube-transcripts and sign in to Apify.
  2. On the Input tab, switch the editor to JSON and paste the input you used for pintostudio/youtube-transcript-scraper.
  3. Start the run. Set a maximum cost per run in the run options if you want a hard cap.

Over the API

Change the actor ID in the URL from pintostudio~youtube-transcript-scraper to arcadium~youtube-transcripts; the body stays the same.

curl -X POST "https://api.apify.com/v2/acts/arcadium~youtube-transcripts/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"videoUrl":"https://www.youtube.com/watch?v=IELMSD2kdmk","targetLanguage":"de"}'

In n8n

In the Apify node, change the actor to arcadium/youtube-transcripts and keep the input JSON. With an HTTP Request node:

{
  "nodes": [
    {
      "name": "Run arcadium/youtube-transcripts",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [
        0,
        0
      ],
      "parameters": {
        "method": "POST",
        "url": "https://api.apify.com/v2/acts/arcadium~youtube-transcripts/run-sync-get-dataset-items",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "{\"videoUrl\":\"https://www.youtube.com/watch?v=IELMSD2kdmk\",\"targetLanguage\":\"de\"}",
        "options": {
          "timeout": 300000
        }
      }
    }
  ],
  "connections": {}
}

From an AI assistant (MCP)

Add the actor as a tool on Apify’s MCP server; an agent can pass the same input fields.

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com/?tools=arcadium/youtube-transcripts",
      "headers": {
        "Authorization": "Bearer <APIFY_TOKEN>"
      }
    }
  }
}

All switching guides