How to get a Twitter / X transcript
GET request to /v1/twitter/transcript with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Extract timestamped transcripts from any public Twitter / X video in a single request.How to get a Twitter / X transcript (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the Twitter/X Transcript API
Send an authenticated GET request to /v1/twitter/transcript with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/twitter/transcript?url=https%3A%2F%2Fx.com%2FNASASpox%2Fstatus%2F2078226501024227542" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"platform": "twitter",
"url": "https://x.com/NASASpox/status/2078226501024227542",
"tweetId": "2078224758781751775",
"transcript": "Full steam ahead this week at @NASA 🚀\n\n🧑🚀 @Astro_Anil arrives at the ISS\n🪐 Dragonfly progress\n✈️ Future of autonomous flight\n🤝 70 Artemis Accords signatories\n\nHere's your NASA Minute! https://t.co/GAZ4sUqfbZ",
"transcriptSegments": [
{
"text": "Full steam ahead this week at @NASA 🚀\n\n🧑🚀 @Astro_Anil arrives at the ISS\n🪐 Dragonfly progress\n✈️ Future of autonomous flight\n🤝 70 Artemis Accords signatories\n\nHere's your NASA Minute! https://t.co/GAZ4sUqfbZ",
"start": 0,
"duration": 0,
"timestamp": "00:00"
}
],
"wordCount": 32,
"segments": 1,
"author": {
"username": "NASASpox",
"displayName": "Bethany Stevens",
"url": "https://x.com/NASASpox",
"verified": false,
"profileImage": "https://pbs.twimg.com/profile_images/2030158374625759233/3fWyLDjS_normal.jpg"
},
"publishedAt": "2026-07-17T21:06:08.000Z"
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Public tweet URL, e.g. https://x.com/user/status/ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| cache | boolean | No | Set true to serve from the 24h response cache. Default false — always fetch fresh data. |
Frequently asked questions
What does the Twitter/X Transcript API do?
The Twitter/X Transcript API lets you extract the full, timestamped transcript from a public Twitter / X video using one GET request to /v1/twitter/transcript. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Twitter/X Transcript API cost?
Each successful call costs 1 credit. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Failed or empty results are never charged.
Do I need a Twitter / X API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
What if the Twitter / X video has no captions?
When no captions are available, Captapi transcribes the audio with AI (Whisper) automatically, so you still get a usable transcript.
Is the Twitter/X Transcript API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Use it for analytics, monitoring, and content automation.
Ready to get a Twitter / X transcript?
Start free with 100 credits — no credit card required.
Get your free API key