Skip to main content
Three steps: generate a key in the dashboard, POST a video URL, parse the JSON. No SDK, no auth dance, no webhook plumbing.
1

Create an API key

Generate one in your dashboard. Free credits are included — no card to start.
2

POST a video URL

Send any supported URL in the url field. Auth via the Authorization: Bearer header.
curl -X POST https://api.transcriptmagic.com/api/youtube/transcript \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
3

Parse the JSON

The exact shape varies by platform. YouTube returns timed segments; TikTok and Facebook return the joined text plus optional video URLs. Sample YouTube response:
{
  "success": true,
  "type": "video",
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "transcript": [
    { "text": "We're no strangers to love", "startMs": "18800", "endMs": "25960", "startTimeText": "0:18" },
    { "text": "You know the rules and so do I", "startMs": "21800", "endMs": "29119", "startTimeText": "0:21" }
  ],
  "transcript_only_text": "We're no strangers to love. You know the rules and so do I...",
  "language": "English",
  "videoId": "dQw4w9WgXcQ",
  "captionTracks": [/* available caption tracks */],
  "credits": 42
}
Full per-platform shapes live in the response schema.

Swap platforms

Auth, path style, and the url body field never change — but the response shape differs per platform because each upstream source provides different metadata. YouTube gives you per-line timing; TikTok and Facebook give you joined text plus optional video URLs; Instagram gives you a transcripts array of plain-text lines. Plan for that when writing a unified client.

Next steps

Authentication

Bearer tokens, key rotation, revocation.

Response schema

Every field, every platform.

Rate limits

60/min per key. Headers on 429 responses.

Errors

Status codes, messages, retry guidance.