Instagram Video Downloader avatar

Instagram Video Downloader

Pricing

from $7.00 / 1,000 video downloadeds

Go to Apify Store
Instagram Video Downloader

Instagram Video Downloader

Download public Instagram videos and reels by URL — direct mp4 links, thumbnails, captions, owner, view/like counts. Carousels return one record per video child. MCP-ready, cookieless, HTTP-only.

Pricing

from $7.00 / 1,000 video downloadeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

7 days ago

Last modified

Share

Download public Instagram videos and reels by URL — get direct .mp4 download links, thumbnails, captions, owner data, view counts, and full metadata in seconds. Carousels are unwrapped into one record per video child. MCP-ready, cookieless, HTTP-only, agent-friendly.

What does Instagram Video Downloader do?

This actor turns any public Instagram Reel, video post, IGTV, or carousel URL into a structured record with a direct .mp4 download URL plus rich metadata — thumbnail, caption, owner handle, view/like/comment counts, audio track, dimensions, and post timestamp. It does the same thing as right-click → save, but for hundreds of URLs at a time, with clean JSON output.

Built for content repurposing, archival, social listening, ad creative analysis, and AI agent workflows. The actor calls a redundant pair of provider APIs (ScrapeCreators primary, SociaVault fallback), so when one rate-limits or returns 404 the other takes over automatically — that's how you get reliable video extraction without managing your own Instagram cookies.

Apify platform advantages: API access, scheduling, integrations with 5000+ apps, automatic retries, and a permanent dataset URL for every run.

Why use Instagram Video Downloader?

  • Repurpose content at scale — feed brand-owned Reels to your podcast/YouTube workflow without manual saves.
  • Archive public posts — keep mp4 + caption + metadata snapshot before an account goes private or a post is deleted.
  • Train AI models — pull video assets + captions for fine-tuning, vector indexing, or RAG.
  • Power AI agents — Claude / GPT / Gemini agents call this through Apify MCP to fetch a video by URL as part of larger tasks.
  • Competitor & ad analysis — pull rival brand Reels (caption, view count, posted-at, audio track) for benchmarking.
  • Carousel-aware — multi-video posts return one record per child, with carousel index and total.
  • No cookies, no login, no proxy headaches — provider APIs do the dirty work.

How to use Instagram Video Downloader

  1. Open the actor's Input tab.
  2. Paste one or more Instagram URLs into urls — Reels (/reel/<code>/), posts (/p/<code>/), or IGTV (/tv/<code>/). Bare 11-character shortcodes also work.
  3. Set maxVideos to cap PPE cost (default 100 → ~$0.70 max).
  4. Click Start.
  5. When the run finishes, open the Dataset tab to download videos and metadata as JSON, CSV, Excel, or HTML. Each row has a videoUrl field you can wget / curl directly.

Input

FieldTypeRequiredDefaultDescription
urlsarray of stringsyesInstagram Reel/post/IGTV URLs or 11-char shortcodes.
maxVideosintegerno100Hard cap on billable video records (1–10000).
proxyConfigurationobjectno{ useApifyProxy: true }Apify proxy config; datacenter is fine.

Example input:

{
"urls": [
"https://www.instagram.com/reel/DLDXI0fylTC/",
"https://www.instagram.com/p/C8Q1xyz9abc/",
"DMA4eb1RC0D"
],
"maxVideos": 50
}

Output

You can download the dataset in JSON, HTML, CSV, or Excel. Example record:

