Kick Transcript API —
clip URL in, transcript out.
Send a Kick clip URL, get back the transcript as JSON. Kick clips rarely have captions, so AI transcription is built in — no extra parameter, no second call. Built for clipping tools, highlight channels, and stream analytics. Example: https://kick.com/xqc/clips/clip_01M3SXGX1A2VJ81RFM56NM8ZZQ
/api/kick/transcript What the API handles.
Every Kick URL format below resolves to the same JSON response shape — no branching logic needed in your client code.
kick.com/{channel}/clips/{clip_id} — the canonical Kick clip URL.kick.com/{channel}?clip={clip_id} form that appears when a clip is opened from a channel page. Normalized for you server-side.transcript_source tells you whether you got "native" captions or "ai".Full docs at docs.transcriptmagic.com.
Per-platform response schemas, language-specific code samples (cURL, Python, JavaScript, Go, PHP), error catalog, and rate-limit headers all live on the docs subdomain. Built for both humans and agents.
Pay for what you use, from 2¢ a transcript.
1 credit = 1 video transcript. Every Kick clip that returns a transcript uses 1 credit — captions or AI, same price. Clips with no detectable speech are free.
- 01 Try it free
3 transcripts a month, no card.
- 02 Pick any plan
From $9 a month. The API, MCP and n8n work on all of them.
- 03 Add credits whenever you need them, on any paid plan
- 250 credits $10 4¢ each
- 1,000 credits $35 3.5¢ each
- 5,000 credits $99 2¢ each
No plan change, and they never expire.
Steady volume? Pro includes 2,500 a month for $49, or 1.6¢ each billed yearly.
Free to start: sign in with Google, no card needed.
What devs build with it.
Real pipelines shipping real revenue. If you're doing something new, email us — we love hearing what teams are building.
Questions devs ask.
The short answers. For anything else, email hello@transcriptmagic.com — same-day reply.
Which Kick URLs does the API accept?
Kick clip URLs in either format: kick.com/{channel}/clips/{clip_id} or kick.com/{channel}?clip={clip_id}. The ?clip= form is normalized to the clip page URL for you. VODs, channel pages, and live streams return a 400.
How do I authenticate?
Send your API key as a Bearer token: Authorization: Bearer sk_live_…, with a JSON body of {"url": "…"}. It’s the same key and auth as every other TranscriptMagic endpoint — create one on the API keys page.
What does the response look like?
A flat JSON object with success, id, url, transcript (plain text), transcript_source ("native" or "ai"), and credits (remaining balance). No timestamps, title, or thumbnail are returned.
Do I need to do anything special for clips without captions?
No. AI transcription kicks in automatically when a clip has no captions, which is most Kick clips. The response is the same shape — only transcript_source changes to "ai".
Is there a clip length limit?
AI transcription works on clips up to 2 minutes long, which covers most Kick clips. A longer clip without captions can’t be transcribed yet — the API returns a 422 with code: "too_long", and no credit is used.
How is each call billed?
1 credit per clip that returns a transcript, captions or AI. Cache hits, clips with no detectable speech, and error responses don’t consume credits.
Can I transcribe a full Kick stream?
No — this endpoint is clips only. To get text for a moment in a past stream, clip it on Kick and send the clip URL.
Other platforms & references.
Add Kick clip transcripts — in one call.
Free credits included. No credit card required. One API key works across every platform endpoint.