Instagram Video Scraper and Downloader Premium π
Pricing
$9.99/month + usage
Instagram Video Scraper and Downloader Premium π
Crack the code of videos virality π₯ Access real-time metrics, audience patterns, captions, and media effortlessly. Built for pros who value speed, accuracy, and privacy. Run it, unlock insights, and dominate your niche before anyone else even notices β‘Run for once get addicted forever π±
Pricing
$9.99/month + usage
Rating
0.0
(0)
Developer

Neuro Scraper
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
π Instagram Video Scraper and Downloader Premium π
One-liner (hero): Instant, production-ready Instagram Reels metadata extraction and optional high-quality downloads β plug into Apify Console and get structured results in seconds.
π Short summary
This Actor extracts rich metadata for Instagram posts (reels & single posts), enriches values for analytics (human-friendly dates, durations, short counts), and β optionally β fetches high-quality download links and performs downloads/merges when requested. Safe defaults hide raw media links; proxy-friendly and resilient to rate limits.
π‘ Use cases / When to use
- Bulk metadata collection for analytics, search indices or ML features.
- Scheduled monitoring of creators or campaigns.
- Oneβclick archival of media (download optional) with resumable, best-effort downloads.
- Quick metadata enrichment before ingest to databases or BI tools.
β‘ Quick Start (Console β one-click)
- Open the Actor page in Apify Console.
- Paste one or more Instagram post/reel URLs into the Input tab (see
input.example.json). - Click π Run β results will appear in Dataset and under KVS key
OUTPUT.
Tip: enable
diagnostic: truefor verbose logs if something looks off.
βοΈ Quick Start (CLI + API)
CLI (one-liner)
$apify run --input input.example.json
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient(token="<APIFY_TOKEN>")run = client.actor("your-username/your-actor").call(run_input={"startUrls": ["https://www.instagram.com/reel/SHORTCODE/"],"mode": "scrape"})# On completion, read dataset or key-value store (key: OUTPUT)
π Inputs (fields & schema)
Accepted input: JSON object. startUrls accepts an array of string URLs or objects { "url": "..." }.
Minimal Console JSON example (drop into the Input tab or save as input.example.json):
{"startUrls": ["https://www.instagram.com/reel/SHORTCODE/"],"mode": "scrape","desired_resolution": "1080p","download": false,"merge_if_ffmpeg": false,"hide_media_links": true,"preserve_thumbnails": true,"maxConcurrency": 3,"diagnostic": false,"suppress_errors": true}
Field reference (short)
startUrls(array) β required. List of post/reel URLs (strings or{ "url": "..." }).mode(string) β"scrape" | "download" | "both". Default:"scrape".desired_resolution(string) β preferred resolution for downloads (e.g."1080p").download(boolean) β whether to download media (best-effort).merge_if_ffmpeg(boolean) β merge audio+video if ffmpeg is available.cookie_file(string) β optional secret reference for cookies (use Console secrets).hide_media_links(boolean) β hides rawformatsURLs in output (defaulttrue).preserve_thumbnails(boolean) β keep thumbnails even when links are hidden (defaulttrue).maxConcurrency(integer) β [1..10], default3.diagnostic(boolean) β verbose logging & raw data (defaultfalse).suppress_errors(boolean) β iftruenon-fatal errors are suppressed from logs (defaulttrue).proxyConfiguration(object) β optional Console proxy input object (see Proxy Configuration below).preferred_proxy_type/force_residentialβ hints to prefer residential proxies when creating a proxy configuration.
βοΈ Configuration (friendly table)
| π Name | π Type | β Required | βοΈ Default | π Example | π§ Notes |
|---|---|---|---|---|---|
| startUrls | array | β Yes | None | ["https://.../reel/ABC123/"] | URLs to scrape/download. |
| mode | string | β Yes | "scrape" | "both" | Choose scrape, download, or both. |
| desired_resolution | string | βοΈ Optional | "1080p" | "720p" | Preferred resolution for extraction. |
| download | boolean | βοΈ Optional | false | true | If true, attempts downloads. |
| merge_if_ffmpeg | boolean | βοΈ Optional | false | true | Requires ffmpeg in runtime to merge streams. |
| cookie_file | string | βοΈ Optional | None | "INPUT:INSTAGRAM_COOKIES" | Pass cookie secret (Console secret recommended). |
| hide_media_links | boolean | βοΈ Optional | true | false | Hides raw media URLs in output. |
| preserve_thumbnails | boolean | βοΈ Optional | true | false | Keep thumbnail preview images. |
| maxConcurrency | integer | βοΈ Optional | 3 | 6 | Controls parallelism (1..10). |
| diagnostic | boolean | βοΈ Optional | false | true | Verbose logging for debugging. |
| suppress_errors | boolean | βοΈ Optional | true | false | Set to false to surface errors in logs. |
| proxyConfiguration | object | βοΈ Optional | None | (Apify proxy object) | Provide proxy settings via Console. |
Example Console setup: paste
https://www.instagram.com/reel/ABC123/into startUrls and click Run.
π Outputs (Dataset / Key-Value examples)
Where results are written
- Key-Value store: key
OUTPUT(contains the full results array). - Also each item is pushed to the default Dataset for easy CSV/JSON export.
Metadata-only example (scrape mode) β full duration fields included
{"original_url": "https://www.instagram.com/reel/ABC123/","id": "ABC123","ownerUsername": "creator_handle","ownerFullName": "Creator Name","description": "Caption text with #tags and @mentions","hashtags": ["tags"],"mentions": ["mentions"],"likesCount": 3450,"likesDisplay": "3.4k","commentsCount": 120,"commentsDisplay": "120","videoViewCount": 25000,"viewsDisplay": "25k","upload_date_iso": "2025-10-01T12:34:56Z","upload_date": "1st October 2025","upload_time_ago": "1 Month Ago","duration_seconds": 34,"duration_display": "34 Seconds","duration_full": {"in_seconds": "34 Seconds","in_minutes": "0 Minutes 34 Seconds","in_hours": "0 Hours 0 Minutes 34 Seconds"},"duration_summary": "β± 34s | 0m 34s | 0h 0m 34s","duration_decimal_hours": 0.0094,"duration_decimal_minutes": 0.57,"duration": 34,"resolution": "1920x1080","resolution_detail": "Full HD (1080p)","thumbnail_url": "https://.../thumb.jpg","download_links_summary": { "available": { "merged_video": true } },"randomExtraInfo": { "scrapeBatch": "Reel-Set-07", "regionCode": "US", "verifiedStatus": "Creator" }}
Download mode example (download attempted & merged) β includes duration fields and download metadata
{"original_url": "https://www.instagram.com/reel/ABC123/","title": "Video title or null","uploader": "uploader_name","duration": 34,"duration_seconds": 34,"duration_display": "34 Seconds","duration_full": {"in_seconds": "34 Seconds","in_minutes": "0 Minutes 34 Seconds","in_hours": "0 Hours 0 Minutes 34 Seconds"},"duration_summary": "β± 34s | 0m 34s | 0h 0m 34s","duration_decimal_hours": 0.0094,"duration_decimal_minutes": 0.57,"formats_count": 8,"requested_resolution": "1080p","download_links": {"merged_video": "https://cdn.example/path/merged.mp4","video_without_audio": null,"audio": null},"downloaded_file": "Video_Title.mp4","merged_file": "Video_Title_merged.mp4","download_links_summary": { "available": { "merged_video": true } }}
Notes:
duration,duration_seconds,duration_display,duration_full,duration_summary,duration_decimal_hours, andduration_decimal_minutesare populated where available β both in scrape and download flows.
π Environment Variables & Secrets
APIFY_TOKENβ use Console secrets or apify-client token placeholder:<APIFY_TOKEN>.HTTP_PROXY/HTTPS_PROXYβ for custom proxy usage:http://<PROXY_USER:PASS@HOST:PORT>(store as secret).cookie_fileβ reference to a secret input containing cookies (if needed for access-restricted content).
βΆοΈ How to Run (detailed)
Console (recommended)
- Open Actor in Apify Console.
- Input: paste or upload
input.example.jsoncontent. - (Optional) Configure proxy in the Proxy settings or include
proxyConfigurationin input. - Click Run and monitor Logs.
- Download results from Dataset or Key-Value store (
OUTPUT).
CLI
$apify run --input input.example.json
API β call actor via apify-client as shown earlier, then fetch dataset by id or read the KVS key OUTPUT.
β° Scheduling & Webhooks
- Use the Console Schedule tab to run regularly (cron-like UI).
- Configure Webhooks in Console to receive a run-complete event; use payload run IDs to fetch dataset/KVS outputs.
πΎοΈ Logs & Troubleshooting
Where to look
- Console β Run β Logs. Set
diagnostic: truefor verbose traces.
Common issues & quick fixes
- No startUrls provided: add
startUrls. - Rate limit / access errors: enable platform proxy or supply cookie secrets; set
preferred_proxy_type: "residential". - Downloads failing: ensure
download: true; checkdownload_linkssummary, and verifymerge_if_ffmpegonly if ffmpeg is available.
π Permissions & Storage Notes
- Output stored in the Dataset and Key-Value store key
OUTPUT. - Files created during downloads live in the Actor container; persist required files to Dataset or KVS if needed.
- The Actor hides raw media links by default to reduce accidental public sharing β toggle via
hide_media_links.
π Changelog / Versioning
- v1.0.0 β Production-ready: metadata extraction, robust HTML fallback, proxy-aware extraction, safe defaults.
π Notes / TODOs
- TODO: confirm output schema β some fields are inferred from runtime behavior (e.g.
formats,raw_formats,downloaded_file). - TODO: add hero GIF/screenshots for the README (improves conversion). Provide images to embed in the README.
π Proxy Configuration
This Actor supports platform proxy configuration and custom proxies.
Enable Apify Proxy (Console)
- In Console, define
proxyConfigurationin the run input or use the built-in Proxy UI. Actor will create and use sessionized proxy URLs automatically when configured.
Custom proxy example (env vars)
export HTTP_PROXY="http://<PROXY_USER:PASS@HOST:PORT>"export HTTPS_PROXY="http://<PROXY_USER:PASS@HOST:PORT>"
Security note
- Always store proxy credentials as Console secrets β never paste them directly into public input.
- TODO: Consider proxy rotation for large-scale scraping runs (use session IDs or platform rotation).
π References (official Apify docs)
- Apify Actors β README guidelines.
- Apify Input/Output schema documentation.
- Apify CLI & API (apify-client) docs.
π€ What I inferred from main.py
- Accepts
startUrlsandmode(scrape|download|both). - Performs metadata extraction first; falls back to HTML metadata scraping on access/rate failures.
- Attempts best-effort download link extraction and optional downloads/merges if requested.
- Creates or uses proxy configuration; sessionizes proxy URLs per URL when platform proxy is enabled.
- Default behavior hides raw media URLs (
hide_media_links: true) while preserving thumbnails by default.
ββ Files included (save in repo)
README.mdβ this document.input.example.jsonβ copy the JSON from the Inputs section above.CONFIG.mdβ optional local notes (see below).
CONFIG.md (optional advanced config)
- Use Console Proxy UI or include a
proxyConfigurationobject in input. - For custom proxies, set
HTTP_PROXY/HTTPS_PROXYtohttp://<PROXY_USER:PASS@HOST:PORT>. - Keep cookies and tokens in Console secrets and reference them via
cookie_fileor secret input fields. - TODO: provide recommended rate limits and backoff tuning for bulk runs.
This README was produced to be Console-ready: short, outcome-focused, and safe by default. Run a quick test to validate exact output fields for your data pipeline.