How to get Instagram channel reels
GET request to /v1/instagram/channel-reels with your input. You get clean JSON back in seconds for ~6 credits (0.3/result) per call — no OAuth, scraping or platform SDKs. Get the latest Reels from any public Instagram profile — video URL, caption, views, likes, comments, and duration for each Reel, with cursor pagination for older ones.How to get Instagram channel reels (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 Instagram Channel Reels API
Send an authenticated GET request to /v1/instagram/channel-reels 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/instagram/channel-reels?url=https%3A%2F%2Fwww.instagram.com%2Fcristiano%2F" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"url": "https://www.instagram.com/cristiano/",
"totalReturned": 3,
"reels": [
{
"platform": "instagram",
"url": "https://www.instagram.com/reel/DabKed0MBRm/",
"id": "3934784773501752422",
"postType": "Video",
"productType": "clips",
"caption": "Por todos. Por 𝗣𝗢𝗥𝗧𝗨𝗚𝗔𝗟. 🎗️🇵🇹 #VaiDarPortugal \n\nFor everyone. For 𝗣𝗢𝗥𝗧𝗨𝗚𝗔𝗟. 🎗️🇵🇹 #ItsPortugalTime",
"description": "Por todos. Por 𝗣𝗢𝗥𝗧𝗨𝗚𝗔𝗟. 🎗️🇵🇹 #VaiDarPortugal \n\nFor everyone. For 𝗣𝗢𝗥𝗧𝗨𝗚𝗔𝗟. 🎗️🇵🇹 #ItsPortugalTime",
"publishedAt": "2026-07-05T20:23:34Z",
"durationSeconds": 43.4,
"thumbnailUrl": "https://scontent-ham3-1.cdninstagram.com/v/t51.82787-15/735415699_18606606883054533_8185581534148167588_n.jpg?...",
"videoUrl": "https://scontent-ham3-1.cdninstagram.com/o1/v/t2/f2/m86/AQOZ-XzJOT5OaiKkSWI8_rvZDNemAlRbnj6HkrsVPoqI0ansFYZltF-y2953cxfuv-jSg-XuNO3kEar8H03wckE8XaOx3OK8T3-4KMM.mp4?...",
"author": {
"username": "portugal",
"displayName": "Portugal",
"url": "https://instagram.com/portugal",
"verified": true,
"profileImage": "https://scontent-ham3-1.cdninstagram.com/v/t51.82787-19/655235091_18574607485054533_3430348023607180141_n.jpg?..."
},
"engagement": {
"views": 130177231,
"likes": 6373324,
"comments": 257545
},
"hashtags": [
"VaiDarPortugal",
"ItsPortugalTime"
],
"mentions": []
},
{
"platform": "instagram",
"url": "https://www.instagram.com/reel/DaU63nnAkoo/",
"id": "3933027283400542760",
"postType": "Video",
"productType": "clips",
"caption": "Toronto ❤️",
"description": "Toronto ❤️",
"publishedAt": "2026-07-03T10:18:59Z",
"durationSeconds": 46.333,
"thumbnailUrl": "https://scontent-ham3-1.cdninstagram.com/v/t51.82787-15/731058572_18747860116056421_8724303327878739257_n.jpg?...",
"videoUrl": "https://scontent-ham3-1.cdninstagram.com/o1/v/t2/f2/m86/AQNreyyq7N-5e2XVjCTkh7BFZ0wKTqOpSD3ZllobCy3C3rRiPuA_64qi66ngwZ-jwgG-66Q57v2G1V3Rvr21y-HGUbMJLY21NY_M8vk.mp4?...",
"author": {
"username": "cristiano",
"displayName": "Cristiano Ronaldo",
"url": "https://instagram.com/cristiano",
"verified": true,
"profileImage": "https://scontent-ham3-1.cdninstagram.com/v/t51.2885-19/472007201_1142000150877579_994350541752907763_n.jpg?...",
"followers": 676417576
},
"engagement": {
"views": 191553390,
"likes": 17537560,
"comments": 341631
},
"hashtags": [],
"mentions": []
},
{
"platform": "instagram",
"url": "https://www.instagram.com/reel/DaSz9gXgFla/",
"id": "3932433951662037338",
"postType": "Video",
"productType": "clips",
"caption": "Before the awards.\nBefore the leagues.\nBefore the globe wore 7.\n\nFrom a small island in the Atlantic to the world stage, @Cristiano shattered records along the way — proving that where you start doesn't determine where you finish.",
"description": "Before the awards.\nBefore the leagues.\nBefore the globe wore 7.\n\nFrom a small island in the Atlantic to the world stage, @Cristiano shattered records along the way — proving that where you start doesn't determine where you finish.",
"publishedAt": "2026-07-02T14:31:49Z",
"durationSeconds": 30.037,
"thumbnailUrl": "https://scontent-ham3-1.cdninstagram.com/v/t51.82787-15/730475969_18608185318016159_1358384897120211657_n.jpg?...",
"videoUrl": "https://scontent-ham3-1.cdninstagram.com/o1/v/t2/f2/m86/AQNsM4Cz3wiCY9HbNolCc-oVALHL50LiQGdb_f2isa618TZUlDdGGH0I3Qsw1450pwkL_aY6PiYy_3r221K5nHutIHQ78p8-NvuDaG0.mp4?...",
"author": {
"username": "whoop",
"displayName": "WHOOP",
"url": "https://instagram.com/whoop",
"verified": true,
"profileImage": "https://scontent-ham3-1.cdninstagram.com/v/t51.82787-19/712306922_18597675370016159_2436545821614461300_n.jpg?..."
},
"engagement": {
"views": 103164783,
"likes": 5014316,
"comments": 30005
},
"hashtags": [],
"mentions": [
"Cristiano"
]
}
],
"nextCursor": "3885465807534181465_173560420",
"hasMore": true
}
}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 | Instagram profile URL, @handle, or username, e.g. https://instagram.com/username/. 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. |
| limit | integer | No | Max items to return (default 20, max 200). Billed per result. |
| cursor | string | No | Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (e.g. 3937158245004702478_12281817). A null nextCursor means the end of the list. |
| cache | boolean | No | Set true to serve from the 24h response cache. Default false — always fetch fresh data. |
Frequently asked questions
What does the Instagram Channel Reels API do?
The Instagram Channel Reels API lets you list items in bulk with metadata from a public Instagram channel reels using one GET request to /v1/instagram/channel-reels. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Instagram Channel Reels API cost?
At the default limit this endpoint costs 6 credits (0.3 per result). Billing scales with how many results you request. 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 Instagram 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.
Is the Instagram Channel Reels 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 Instagram channel reels?
Start free with 100 credits — no credit card required.
Get your free API key