Instagram Reels & Video Downloader
Pricing
$5.99/month + usage
Instagram Reels & Video Downloader
A fast, reliable Instagram Video & Reels Downloader that extracts high-quality media, duration, formats count, thumbnail, title ,requested reslutions. Supports public posts, batch downloads, and smart parsing for research, archiving, analytics, and content monitoring.
Pricing
$5.99/month + usage
Rating
0.0
(0)
Developer

Neuro Scraper
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
8 days ago
Last modified
Categories
Share
π Instagram Video and Reels Downloader Actor
One-line hero: Instantly fetch Instagram videos & Reels at scale β reliable downloads, safe storage, and enterprise-ready uploads in seconds.
π Short summary
A production-ready Apify Actor that discovers and downloads Instagram media (regular videos and Reels), merges audio/video when needed, and securely stores results in Apify Key-Value Store or Dataset β plug-and-play for fast results.
π‘ Use cases / When to use
- Collect public Instagram videos and Reels for analytics or archives.
- Batch export videos to a secure Key-Value Store for downstream processing.
- Create offline backups of frequently updated Instagram content.
- Integrate media fetch into pipelines for ML, moderation, or content migration.
β‘ Quick Start (Console β one-click)
- Open this Actor in Apify Console.
- Paste your input JSON (see
input.example.json). - Click Run β get results in seconds.

