Instagram Video Scraper Advanced
Pricing
$6.25/month + usage
Instagram Video Scraper Advanced
"π Unlock Instagram video insights! Grab likes β€οΈ, views π, comments π¬, hashtags #οΈβ£ & AI-driven trends π§ . Fast access to video URLs for smarter decisions π‘π°. Turn social data into growth π."
0.0 (0)
Pricing
$6.25/month + usage
0
3
2
Last modified
6 days ago
π Advanced Instagram Reels Scraper β Console-Ready Actor
Hero: Instant, privacy-safe extraction of public Instagram Reels β get structured video metadata and download-ready links in seconds.
π Short summary
A production-ready Apify Actor that reliably extracts metadata and media references from public Instagram posts and Reels. Plug into Apify Console, run one-click, and receive clean JSON records suitable for analytics, archiving, or automated downloads. Secure-by-design and built for scale.
π‘ Use cases / When to use
- Collect batch metadata for Instagram Reels or feed videos for analytics.
 - Build datasets for social listening, content research, or media archiving.
 - Download video/audio resources for downstream processing (when allowed).
 - Feed data into BI tools or ML pipelines.
 
β‘ Quick Start β Console (one-click)
- Open this Actor in Apify Console.
 - Paste one or more public Instagram post/reel URLs into Input (see example below).
 - (Optional) Enable Apify Proxy in Console settings if scraping at scale.
 - Click Run β results will stream to the dataset and be saved to key-value store 
OUTPUT. 
βοΈ Quick Start β CLI & API
CLI (apify-cli)
$apify run --input input.example.json
Python (apify-client) β minimal snippet
from apify_client import ApifyClientclient = ApifyClient('<APIFY_TOKEN>')run = client.actor('your-username/instagram-reels-scraper').call(run_input={'startUrls': [ {'url': 'https://www.instagram.com/reel/XXXX/'} ],'download': False,'desired_resolution': '1080p'})print(run)
π Inputs (fields & schema)
Provide input as a JSON object. The actor accepts the following fields:
{"startUrls": [{ "url": "https://www.instagram.com/reel/1234567890123456/" }],"download": false,"desired_resolution": "1080p","proxyConfiguration": { "useApifyProxy": true }}
Field summary:
startUrlsβ array of URLs (required). Can be strings or{ "url": "..." }objects.downloadβ boolean (optional). Iftrue, the actor will attempt to download media resources referenced in the extracted formats.desired_resolutionβ string (optional). Example:"1080p","720p".proxyConfigurationβ object (optional). Standard Apify proxy configuration.
βοΈ Configuration
| π Name | π Type | β Required | βοΈ Default | π Example | π§ Notes | 
|---|---|---|---|---|---|
| startUrls | array | β Yes | None | [{"url":"https://www.instagram.com/reel/123/"}] | One or more public post/reel URLs | 
| download | boolean | βοΈ Optional | false | true | Download media files when available (use proxies & storage) | 
| desired_resolution | string | βοΈ Optional | 1080p | 720p | Preferred target resolution for video selection | 
| proxyConfiguration | object | βοΈ Optional | {} | { "useApifyProxy": true } | Use proxies for scale / geo-unblocking | 
Console example: paste a single URL into Input > startUrls and click Run Actor.
π Outputs (Dataset / KV examples)
The Actor pushes transformed records to the Dataset (streamed) and stores the full result array in Key-Value store under key OUTPUT.
Example single output record (transformed):
{"original_url": "https://www.instagram.com/reel/1234567890123456/","id": "1234567890123456","ownerUsername": "example_user","description": "Short caption text","likesCount": 1200,"likesDisplay": "1.2k β€οΈ","commentsCount": 45,"viewsDisplay": "12.3k π","upload_date": "14th October 2025","duration_seconds": 32,"duration_display": "32 Seconds (0.0089 Hours)","formats": [ { "type": "video", "url": "https://...mp4", "duration": 32 } ],"download_links": { /* if download requested */ },"ai_insight": "General content reel π","randomExtraInfo": { "scrapeBatch": "Reel-Set-05", "regionCode": "US" }}
Key-Value store: OUTPUT contains the array of all returned records for the run.
π Environment Variables
Use placeholders for secrets. Store them in Console secrets or Actor settings β never embed in code.
APIFY_TOKENβ placeholder for Apify API access (use Console secrets)IG_USERβ optional Instagram username for authenticated fetches (placeholders only)IG_PASSβ optional Instagram password (placeholders only)
βΆοΈ How to Run (Console / CLI / API)
Console: paste startUrls input, optionally enable Apify Proxy, click Run.
CLI: apify run --input input.example.json.
API: Use apify-client to call actor with run_input shown above.
β° Scheduling & Webhooks
- Use the Apify Console scheduler to run this Actor on a cron expression (daily/hourly).
 - Configure webhooks in Console to be notified on run success/failure. Push the 
