Reel, post & carousel downloader
Direct HD video and photo links from any reel, post or carousel link.
See request & response →10 endpoints · 100 free requests
Buy a fast, reliable Instagram API. Download HD reels, posts and carousels, read profiles, feeds, stories, highlights and comments, and resolve audio tracks, all over one simple REST API. Start with 100 free requests, then pay once for credits that never expire.
No card needed. Verify your e-mail and run any endpoint in the playground.
curl -X POST "https://api.teraboxdl.site/v1/instagram/reel" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/reel/DeSX7IaAIUu/"}'{
"status": "success",
"credits_remaining": 99,
"data": {
"media_type": "video",
"video_url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/reel.mp4?...",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"username": "natgeo",
"caption": "Golden hour over the Serengeti. 🌅 #wildlife",
"duration": 14.8,
"play_count": 2481930,
"like_count": 184200
}
}10 endpoints behind one API key. Every one returns clean JSON, and a failed request is never charged.
Direct HD video and photo links from any reel, post or carousel link.
See request & response →Name, bio, followers, verified badge and HD avatar of any public account.
See request & response →The uncropped 1080p profile picture, not the 150px thumbnail.
See request & response →Photos, carousels and videos of an account, page by page.
See request & response →Every reel of a creator with direct MP4 links, page by page.
See request & response →All active 24-hour stories of an account, or one story from its link.
See request & response →An account's highlight albums, or the stories inside one album.
See request & response →Public comments of a post or reel, with authors and likes.
See request & response →Title, artist, cover art and a direct audio stream for a reel's sound.
See request & response →Credits left, requests used, plan and rate limit. Free.
See request & response →These are the real response shapes. Create a free account to run them yourself against live data.
Send one Instagram link and get every media file behind it: the HD video URL, all carousel slides in order, thumbnail, caption, author, play / like / comment counts and the sound used.
curl -X POST "https://api.teraboxdl.site/v1/instagram/reel" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.instagram.com/reel/DeSX7IaAIUu/"}'import requests
res = requests.post(
"https://api.teraboxdl.site/v1/instagram/reel",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"url": "https://www.instagram.com/reel/DeSX7IaAIUu/"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/reel", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({"url":"https://www.instagram.com/reel/DeSX7IaAIUu/"}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/reel");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
"Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"url":"https://www.instagram.com/reel/DeSX7IaAIUu/"}');
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"success": true,
"shortcode": "DeSX7IaAIUu",
"media_type": "video",
"video_url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/reel.mp4?...",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"media_list": [
{
"type": "video",
"url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/reel.mp4?...",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?..."
}
],
"caption": "Golden hour over the Serengeti. 🌅 #wildlife",
"username": "natgeo",
"duration": 14.8,
"play_count": 2481930,
"like_count": 184200,
"comment_count": 1290,
"reshare_count": 5400,
"author_full_name": "National Geographic",
"author_profile_pic": "https://scontent.cdninstagram.com/v/t51.2885-19/sample_dp.jpg?...",
"audio_url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/audio.mp4?...",
"audio_title": "Original audio",
"audio_artist": "natgeo",
"is_paid_partnership": false,
"is_cached": false,
"refreshed": false
}
}Send the link as JSON: { "url": "…" }.
Run it free →Resolve a reel's sound to its track details and a direct audio stream: title, artist, duration, cover art, how many reels use it and whether it is trending.
curl -X GET "https://api.teraboxdl.site/v1/instagram/audio?audio_id=277765363103643" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/audio",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"audio_id": "277765363103643"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/audio?audio_id=277765363103643", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/audio?audio_id=277765363103643");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"status": "success",
"audio_id": "277765363103643",
"audio_type": "licensed_music",
"title": "Blinding Lights",
"artist": {
"id": "1234",
"username": "theweeknd",
"full_name": "The Weeknd",
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/e.jpg?...",
"is_verified": true
},
"duration_ms": 200040,
"duration": 200.04,
"cover_artwork_url": "https://scontent.cdninstagram.com/v/t51.2885-15/cover_art.jpg?...",
"download_url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/track.mp4?...",
"preview_url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/preview.mp4?...",
"formatted_clips_count": "7.9K reels",
"clips_count": 7900,
"is_trending": true,
"canonical_url": "https://www.instagram.com/reels/audio/277765363103643/",
"sample_reels": [],
"cached": false,
"execution_time_ms": 611.9,
"source": "instagram_comet"
}
}Send audio_id or url.
Run it free →Public profile header: full name, biography, external link, follower / following / post counts, verified and private flags, and the profile picture.
curl -X GET "https://api.teraboxdl.site/v1/instagram/profile?username=natgeo" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/profile",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"username": "natgeo"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/profile?username=natgeo", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/profile?username=natgeo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"success": true,
"user_id": "787132",
"user": {
"username": "natgeo",
"full_name": "National Geographic",
"biography": "Inspiring the explorer in everyone.",
"external_url": "https://www.nationalgeographic.com",
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/sample_hd.jpg?...",
"is_private": false,
"is_verified": true,
"stats": {
"followers_count": 283000000,
"following_count": 168,
"posts_count": 31450
}
},
"posts": [],
"total_posts_fetched": 0,
"is_cached": false
}
}Only a successful answer uses a credit. Errors are free.
Run it free →Returns the full-resolution profile picture URL with the account's headline numbers. Use it for avatars, link previews and media kits.
curl -X GET "https://api.teraboxdl.site/v1/instagram/profile-picture?username=natgeo" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/profile-picture",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"username": "natgeo"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/profile-picture?username=natgeo", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/profile-picture?username=natgeo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"success": true,
"username": "natgeo",
"full_name": "National Geographic",
"biography": "Inspiring the explorer in everyone.",
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/sample_hd_1080.jpg?...",
"is_hd": true,
"is_verified": true,
"user_id": "787132",
"follower_count": 283000000,
"following_count": 168,
"posts_count": 31450
}
}Only a successful answer uses a credit. Errors are free.
Run it free →The timeline of an account: photos, carousel albums and videos with captions, counts, timestamps and direct download URLs. Pass the returned end_cursor as max_id to load the next page.
curl -X GET "https://api.teraboxdl.site/v1/instagram/posts?username=natgeo" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/posts",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"username": "natgeo"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/posts?username=natgeo", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/posts?username=natgeo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"success": true,
"username": "natgeo",
"user_id": "787132",
"posts": [
{
"shortcode": "DBxyz12345",
"media_id": "3491029384910293",
"type": "carousel",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"caption": "Golden hour over the Serengeti. 🌅 #wildlife",
"like_count": 184200,
"comment_count": 1290,
"duration": 0,
"created_at_timestamp": 1729012300,
"download_urls": [
{
"type": "video",
"url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/reel.mp4?...",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"quality": "HD Video"
}
]
},
{
"shortcode": "DBabc67890",
"media_id": "3491029384910293",
"type": "image",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"caption": "Golden hour over the Serengeti. 🌅 #wildlife",
"like_count": 184200,
"comment_count": 1290,
"duration": 0,
"created_at_timestamp": 1729012300,
"download_urls": [
{
"type": "image",
"url": "https://scontent.cdninstagram.com/v/t51.2885-15/photo.jpg?...",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"quality": "High Resolution"
}
]
}
],
"total_posts_fetched": 12,
"page_info": {
"has_next_page": true,
"end_cursor": "QVFBWk9fRmt3OTRBbmtvSW1QMXFv..."
},
"is_cached": false
}
}Also available as /v1/instagram/user-posts.
Run it free →The reels tab of an account with direct video URLs, thumbnails, durations and counts, plus a cursor for the next page.
curl -X GET "https://api.teraboxdl.site/v1/instagram/user-reels?username=natgeo" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/user-reels",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"username": "natgeo"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/user-reels?username=natgeo", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/user-reels?username=natgeo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"success": true,
"username": "natgeo",
"user_id": "787132",
"user": {
"username": "natgeo",
"full_name": "National Geographic",
"biography": "Inspiring the explorer in everyone.",
"external_url": "https://www.nationalgeographic.com",
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/sample_hd.jpg?...",
"is_private": false,
"is_verified": true,
"stats": {
"followers_count": 283000000,
"following_count": 168,
"posts_count": 31450
}
},
"reels": [
{
"shortcode": "C9ABC12345",
"media_id": "3491029384910293",
"type": "video",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"caption": "Golden hour over the Serengeti. 🌅 #wildlife",
"like_count": 184200,
"comment_count": 1290,
"duration": 14.8,
"created_at_timestamp": 1729012300,
"download_urls": [
{
"type": "video",
"url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/reel.mp4?...",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/thumb.jpg?...",
"quality": "HD Video"
}
]
}
],
"total_reels_fetched": 12,
"page_info": {
"has_next_page": true,
"end_cursor": "QVFBWk9fRmt3OTRBbmtvSW1QMXFv..."
},
"is_cached": false
}
}Also available as /v1/instagram/reels.
Run it free →Current stories of a public account as direct MP4 / JPG links with expiry timestamps, or a single story resolved from its link. Viewing is anonymous: the account owner is not notified.
curl -X GET "https://api.teraboxdl.site/v1/instagram/stories?username=natgeo" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/stories",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"username": "natgeo"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/stories?username=natgeo", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/stories?username=natgeo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"success": true,
"username": "natgeo",
"user_id": "787132",
"stories_count": 1,
"stories": [
{
"story_id": "3391029384910293",
"type": "video",
"media_url": "https://scontent.cdninstagram.com/o1/v/t16/f2/m86/story.mp4?...",
"thumbnail": "https://scontent.cdninstagram.com/v/t51.2885-15/story_thumb.jpg?...",
"duration": 15,
"taken_at_timestamp": 1718931200,
"expiring_at_timestamp": 1719017600,
"has_audio": true
}
],
"highlights_count": 0,
"highlights": []
}
}Send username or url. An account with no active story returns an error and costs nothing.
Run it free →Two steps: list an account's highlight albums with userId or username, then pass a highlightId (or link) to get every story inside that album.
curl -X GET "https://api.teraboxdl.site/v1/instagram/highlights?username=natgeo" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/highlights",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"username": "natgeo"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/highlights?username=natgeo", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/highlights?username=natgeo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"success": true,
"username": "natgeo",
"highlights_count": 2,
"highlights": [
{
"highlight_id": "17982910293840000",
"title": "Ocean life",
"cover_image_url": "https://scontent.cdninstagram.com/v/t51.2885-15/cover.jpg?...",
"media_count": 8
},
{
"highlight_id": "18029182390190000",
"title": "Wildlife",
"cover_image_url": "https://scontent.cdninstagram.com/v/t51.2885-15/cover2.jpg?...",
"media_count": 14
}
],
"stories_count": 0,
"stories": []
}
}userId works like username; url works like highlightId.
Run it free →Comment text, author (with verified flag and avatar), likes, reply counts and timestamps for a post or reel, 1–50 per page. Pass page_info.end_cursor as cursor for the next page.
curl -X GET "https://api.teraboxdl.site/v1/instagram/comments?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FDeSX7IaAIUu%2F&page_size=24" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/comments",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"url": "https://www.instagram.com/reel/DeSX7IaAIUu/", "page_size": "24"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/comments?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FDeSX7IaAIUu%2F&page_size=24", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/comments?url=https%3A%2F%2Fwww.instagram.com%2Freel%2FDeSX7IaAIUu%2F&page_size=24");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"cached": false,
"credits_remaining": 99,
"data": {
"status": "success",
"success": true,
"shortcode": "DeSX7IaAIUu",
"media_id": "3491029384910293",
"total_comments": 1290,
"comments_count": 2,
"page_info": {
"has_next_page": true,
"end_cursor": "QVFBWk9fRmt3OTRBbmtvSW1QMXFv..."
},
"comments": [
{
"id": "18012345678901234",
"text": "Absolutely stunning! 😍",
"created_at": 1729015000,
"like_count": 412,
"child_comment_count": 3,
"parent_comment_id": null,
"user": {
"id": "5512093",
"username": "wanderlust.mia",
"full_name": "Mia",
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/c.jpg?...",
"is_verified": false
}
},
{
"id": "18098765432109876",
"text": "Where is this?",
"created_at": 1729015900,
"like_count": 37,
"child_comment_count": 1,
"parent_comment_id": null,
"user": {
"id": "9981234",
"username": "trek_daily",
"full_name": "Trek Daily",
"profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/d.jpg?...",
"is_verified": true
}
}
],
"cached": false,
"execution_time_ms": 842.3,
"source": "instagram_graphql"
}
}Send url or shortcode.
Run it free →Check your remaining requests, how many you have used, your plan and your per-minute limit. Calling it never costs a request.
curl -X GET "https://api.teraboxdl.site/v1/instagram/balance" \
-H "X-API-Key: YOUR_API_KEY"import requests
res = requests.get(
"https://api.teraboxdl.site/v1/instagram/balance",
headers={"X-API-Key": "YOUR_API_KEY"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/balance", {
method: "GET",
headers: {
"X-API-Key": "YOUR_API_KEY",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);<?php
$ch = curl_init("https://api.teraboxdl.site/v1/instagram/balance");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));{
"status": "success",
"email": "[email protected]",
"plan": "Instagram Pro",
"tier": "paid",
"instagram_credits": 99850,
"instagram_requests_used": 150,
"total_ever": 100000,
"rate_limit_per_minute": 200,
"is_active": true
}Only a successful answer uses a credit. Errors are free.
Run it free →Sign up, verify your e-mail and 100 requests are added to your balance. No card needed.
Pick an endpoint, paste a username or link and press Run. See the live answer, the cost and ready-made code.
Copy the snippet into your bot or app. When the free requests are used, buy a pack once; it never expires.
Paste a reel link, send the video back. The reel and audio endpoints cover the whole flow in a single call.
Resolve reels, posts, carousels, stories and highlights to direct media links for your own downloader site or app.
Track followers, posts, reels, comments and engagement counts of public accounts over time.
Pull the profile details and the full-HD profile picture instead of a 150px thumbnail.
Save your own or licensed content, every carousel slide and reel, with captions and timestamps.
Resolve any reel sound to title, artist, cover art, usage count and a trending flag.
One credit per successful request, the same on every endpoint. Packs stack, so you can top up whenever you like.
₹0no card
100 requests
30 requests / minute
Test every endpoint with real data before you pay anything.
₹499once · ~$6
25,000 requests
120 requests / minute · ₹19.96 per 1,000
Personal bots, MVPs and small utility apps.
₹1,899once · ~$23
100,000 requests
200 requests / minute · ₹18.99 per 1,000
Telegram bots, downloader sites and creator tools.
₹8,499once · ~$100
500,000 requests
350 requests / minute · ₹17.00 per 1,000
Multi-threaded systems and bot fleets.
₹14,999once · ~$180
1,000,000 requests
500 requests / minute · ₹15.00 per 1,000
Platforms and large bot fleets. ₹0.015 per request.
Pay with UPI (PhonePe, Google Pay, Paytm, BHIM). Outside India, or need more than 500 requests a minute? Talk to us on Telegram. Dollar amounts are approximate.
| IGramAPI | Marketplace APIs | Self-hosted scraping |
|---|---|---|
| Credits never expire | Monthly quotas that reset; unused calls are lost | n/a |
| Billed only when a request succeeds | Usually billed per call, failures included | n/a |
| Sessions, proxies and anti-bot handled for you | Varies by seller | You run accounts, residential proxies and constant fixes |
| Pay once, no subscription | Recurring monthly plan | Servers and proxy bills every month |
| Reels, stories, highlights, comments and audio in one API | Often split across several products | You build and maintain every scraper |
An Instagram API is an HTTP interface that lets your code read Instagram data without opening the app. You send a request (a reel link or a username) and receive structured JSON: media URLs, captions, counts, profile details. Developers use it for downloader bots, analytics dashboards, creator tools and archiving.
Meta's Instagram Graph API is designed for businesses and creators managing their own accounts. You register an app, pass app review, and users authorize it with access tokens, so it only reaches accounts that have connected to your app. It does not give you direct download links for any public reel, a competitor's feed, or active stories.
IGramAPI is built for the public-data case. You send a link or a username and get back direct HD media URLs, profile data, feeds, stories, highlights, comments and audio, with sessions, proxies and anti-bot handling managed for you. You do not need an approved app or a connected account.
Send your key in the X-API-Key header. That is the whole authentication story.
import requests
res = requests.post(
"https://api.teraboxdl.site/v1/instagram/reel",
headers={"X-API-Key": "YOUR_API_KEY"},
json={"url": "https://www.instagram.com/reel/DeSX7IaAIUu/"},
timeout=30,
)
res.raise_for_status()
print(res.json())const res = await fetch("https://api.teraboxdl.site/v1/instagram/reel", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({"url":"https://www.instagram.com/reel/DeSX7IaAIUu/"}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);Step-by-step guides: Instagram API with Python, Instagram API with Node.js and building an Instagram downloader Telegram bot. The full API reference lists every parameter and error.
Use it responsibly. The API only returns public content. You are responsible for respecting copyright, privacy law and Instagram's terms in how you use the data. IGramAPI is not legal advice and is not affiliated with Meta.
Yes. Every verified account gets 100 free requests, no card needed and no expiry. Sign up, verify your e-mail and run any endpoint in the API Playground.
Credit packs are paid once and never expire: Starter ₹499 for 25,000 requests, Pro ₹1,899 for 100,000, Ultra ₹8,499 for 500,000 and Mega ₹14,999 for 1,000,000 (₹0.015 per request). Pay with UPI (PhonePe, Google Pay, Paytm, BHIM). Outside India, message us on Telegram and we will arrange it.
No. Packs have lifetime validity and stack on top of your existing balance, so you can top up whenever you like.
No. One credit is taken only when a request succeeds. Private accounts, deleted posts, bad links, timeouts and upstream errors cost nothing.
Reels, posts and carousels (HD video and every slide), profile details and the HD profile picture, user posts and reels feeds, stories, highlights, post comments and audio tracks.
No. Session rotation, proxies and anti-bot handling run on our side. You send a link or username and get clean JSON.
Cached answers come back in milliseconds; a fresh extraction usually takes one to three seconds. Cache lifetimes are listed on every endpoint.
Send your API key in the X-API-Key header. Your key and secret are in your dashboard and in the welcome e-mail.
Meta's Instagram Graph API is built for businesses and creators who manage their own accounts. It needs app review and access tokens, and it does not return download links for any public reel, story or profile you choose. IGramAPI covers that public-data use case: send a link or username, get JSON back.
No. Only public content is available. A private account, a deleted post or an unavailable story returns an error, and an error never costs a credit.
Yes, those are the most common uses. Pick a pack that fits your traffic: the per-minute limit rises from 120 on Starter to 500 on Mega. Read the Terms for the details on commercial use.
Any language that can send an HTTP request. Ready-made snippets are included for cURL, Python, Node.js and PHP, and the request is the same everywhere: one header (X-API-Key) and a link or a username.
Create a free account, choose a pack and pay with UPI. Credits are added to your account and your API key is in your dashboard. Outside India, message us on Telegram and we will arrange payment.
100 free requests, every endpoint, no card. Buy a pack only when you are sure.