βοΈ Quick Start (CLI + API)
CLI (one-liner)
$apify run --actor <OWNER>/<ACTOR_NAME> --input input.example.json
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient('<APIFY_TOKEN>')run = client.actor('OWNER/ACTOR_NAME').call(input={'startUrls': ['https://www.instagram.com/p/EXAMPLE/'],'download': True,'desired_resolution': '1080p'})print('Run started:', run['id'])
π Inputs (fields & schema)
Console JSON example β see input.example.json file for copy-paste.
Top-level input fields (concise):
{"startUrls": ["https://www.instagram.com/p/EXAMPLE/","https://www.instagram.com/reel/EXAMPLE/"],"download": true,"desired_resolution": "1080p","merge_if_ffmpeg": true,"save_videos_to_kv": true,"remove_local_files": false,"cookie_file": null,"proxyConfiguration": {},"maxConcurrency": 3}
βοΈ Configuration
| π Name | π Type | β Required | βοΈ Default | π Example | π§ Notes |
|---|---|---|---|---|---|
| startUrls | array | β Yes | [] | ["https://.../p/ID/", "https://.../reel/ID/"] | One or more Instagram media URLs to download |
| download | boolean | βοΈ Optional | false | true | If true, media will be downloaded and optionally uploaded |
| desired_resolution | string | βοΈ Optional | "1080p" | "720p" | Preferred resolution (1080p/720p/480p/360p) |
| merge_if_ffmpeg | boolean | βοΈ Optional | false | true | Merge video+audio when separate (requires ffmpeg) |
| save_videos_to_kv | boolean | βοΈ Optional | true | true | Upload downloaded media to Apify Key-Value Store |
| remove_local_files | boolean | βοΈ Optional | false | false | Remove temporary files after upload |
| cookie_file | string | βοΈ Optional | null | "cookies.txt" | Use for private/protected content (upload as secret) |
| proxyConfiguration | object | βοΈ Optional | {} | {"useApifyProxy": true} | Apify Proxy config object or custom proxy settings |
| maxConcurrency | integer | βοΈ Optional | 3 | 3 | Number of concurrent downloads (tune for your plan) |
Console setup hint: Paste the JSON example into the Actor input field, adjust startUrls and flags, then click Run.
π Outputs (Dataset / KV examples)
This Actor writes per-run aggregated metadata to the Key-Value Store under the OUTPUT key and pushes per-item objects to the default Dataset.
Example output object (single item)
{"url": "https://www.instagram.com/reel/EXAMPLE/","title": "Sample Title","uploader": "uploader_name","duration": 34,"formats_count": 5,"requested_resolution": "1080p","download_links": {"merged_video":"https://..."},"downloaded_file": "Sample_Title.mp4","kv_media_key": "MEDIA_abcdef123456_Sample_Title.mp4"}
Explanation:
OUTPUT(KVS) β aggregated array of all results for easy programmatic consumption.- Dataset rows β per-URL metadata and download/upload status.
π Environment Variables
APIFY_TOKENβ required for CLI/API runs. Use placeholder:<APIFY_TOKEN>.- Custom proxies: use placeholders like
<PROXY_USER:PASS@HOST:PORT>when configuring secrets.
Always store tokens and proxy credentials in Apify Console Secrets; do not place secrets in plain input JSON.
βΆοΈ How to Run (Console, CLI, API)
Console
- Open Actor page in Apify Console.
- Paste
input.example.jsoninto the Input field. - Click Run. Monitor logs and results in the Console UI.
CLI
$apify run --actor <OWNER>/<ACTOR_NAME> --input input.example.json
API (Python) β see Quick Start above for snippet.
β° Scheduling & Webhooks
- Schedule periodic runs using Apify Console Scheduler (cron-style). Use
maxConcurrencyto control load. - Configure Webhooks in Console to receive a POST when a run finishes β ideal for downstream pipelines.
πΎοΈ Logs & Troubleshooting
-
Check run logs in Apify Console for per-item extraction and download messages.
-
Common quick fixes:
ffmpeg-related merges fail β enablemerge_if_ffmpegonly if ffmpeg is available in your environment.- Authentication-only content β provide
cookie_filevia Console file upload and reference its filename. - Proxy errors β double-check proxy secret and format.
π Permissions & Storage Notes
- Storage: Dataset (per-item), Key-Value Store (
OUTPUTkey) and temporary local disk during downloads. - Privacy: Actor is secure by design β tokens and proxy credentials should be stored in Console Secrets. The Actor does not leak secrets to outputs.
π Changelog / Versioning
v1.0.0β Initial production-ready release: format discovery, async downloads, KVS upload, concurrency controls.
π Notes / TODOs
- TODO: confirm output schema β inferred from main.py but not explicit.
- TODO: add demo GIF/screenshots (provide images or screenshots for best conversion).
π Proxy Configuration
Enable Apify Proxy (Console): turn on the built-in Apify Proxy toggle in the Actor run settings.
Custom proxies: set proxyConfiguration input or configure environment variables. Example placeholders:
- HTTP/HTTPS proxy env vars:
HTTP_PROXY=<PROXY_USER:PASS@HOST:PORT>HTTPS_PROXY=<PROXY_USER:PASS@HOST:PORT>
Secrets: Always store proxy credentials as Console Secrets, not plaintext in inputs.
Advanced: TODO: Consider proxy rotation for large-scale scraping.
π References
- Official Apify Actor README guidelines β (Console docs)
- Apify input/output schema docs β (Console docs)
- Apify CLI & API usage docs β (Console docs)
π€ What I inferred from main.py
- The Actor performs network extraction and downloads Instagram media (regular videos and Reels).
- Main inputs:
startUrls,download,desired_resolution,merge_if_ffmpeg,save_videos_to_kv,remove_local_files,cookie_file,proxyConfiguration,maxConcurrency. - Outputs: per-item metadata pushed to Dataset and an aggregated array stored to Key-Value Store under the
OUTPUTkey. - Scheduling and concurrency controls are built into the Actor input (via
maxConcurrency).
--- input.example.json ---
{"startUrls": ["https://www.instagram.com/p/EXAMPLE/","https://www.instagram.com/reel/EXAMPLE/"],"download": true,"desired_resolution": "1080p","merge_if_ffmpeg": true,"save_videos_to_kv": true,"remove_local_files": false,"cookie_file": null,"proxyConfiguration": {},"maxConcurrency": 3}
--- CONFIG.md ---
CONFIG & Advanced Notes
- File uploads (cookies): upload your cookies file in Apify Console
Filesand reference the filename incookie_file. - ffmpeg: merging requires ffmpeg available on the runner. If you rely on merging, ensure your environment supports it or set
merge_if_ffmpegto false. - Proxy formats: use
<PROXY_USER:PASS@HOST:PORT>placeholders for custom proxies and store as Console Secrets. - Scaling: increase
maxConcurrencycarefully according to your Apify plan and target site capacity.
End of generated documentation.