Instagram Video Download API
The Instagram Video Download API lets you download Reels, regular video posts, and IGTV in multiple formats and qualities. Returns a temporary, pre-signed download URL with title, duration, thumbnail, and file size. Same request shape as the YouTube Download API and TikTok Download API.
Endpoint
https://api.socialkit.dev/instagram/downloadExample Request
POST https://api.socialkit.dev/instagram/download
{
"access_key": "<your-access-key>",
"url": "https://www.instagram.com/reel/DRU4smMj0cu/",
"format": "mp4",
"quality": "720p"
}Response
{
"success": true,
"data": {
"url": "https://www.instagram.com/reel/DRU4smMj0cu/",
"title": "Video by yuumi_cat9",
"duration": "0:27",
"durationSeconds": 27.433,
"thumbnail": "https://instagram.ftlv1-1.fna.fbcdn.net/...",
"downloadUrl": "https://socialkit-downloads.s3.amazonaws.com/cache/instagram_DRU4smMj0cu_720p.mp4?...",
"fileSize": 5210953,
"fileSizeMB": "4.97 MB",
"format": "mp4",
"quality": "720p",
"expiresIn": "1 hour"
}
}Parameters
url string Required
The Instagram URL of the video to download. Works with /reel/, /reels/, /p/, and /tv/ URLs.
access_key string Required
Your API access key. Can be provided via the access_key query parameter, x-access-key header, or request body.
format string Optional Defaults to mp4
Output format for the download. Supported formats: mp4, mp3, avi, webm, m4a, ogg, wav.
quality string Optional Defaults to 720p
Video quality for the download. Supported qualities: 240p, 360p, 480p, 720p, 1080p. Most Reels publish at 720p. The quality parameter is ignored for audio-only formats.
Response Fields
url: The original Instagram URL you submittedtitle: The video title or captionduration: Human-readable video duration (MM:SS)durationSeconds: Video duration in secondsthumbnail: URL to the video thumbnaildownloadUrl: Pre-signed S3 URL to download the file (expires after 1 hour)fileSize: File size in bytesfileSizeMB: Human-readable file size in megabytesformat: The output format usedquality: The video quality used (or"audio"for audio-only formats)expiresIn: Time until the download URL expires ("1 hour")
Supported Formats
| Format | Type | Description |
|---|---|---|
| MP4 | Video | Standard video format (default, recommended) |
| AVI | Video | AVI video container |
| WebM | Video | WebM video container (VP8 / VP9) |
| MP3 | Audio | Standard MP3 audio |
| M4A | Audio | AAC audio. Closest to Instagram’s native audio. |
| OGG | Audio | OGG / Vorbis audio |
| WAV | Audio | Uncompressed WAV audio |
Caching Behavior
Repeat downloads of the same (shortcode, format, quality) tuple hit a deterministic S3 cache and return in under 2 seconds. Cache hits still count as 1 credit because the API call still happens, but you save the download time and the upstream bandwidth cost.
Use Cases
- Offline viewing: download Reels and Instagram videos for later
- Audio extraction: convert Reels to MP3 for podcast clipping or transcription
- Content archiving: keep copies of viral or at-risk Instagram content
- Content repurposing: download a Reel and re-cut for TikTok, YouTube Shorts, or X
- AI / RAG ingestion: feed raw MP4 into multi-modal models for object detection or training data
Notes
- Only public Instagram URLs work. Private accounts and posts require login and aren’t supported.
- Maximum file size per download is 30MB. Covers nearly every standard Reel. Long-form IGTV videos may exceed this.
- Download URLs expire after 1 hour. Re-request to refresh. Cache hits make the refresh near-instant.
- Audio-only formats (
mp3,m4a,ogg,wav) extract the audio track from the video. - The
qualityparameter applies to video formats only. - 1 successful download = 1 credit. Failed requests are free.