{
"videoUrl": "https://scontent-iad3-2.cdninstagram.com/o1/v/t16/.../video.mp4?...",
"thumbnailUrl": "https://scontent-iad3-1.cdninstagram.com/v/t51.../thumb.jpg?...",
"displayUrl": "https://scontent-iad3-1.cdninstagram.com/v/t51.../display.jpg?...",
"caption": "When the algorithm finally hits 🚀 #marketing #reels",
"durationSeconds": 84.666,
"width": 1080,
"height": 1920,
"hasAudio": true,
"viewCount": null,
"playCount": 425901,
"likeCount": 18234,
"commentCount": 412,
"postedAt": "2026-06-21T14:32:01.000Z",
"ownerUsername": "examplebrand",
"ownerFullName": "Example Brand",
"ownerVerified": true,
"ownerProfilePicUrl": "https://scontent-iad3-1.cdninstagram.com/v/t51.../pp.jpg?...",
"audioArtistName": "jane",
"audioSongName": "Original audio",
"usesOriginalAudio": true,
"shortcode": "DLDXI0fylTC",
"sourceUrl": "https://www.instagram.com/reel/DLDXI0fylTC/",
"mediaType": "reel",
"isCarousel": false,
"carouselIndex": null,
"carouselTotal": null,
"provider": "scrapecreators"
}

Data table

FieldTypeNotes
videoUrlstringDirect .mp4. Expires after a few hours — download promptly.
thumbnailUrlstringSquare thumb.
displayUrlstringFull-size poster image.
captionstring|nullRaw caption (hashtags + emojis intact).
durationSecondsnumber|nullVideo length.
width, heightint|nullPixels.
hasAudiobool|null
viewCount, playCountint|nullInstagram-only counts.
likeCount, commentCountint|null
postedAtISO string|nullUTC.
ownerUsername, ownerFullName, ownerVerified, ownerProfilePicUrlmixedOwner public info.
audioArtistName, audioSongName, usesOriginalAudiomixedReels only.
shortcodestring11-char IG code.
sourceUrlstringNormalized IG URL.
mediaTypestringreel, post, or igtv.
isCarousel, carouselIndex, carouselTotalmixedSidecar metadata.
providerstringscrapecreators or sociavault.

How much does it cost to download Instagram videos?

This actor uses Pay-Per-Event pricing:

  • $0.007 per video pushed to the dataset (one per Reel / video post / IGTV; one per video child for carousels).
  • $0.00005 per actor start (covers init + provider routing).

Cost examples:

InputVideos returnedApprox cost
1 single Reel URL1$0.007
10 mixed URLs (no carousels)10$0.07
100 Reels100$0.70
100 URLs (5 carousels avg 3 videos each → 110 records)110$0.77

Use the maxVideos input to set a hard ceiling on spend.

Tips & advanced options

  • Download videos fast. Instagram CDN URLs are time-signed and expire — pipe videoUrl to wget/curl within minutes, or store the bytes in your own object store.
  • Bulk archival — pair this actor with instagram-reels-scraper or instagram-hashtag-scraper to discover Reel URLs first, then feed them here.
  • Transcripts — pair with instagram-transcript-scraper when you also need spoken-audio text.
  • Cost capmaxVideos stops processing as soon as the cap is reached (cheaper than scheduling many tiny runs).
  • Carousels — the actor returns one dataset record per video child; photo children are skipped silently. If a carousel has only photos, the URL soft-fails with reason no_video_in_post.

FAQ

Does this work on private accounts? No. Only public Reels / posts / IGTV. Private posts soft-fail with reason not_found.

Does this work for deleted posts? No. Deleted posts return not_found from both providers and soft-fail.

Does this work for photo posts? The actor accepts any IG post URL but only emits records for posts containing at least one video. Photo-only posts soft-fail with reason no_video_in_post.

How long do videoUrl links stay valid? Hours, not days. Download or store the bytes promptly.

Will Instagram block me? You never hit Instagram directly — the actor calls provider APIs that handle Instagram-side blocking on their end. No cookies, no login, no IP burn for you.

Can I use this from an AI agent? Yes. The actor is published on Apify MCP and works with Claude, GPT, Gemini, and any MCP client. The tool description includes pricing and return shape so the agent can budget the call.

This actor scrapes only public Instagram data through publicly accessible URLs. You are responsible for complying with Instagram's Terms of Service, applicable copyright law, and any applicable data-protection regulations (GDPR, CCPA, etc.) when using the data this actor returns. Do not redistribute or commercially exploit content without the rights holder's permission. The actor does not bypass authentication, scrape private accounts, or store user credentials.

Support

Found a bug or have a feature request? Open an issue on the actor's Issues tab.