strapi-plugin-youtube-transcript logo

strapi-plugin-youtube-transcript

By Juan David Arias

Strapi 5 plugin that fetches and stores YouTube video transcripts as content types with full REST API support (fetch, list, get, delete).

Latest version

v1.0.0

released July 29, 2026

npm install strapi-plugin-youtube-transcript

Strapi Plugin: YouTube Transcript

Fetch and generate transcripts from YouTube videos. Store them as content types and expose via REST API.

Installation

npm install strapi-plugin-youtube-transcript

Then enable in config/plugins.ts:

export default {
  'youtube-transcript': { enabled: true },
};

Authentication

EndpointAuth required
POST /fetch-transcript✅ Yes — Bearer token or session
GET /transcripts❌ Public
GET /transcripts/:id❌ Public
DELETE /transcripts/:id✅ Yes — Bearer token or session

To call authenticated endpoints, pass your Strapi API token:

curl -H "Authorization: Bearer <YOUR_API_TOKEN>" ...

API Reference

Fetch and save a transcript

POST /api/youtube-transcript/fetch-transcript
Authorization: Bearer <YOUR_API_TOKEN>
Content-Type: application/json

{ "videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }

Response:

{ "data": { "documentId": "...", "videoId": "dQw4w9WgXcQ", ... }, "created": true }

If the transcript already exists, it is updated and created is false.

List all transcripts

GET /api/youtube-transcript/transcripts

Get transcript by ID

GET /api/youtube-transcript/transcripts/:id

Delete transcript

DELETE /api/youtube-transcript/transcripts/:id
Authorization: Bearer <YOUR_API_TOKEN>

Content Type Schema

FieldTypeDescription
videoIdstring (unique)YouTube video ID (e.g. dQw4w9WgXcQ)
videoUrlstring (unique)Full YouTube URL
transcriptrichtextFull transcript text
languagestringLanguage code (e.g. en)
segmentsjsonTimestamped transcript segments [{ text, start, duration }]

Local Development

Clone this repo. The project contains the plugin and a playground Strapi app.

# 1. Build the plugin
cd plugins/strapi-plugin-youtube-transcript
npm install

# 2. Run the playground
cd ../../playground
npm install
npm run develop

License

MIT

Submit your content

Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.

Submit
Submit your content