npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-youtube-transcripts-api

v0.1.2

Published

Bulk YouTube transcript, subtitle & caption scraper for n8n — Apify-backed, pay-per-video, usable as an AI agent tool.

Readme

YouTube Transcripts (n8n community node)

Extract YouTube transcripts, subtitles, and captions in n8n — in bulk, at about $0.00001 per video. This node runs the YouTube Transcript & Subtitles Scraper Actor on Apify, and works as a tool inside n8n AI Agent workflows.

Package: n8n-nodes-youtube-transcripts-api

Installation · Credentials · Usage · Output · Examples · Pricing

What it does

  • Takes one YouTube URL or many at once — standard videos, Shorts, youtu.be, embed, and m.youtube.com links.
  • Returns the full transcript text, timestamped snippets (text, start, duration), language info, and processing status for each video.
  • Reports invalid or failed URLs per item without stopping the run.
  • When used as an AI Agent tool, it returns a trimmed result automatically to keep the model's context clean.

Installation

Follow the n8n community node installation guide, or:

  1. In n8n, open Settings → Community Nodes.
  2. Select Install.
  3. Enter n8n-nodes-youtube-transcripts-api and confirm.

Community nodes can be installed on self-hosted n8n. On n8n Cloud they become available once the node is verified.

Credentials

You need an Apify account (the free tier is enough to start) and an API token.

  1. Copy your token from Apify Console → Settings → API & Integrations.
  2. In n8n, add a new Apify API credential and paste the token.

OAuth2 is also supported (Apify OAuth2 API credential) if your n8n instance is set up for it.

Usage

Resource: Transcript → Operation: Get Transcripts

| Field | Description | |-------|-------------| | YouTube URL or URLs | One URL as a string, or several as an array. n8n also runs the node once per incoming item, so you can map a URL from a previous node to transcribe a whole list. | | Output | How much to return per video: Simplified (default), Raw, or Selected Fields. | | Fields to Include | Appears when Output is Selected Fields. Pick exactly which keys to return. |

Output modes

  • Simplified (default) — returns { video_id, language, transcript }, where transcript is the full text. Best for summarizing or feeding an LLM. This mode is used automatically when the node runs as an AI Agent tool.
  • Raw — every field the Actor produces, including timestamped segments.
  • Selected Fields — any subset of the fields listed below.

Output

Each processed video returns one item. Full field list (Raw mode):

| Field | Type | Description | |-------|------|-------------| | url | string | The YouTube URL that was processed | | video_id | string | 11-character video ID | | language | string | Transcript language name (e.g. English) | | language_code | string | ISO code (e.g. en) | | is_generated | boolean | Whether the captions were auto-generated by YouTube | | is_translatable | boolean | null | Whether the transcript can be translated | | translation_languages | array | null | Language codes it can be translated to | | total_seconds | number | Video duration in seconds | | timestamped | array | Snippets, each { text, start, duration } | | non_timestamped | string | Full transcript text (Simplified mode exposes this as transcript) | | timestamp | string | ISO time the video was processed | | success | boolean | Whether transcription succeeded | | error | boolean | Whether an error occurred | | error_message | string | Description of the error, if any | | error_type | string | Error class (e.g. RequestBlocked) |

Examples

Summarize a video for a blog post

Manual Trigger → YouTube Transcripts (Simplified, one URL) → LLM / AI Agent (summarize transcript) → output

Bulk-transcribe for a RAG index

Read URLs (Google Sheets / DB) → YouTube Transcripts (one URL per item) → Embeddings → Vector store

As an AI Agent tool

Connect the node to an AI Agent's tool input. The agent supplies a URL and gets back { video_id, language, transcript }, so the model receives clean text without timestamp noise.

Pricing

The underlying Actor uses Apify pay-per-event pricing — roughly $0.00001 per video processed, billed through your Apify account. The node itself is free and open source.

Resources

License

MIT