Content API
Download Instagram Content
Proxy download from Instagram CDN. Pass a CDN URL from stories, posts, or highlights to get the binary media file. Supports images and videos. URL must be from cdninstagram.com, fbcdn.net, or instagram.com.
GET
/api/downloadAuth: X-Api-Key header or Bearer JWTRate limits: Free: 25/day, Starter: 500/day, Growth: 5K/day, Scale: 50K/day. Burst: 60/min.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| url | query | string (URI) | Yes | Instagram CDN URL to download |
Response
json
Binary media (image/jpeg, image/png, video/mp4) with appropriate Content-Type headerCode Examples
cURL
curl "https://storiesfly.com/api/download?url=https://cdninstagram.com/..." \
-H "X-Api-Key: sf_live_your_key_here" \
-o media.jpgJavaScript
const res = await fetch(
`https://storiesfly.com/api/download?url=${encodeURIComponent(cdnUrl)}`,
{ headers: { "X-Api-Key": "sf_live_your_key_here" } }
);
const blob = await res.blob();
// Save or process the media filePython
import requests
response = requests.get(
"https://storiesfly.com/api/download",
params={"url": "https://cdninstagram.com/..."},
headers={"X-Api-Key": "sf_live_your_key_here"}
)
with open("media.jpg", "wb") as f:
f.write(response.content)FAQ
Why do I need a proxy download?
Instagram CDN URLs have expiring tokens and CORS restrictions. The download proxy handles authentication and serves the content with proper headers for client-side consumption.
What domains are allowed?
Only URLs from cdninstagram.com, fbcdn.net, and instagram.com are accepted. Other domains are rejected with a 403 error.
Related Endpoints
Last updated: March 4, 2026
