GitHubLog in
Instagram Profile Reels API

Instagram Profile Reels API

Lists a public Instagram account's Reels from its profile URL, newest first, a page at a time: shortcode, url, caption as the title, duration, account name, publish time and play count. since_video_id returns only Reels newer than the one given.

Page of results1 creditHowever many Reels it lists
Nothing new1 creditA since_video_id poll costs the same
Failed requestsFreeA request that fails costs nothing
Supported URLsprofile URL/reels/ URLAll URL formats
POST/api/v2/transcripts/channelidempotent

Body parameters

YouTube: @handle, /channel/UC… URL, or UC… ID. TikTok: profile URL (tiktok.com/@user). Instagram: profile URL (instagram.com/user/).

curl https://transcriptfetch.com/api/v2/transcripts/channel \
  -H "Authorization: Bearer $TRANSCRIPTFETCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"channel":"https://www.instagram.com/nasa/","limit":10}'
SuccessExample response envelope
{
  "ok": true,
  "request_id": "req_…",
  "data": {
    "kind": "video_list",
    "source": "channel_videos",
    "platform": "instagram",
    "videos": [
      {
        "videoId": "Dd1gQBsCWE8",
        "url": "https://www.instagram.com/reel/Dd1gQBsCWE8/",
        "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 ",
        "duration": 38,
        "channel": "nasa",
        "publishedAt": "2026-09-28T15:27:08Z",
        "stats": {
          "plays": 4661792
        }
      },
      {
        "videoId": "DdhFkS7KGkZ",
        "url": "https://www.instagram.com/reel/DdhFkS7KGkZ/",
        "title": "Our first Leader of the Uprising 🔥\n\nTune in on @paramountplus / @nfloncbs",
        "duration": 23,
        "channel": "nasa",
        "publishedAt": "2026-09-20T17:20:00Z",
        "stats": {
          "plays": 7201293
        }
      }
    ],
    "next_cursor": "eyJvIjoxMH0"
  },
  "usage": {
    "credits_spent": 1,
    "balance": 656,
    "bytes": 0
  }
}

Every Instagram endpoint

Frequently asked questions

How do I list an Instagram account's Reels?

POST the profile URL (instagram.com/user/) as channel with a limit. The platform is read from the URL. Keep sending data.next_cursor back as cursor for older Reels until it is null.

Does this replace the Instagram Graph API?

For reading a public account's Reels, yes: no Meta app, app review, access token or business account, only your TranscriptFetch API key. One page costs 1 credit.

Can I list a private account?

No. Only public profiles are reachable. A private or nonexistent profile answers 404 not_found and costs nothing.

How do I transcribe the Reels the list returns?

Send the rows' urls to the batch endpoint. Instagram has no caption track, so each Reel goes to AI Fallback Transcription, billed on delivery at its rate; a short Reel is one credit.