See llms.txt for all machine-readable content.

Back to Templates

Transcribe video and podcast links to Google Sheets with Apify

Quick overview

Paste YouTube, TikTok, Instagram, Vimeo, X, podcast or audio file links into a Google Sheet and get the full transcript back. The workflow runs hourly, transcribes only new links with the Apify Media Transcriber (captions when available, Whisper otherwise), saves text and metadata, and marks each link done.

How it works

  1. Runs every hour on a schedule trigger.
  2. Reads rows from the Google Sheets Videos tab using the spreadsheet URL defined in the workflow settings.
  3. Keeps only rows where URL is present and Status is empty to avoid reprocessing links.
  4. Sends each URL to the Apify Media Transcriber actor (sync HTTP request) using the configured language, model accuracy, translation option, and max duration.
  5. Writes the returned transcript (truncated to 49,000 characters) and metadata to the Google Sheets Transcripts tab, matched by URL.
  6. Updates the original row in the Videos tab to Status = done or Status = error: … based on the Apify response.

Setup

  1. Create an Apify API token and add it as an HTTP Header Auth credential with header name Authorization and value Bearer YOUR_APIFY_TOKEN.
  2. Connect Google Sheets OAuth credentials for the Google Sheets nodes.
  3. Create a Google Spreadsheet with two tabs: Videos (URL, Status) and Transcripts (url, title, channel, published, duration_s, language, words, transcript, error).
  4. Paste your spreadsheet URL into the sheetUrl value in the workflow’s Settings node and adjust language, accuracy, translateToEnglish, and maxMinutes as needed.

Requirements

  • Google Sheets account (OAuth2) and an Apify account with an API token (the free plan works). Cost on Apify: about US$ 0.02 per file up to 2 minutes, then per extra minute; errors, private videos and files without speech are not charged.

Customization

  • Set language to force a language, translateToEnglish to get English text from any language, accuracy to tiny/base/small, and maxMinutes to skip long files. Swap the schedule for a Google Sheets trigger to transcribe each new row immediately.

Additional info

Each call waits up to 5 minutes, so very long files may time out and are marked as errors. Google Sheets cells hold 50,000 characters; longer transcripts are cut at 49,000. Disclosure: I built the Media Transcriber Actor used here.