GitHubLog in
Instagram Transcript API

Instagram Transcript API

Returns the transcript of a public Instagram Reel or video post, as plain text or timestamped segments. Instagram has no caption track a logged-out client can read, so the audio is always transcribed. The request is held open and answers inline, and the response names the post where Instagram provides it.

AI Fallback Transcription1 / 5 minEvery Reel, billed on delivery, minimum 1
Failed requestsFreeA request that fails costs nothing
Supported URLs/reel//p//tv/instagr.amAll URL formats
POST/api/v2/transcripts/videoidempotent

How a request resolves

  1. Reel transcribed inlineAI Fallback Transcription runs while the request is held open for up to 45 seconds. No polling.200
  2. Still running after 45 sAnswers with a job to poll, or POSTs the result to your callback_url. Retrying is safe and hits the cache once it is done.202

Body parameters

A video URL or 11-character YouTube video ID. Accepts YouTube (watch, youtu.be, /shorts/), TikTok, and Instagram URLs, plus direct media file URLs (mp4/mp3/wav/…). Under the default mode, a video without captions is transcribed by AI Fallback Transcription (see mode).

curl https://transcriptfetch.com/api/v2/transcripts/video \
  -H "Authorization: Bearer $TRANSCRIPTFETCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"video":"https://www.instagram.com/reel/Dd1gQBsCWE8/"}'
SuccessExample response envelope
{
  "ok": true,
  "request_id": "req_…",
  "data": {
    "kind": "transcript",
    "video_id": "Dd1gQBsCWE8",
    "url": "https://www.instagram.com/reel/Dd1gQBsCWE8/",
    "platform": "instagram",
    "title": "What happens when we detect an asteroid that could pose a threat to Earth?\n\nIn early 2025, NASA joined scientists around the world in tracking asteroid 2024 YR4, which had a small chance of impacting ",
    "channel": null,
    "duration": 38.6,
    "language": "en",
    "thumbnail_url": null,
    "source": "audio",
    "segments": [
      {
        "start": 0,
        "duration": 3.44,
        "text": "This asteroid 2024 YR4 might get interesting."
      },
      {
        "start": 3.44,
        "duration": 2.56,
        "text": "There was a chance that it could impact Earth."
      },
      {
        "start": 6,
        "duration": 4.1,
        "text": "The Atlas Survey, operated by the University of Hawaii,"
      }
    ]
  },
  "usage": {
    "credits_spent": 1,
    "balance": 657,
    "bytes": 2210
  }
}

Every Instagram endpoint

Same call, other platforms:YouTube Transcript APITikTok Transcript API

Frequently asked questions

Why does every Instagram response say source audio?

Instagram publishes no caption track that a logged-out client can read, so there is nothing to read first. AI Fallback Transcription transcribes the Reel's audio on the request instead, which is why the response's source is always audio and the language is the detected spoken language.

What does an Instagram transcript cost?

The AI Fallback Transcription rate: 1 credit per started 5 minutes of audio, minimum 1, charged only when the transcript is delivered. Most Reels are well under a minute, so one Reel is one credit. A failed request costs nothing.

Which Instagram URLs are accepted?

Reel URLs (instagram.com/reel/<code>/), video post URLs (instagram.com/p/<code>/), legacy IGTV /tv/ URLs and instagr.am short links. Stories, private accounts and login-walled posts are not reachable and fail with a clear error.

Do I have to poll a job for an Instagram Reel?

Almost never. Reels are short-form, so the request is held open and the finished transcript is returned inline. A transcription that outlasts the hold answers 202 with a job_id and poll_url, and callback_url delivers it to you instead.