Instagram reel transcript getter

Paste an Instagram reel link. Get the speech as text.

SampleRecorded public data, shortened. Run the tool for a live result.

enCaptions3:332 lines

Example transcript text.

This is illustrative, not the video's real captions.

Also available: en

Free, no signup. A limited number of lookups per visitor each hour. Public data only. Transcribing audio can take a few seconds.

How it works

Instagram does not publish captions for most reels, so the audio is transcribed. The tool sends your link to the universal transcript endpoint, which finds the platform from the URL. Reels, posts with video and /tv/ links work.

Use this in your app

This tool calls GET /v1/transcript. See the reference, or get early access for a key.

curl
curl -G "https://api.socialscrape.io/v1/transcript" \
  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \
  --data-urlencode "url=https://www.youtube.com/watch?v=dQw4w9WgXcQ"
Python
import os
import requests

params = {
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
}
res = requests.get(
    "https://api.socialscrape.io/v1/transcript",
    headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},
    params=params,
)
body = res.json()

if body["ok"]:
    print(body["data"])
else:
    print(body["error"]["code"], body["error"]["message"])
TypeScript
const url = new URL("https://api.socialscrape.io/v1/transcript");
url.search = new URLSearchParams({
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}).toString();
const res = await fetch(url, {
  headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },
});
const body = await res.json();

if (body.ok) {
  console.log(body.data);
} else {
  console.error(body.error.code, body.error.message);
}
n8n
{
  "nodes": [
    {
      "name": "SocialScrape Transcript from any video URL",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        0,
        0
      ],
      "parameters": {
        "method": "GET",
        "url": "https://api.socialscrape.io/v1/transcript",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "={{ $env.SOCIALSCRAPE_API_KEY }}"
            }
          ]
        }
      }
    }
  ],
  "connections": {}
}

Questions

How long can the video be?

Short reels work best. Long videos take longer, and in the API they cost one credit per started minute after the first two minutes.

Does it read the caption text of the post?

No. It returns the spoken words. The post caption is in the Instagram post endpoint.

Is this tool free?

Yes. No account and no card. Each visitor gets a limited number of lookups an hour, so it stays free for everyone.

How do I get this data in my own app?

Send GET /v1/transcript with your key in the x-api-key header. A request costs 1 credit for captions; AI transcription 1 up to 2 minutes, then 1 per started minute. A repeat of something fetched recently costs 0 credits, and failed requests are free. See the reference.