Instagram data API

Instagram Downloader API

Instagram's media links expire and cannot always be fetched from a browser. Send one to the Downloader API and receive a time-limited download link to a stored copy: an MP4 (even in merged HD), an MP3 or an image.

Request

POST /v1/downloads · 1 to 5 credits per successful call

cURL
curl -X POST "https://api.igramapi.com/v1/downloads" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"video","url":"https://scontent.cdninstagram.com/v/example/v1080.mp4","audio_url":"https://scontent.cdninstagram.com/v/example/a.mp4","filename":"behind-the-scenes"}'

Response

200 OK · application/json
{
  "download_url": "https://download.example.com/files/behind-the-scenes.mp4?signature=example",
  "expires_at": "2026-10-31T12:00:00Z",
  "filename": "behind-the-scenes.mp4",
  "content_type": "video/mp4",
  "size_bytes": 4100000
}

All values above are made-up examples. Media links are temporary Instagram CDN addresses.

Parameters

NameInDescription
typerequired body video, audio or image.
urlrequired body A media URL from another endpoint's response.
audio_url body Audio stream to merge into the video (when a quality lists one).
filename body Optional file name for the download.

Response fields

FieldTypeDescription
download_urlstringTime-limited link to the stored file.
expires_atstring (ISO 8601)When the link stops working.
filename / content_type / size_bytesstring / string / integerFile details.

HD with sound

Pass a video URL and its audio_url and get one merged MP4.

MP3 extraction

Use type audio with a video URL to get an MP3.

Photos too

Use type image for thumbnails, slides and profile pictures.

Fast repeats

Identical requests reuse the stored copy, so the second one is quick.

How downloads work

You call the Downloader API with a media URL taken from another IGramAPI response. The service fetches the file, prepares it (merging video and audio when needed) and returns a link to a stored copy. Download from that link directly, with no API key, until expires_at.

Only Instagram media addresses are accepted. Anything else is rejected with an invalid_media_url error, which costs nothing.

Pricing per file type

A plain video costs 2 credits, a merged HD video 5, an MP3 1 and an image 1. If the media link has already expired you receive media_url_expired without being charged; fetch fresh data and try again.

Respect creators' rights. Download only content you are allowed to use.

Frequently asked questions

Why not just use the CDN link directly?

CDN links expire, and browsers often cannot download them cross-origin. The Downloader API gives you a link that works in a browser or a server.

How long does the download link last?

About an hour. Request a new link after `expires_at`.

Can I get 1080p with sound?

Yes. When a quality lists an `audio_url`, send both URLs and receive a merged MP4.

Do I need an API key to download the file?

No. The download link works on its own until it expires.

Errors cost nothing. Any response with a status of 400 or above is refunded, and every error has the same shape. See error handling and credits and rate limits.

Try the Downloader API free

Create a key and make your first request in minutes. 100 free credits every month.