GeezerVison is showing transcriptfetch.com — Get your first transcript · TranscriptFetch docs Get your first transcript Get your first transcriptCreate a key, send one POST with a video URL, and read the transcript from the JSON response. No YouTube Data API key, quota or OAuth. 1 Create an API keySign up with no card required, then create a key under API keys. Keep it in a server-side environment variable so it stays out of browser code and source control. Go to API keysexport TRANSCRIPTFETCH_API_KEY=tf_live_YOUR_KEY 2 Choose an endpointEach endpoint does one job, with the same bearer key and the same response envelope. Pick one and the request and response below follow it. Browse all endpoints3 Make a requestPOST a YouTube, TikTok or Instagram URL, a direct media file URL, or a YouTube video ID as video. It is the only required field. AI Fallback Transcription is on by default. With mode: "auto", a video with no captions is transcribed at 1 credit per started 5 minutes of audio, minimum 1, charged on delivery. Send mode: "captions" to never pay for audio. POST/api/v2/transcripts/video curl https://transcriptfetch.com/api/v2/transcripts/video \
-H "Authorization: Bearer $TRANSCRIPTFETCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"video":"dQw4w9WgXcQ"}'
4 Read the responseA 200 carries the transcript in data. The fields you will use most: data.segments- Timestamped cues, each with start, duration and text
data.source- captions, or audio when AI Fallback Transcription ran
usage- Credits spent on this call and your remaining balance
request_id- Include it when you contact support
Send "timestamps": false to get one joined data.text string instead. {
"ok": true,
"request_id": "req_…",
"data": {
"kind": "transcript",
"video_id": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"platform": "youtube",
"title": "Example video",
"channel": "Example Channel",
"duration": 212,
"language": "en",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/mqdefault.jpg",
"source": "captions",
"segments": [
{ "start": 0, "duration": 3.5,
"text": "We're no strangers to love" }
]
},
"usage": {
"credits_spent": 1,
"balance": 49,
"bytes": 14233
}
}5 Handle long videosVideos without captions go to AI Fallback Transcription. Under 20 minutes, the request waits up to 45 seconds and returns a 200. Longer videos, or a transcription still running after the wait, return 202 with a job. Collect it one of two ways: Poll the jobCall the poll_url from the 202 until the status is completed or failed. GET /api/v2/transcripts/jobs/{jobId}Receive a callbackSend a public https callback_url and the finished transcript is POSTed to it. The job stays pollable either way. "callback_url": "https://…"
|