Transcribe Reels and video posts via API
POST any Reel, video post, or IGTV URL — /reel/, /p/, or /tv/ — and
get back timestamped JSON. Built for content repurposing pipelines, influencer research, and
brand monitoring.
Three steps to a transcript
transcript plus timed segments. POST /api/instagram/transcript
Base URL: https://api.transcriptmagic.com. Authenticate with a Bearer token in the Authorization header.
curl -X POST https://api.transcriptmagic.com/api/instagram/transcript \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/reel/C1a2B3c4D5e/"}' import requests
response = requests.post(
"https://api.transcriptmagic.com/api/instagram/transcript",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"url": "https://www.instagram.com/reel/C1a2B3c4D5e/"},
)
data = response.json()
print(data["transcript"]) const response = await fetch("https://api.transcriptmagic.com/api/instagram/transcript", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({ url: "https://www.instagram.com/reel/C1a2B3c4D5e/" }),
});
const data = await response.json();
console.log(data.transcript); What you get back
A JSON object shaped around Reel-sized content — usually 3–20 segments for a typical 30-second Reel.
{
"transcript": "If you're building a personal brand on Instagram, the one thing that actually moves the needle is...",
"segments": [
{
"text": "If you're building a personal brand on Instagram,",
"startMs": "400",
"endMs": "3120",
"startTimeText": "0:00"
},
{
"text": "the one thing that actually moves the needle is consistency.",
"startMs": "3120",
"endMs": "6800",
"startTimeText": "0:03"
}
],
"credits": 879
} transcript Full spoken content joined as a single stringsegments Line-level array with startMs, endMs, startTimeTextcredits Your remaining credit balance after this callWhat the API handles
Reels
15–90 second vertical videos at instagram.com/reel/…. The highest-volume use case for this API — hook research, repurposing, trend tracking.
Video posts
Feed videos at instagram.com/p/… — anything from 3 seconds to multi-minute product demos, interviews, or testimonials.
IGTV / long-form
instagram.com/tv/… URLs are supported. IGTV is being folded into the feed, but legacy URLs still resolve.
Carousel videos
When a carousel includes a video slide, the spoken audio from that video is transcribed. Image-only slides contribute nothing.
One credit per call
Every successful API request uses 1 credit. Monthly credits roll over, cancel anytime.
- SRT exports
- All platforms supported
No credit card required
- Download HD videos
- SRT, TXT, PDF exports
- AI summaries
- Talk to transcripts
- Repurpose content
- 40+ language translations
Credits rollover. Cancel anytime
- All Plus features
- Batch processing
Credits rollover. Cancel anytime
Processing 10K+ Reels a month? Email [email protected] for volume pricing.
What developers build with it
Reel repurposing pipelines
Feed the transcript into an LLM to produce TikTok scripts, YouTube Shorts captions, and LinkedIn posts from one source clip.
Influencer research
Transcribe a creator's Reels catalog, then cluster by topic and brand mention to build creator-comparison tools.
Brand monitoring
Ingest mentions of your brand from Instagram video, not just captions. Catch reviews and critiques buried in spoken audio.
Ad creative analysis
Transcribe competitor Reel ads, surface winning patterns, and inform your own paid creative without manual watching.
Accessibility & captioning
Build SRT/VTT from the segments array for internal content libraries or external captioning services.
Creator dashboards
Give creators a view of what they said on each Reel — useful for transcribing testimonials, tagging topics, and writing descriptions.
Questions developers ask
Which Instagram URLs does the API accept?
Reels (instagram.com/reel/…), video posts (instagram.com/p/…), and IGTV/long-form video posts all work. The API figures out the media type server-side — you just POST the URL.
Does it work on private accounts or Stories?
No. The API can only access public content. Private accounts, Stories (which expire), and Close Friends posts aren't reachable. If you need Story transcription, the content has to be public or archived to a public profile.
What about videos with just music or no speech?
The API transcribes spoken audio. If a Reel uses a music-only trending sound with no voiceover, the transcript will be empty — but the call still returns 200 with an empty segments array (no credit refund applies).
Does the API handle non-English content?
Yes. Instagram is used worldwide and the API returns whichever language the creator spoke. To normalize to one language, run the transcript through an LLM translation step after fetching.
Can I use short share links (instagr.am)?
Yes. Share-link redirects are auto-resolved. You can also use web URLs grabbed from the three-dot menu — both formats work.
How do timestamps work for Reels vs long-form posts?
Both return the same segment structure — startMs, endMs, startTimeText — regardless of duration. Reels are typically 15–90 seconds; longer video posts can run several minutes. The response shape doesn't change.