OUTPUTKVS link to downstream systems. 
πΎοΈ Logs & Troubleshooting
- 
Logs stream live in Console. Look for
π¬preview lines to confirm successful extraction. - 
Common issues:
- Unsupported URL β ensure the URL is a public Instagram post or reel (
/reel/or/p/style). - Authentication required β private posts require login credentials or cookies (use secrets).
 - Region/Rate errors β enable proxies.
 
 - Unsupported URL β ensure the URL is a public Instagram post or reel (
 
π Permissions & Storage Notes
- The Actor only fetches public content by default. Do not use this Actor to access private content without explicit permission.
 - Store credentials and tokens securely in Console secrets β never in plain input JSON.
 - Respect Instagram terms of service and applicable laws when collecting or storing media.
 
π Changelog / Versioning
- v1.0 β Initial Console-ready Actor: public extraction, format normalization, optional media download, proxy support.
 - TODO: Add semantic versioning tags for future releases.
 
π Notes / TODOs
- TODO: Confirm expected output schema for 
download_linkswhen download is enabled (reason: download outputs may vary across platforms). - TODO: Add built-in rate-limit detection to automatically pause between burst runs.
 
π Proxy configuration
This Actor supports proxy usage and will use the proxyConfiguration input when provided.
Enable Apify Proxy (Console) β one-line:
- In the Console run dialog, toggle Use Apify Proxy.
 
Custom proxies (example formats):
- Single proxy (HTTP): 
http://<PROXY_USER:PASS@HOST:PORT> - HTTPS example: 
https://<PROXY_USER:PASS@HOST:PORT> 
Environment-style examples:
HTTP_PROXY=http://<PROXY_USER:PASS@HOST:PORT>HTTPS_PROXY=https://<PROXY_USER:PASS@HOST:PORT>
Security note: store credentials as Console secrets, not plaintext in inputs.
Advanced note / TODO: TODO: Consider proxy rotation for large-scale scraping to improve reliability and avoid rate-limits.
π References
- Apify Actor README guidelines (official docs)
 - Apify Input/Output schema docs (official docs)
 - Apify CLI & API usage docs (official docs)
 
π€ What I inferred from src/main.py
- The Actor accepts 
startUrlsand supports both/reel/and/p/post URLs. - It normalizes metadata (likes, comments, views) and formats durations into human-friendly strings.
 - It supports optional authenticated fetches via 
IG_USER/IG_PASSenvironment variables (placeholders only). - It writes streamed records to Dataset and saves a full run array to Key-Value store key 
OUTPUT. - Proxy configuration is supported and the Actor will use proxy sessions when supplied.
 
Files included in this canvas
README.md(this document)input.example.json(JSON example below)CONFIG.md(quick config tips)
input.example.json
{"startUrls": [{ "url": "https://www.instagram.com/reel/1234567890123456/" },{ "url": "https://www.instagram.com/p/ABCDEFGHIJK/" }],"download": false,"desired_resolution": "1080p","proxyConfiguration": { "useApifyProxy": true }}
CONFIG.md (quick tips)
# Use Console secrets for APIFY_TOKEN, IG_USER, IG_PASS# Enable Apify Proxy for large-scale runs# Respect target site terms and privacy
