API ReferenceInstagram Video Download API

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/download

Example 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 submitted
  • title: The video title or caption
  • duration: Human-readable video duration (MM:SS)
  • durationSeconds: Video duration in seconds
  • thumbnail: URL to the video thumbnail
  • downloadUrl: Pre-signed S3 URL to download the file (expires after 1 hour)
  • fileSize: File size in bytes
  • fileSizeMB: Human-readable file size in megabytes
  • format: The output format used
  • quality: The video quality used (or "audio" for audio-only formats)
  • expiresIn: Time until the download URL expires ("1 hour")

Supported Formats

FormatTypeDescription
MP4VideoStandard video format (default, recommended)
AVIVideoAVI video container
WebMVideoWebM video container (VP8 / VP9)
MP3AudioStandard MP3 audio
M4AAudioAAC audio. Closest to Instagram’s native audio.
OGGAudioOGG / Vorbis audio
WAVAudioUncompressed 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 quality parameter applies to video formats only.
  • 1 successful download = 1 credit. Failed requests are free.