Instagram Video Downloader
Pricing
from $7.00 / 1,000 video downloadeds
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
7 days ago
Last modified
Categories
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
- Open the actor's Input tab.
- Paste one or more Instagram URLs into
urls— Reels (/reel/<code>/), posts (/p/<code>/), or IGTV (/tv/<code>/). Bare 11-character shortcodes also work. - Set
maxVideosto cap PPE cost (default 100 → ~$0.70 max). - Click Start.
- When the run finishes, open the Dataset tab to download videos and metadata as JSON, CSV, Excel, or HTML. Each row has a
videoUrlfield you canwget/curldirectly.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
urls | array of strings | yes | — | Instagram Reel/post/IGTV URLs or 11-char shortcodes. |
maxVideos | integer | no | 100 | Hard cap on billable video records (1–10000). |
proxyConfiguration | object | no | { 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
| Field | Type | Notes |
|---|---|---|
videoUrl | string | Direct .mp4. Expires after a few hours — download promptly. |
thumbnailUrl | string | Square thumb. |
displayUrl | string | Full-size poster image. |
caption | string|null | Raw caption (hashtags + emojis intact). |
durationSeconds | number|null | Video length. |
width, height | int|null | Pixels. |
hasAudio | bool|null | |
viewCount, playCount | int|null | Instagram-only counts. |
likeCount, commentCount | int|null | |
postedAt | ISO string|null | UTC. |
ownerUsername, ownerFullName, ownerVerified, ownerProfilePicUrl | mixed | Owner public info. |
audioArtistName, audioSongName, usesOriginalAudio | mixed | Reels only. |
shortcode | string | 11-char IG code. |
sourceUrl | string | Normalized IG URL. |
mediaType | string | reel, post, or igtv. |
isCarousel, carouselIndex, carouselTotal | mixed | Sidecar metadata. |
provider | string | scrapecreators 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:
| Input | Videos returned | Approx cost |
|---|---|---|
| 1 single Reel URL | 1 | $0.007 |
| 10 mixed URLs (no carousels) | 10 | $0.07 |
| 100 Reels | 100 | $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
videoUrltowget/curlwithin minutes, or store the bytes in your own object store. - Bulk archival — pair this actor with
instagram-reels-scraperorinstagram-hashtag-scraperto discover Reel URLs first, then feed them here. - Transcripts — pair with
instagram-transcript-scraperwhen you also need spoken-audio text. - Cost cap —
maxVideosstops 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.
Legal disclaimer
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.
