Instagram Video Scraper Advanced avatar
Instagram Video Scraper Advanced

Pricing

$6.25/month + usage

Go to Apify Store
Instagram Video Scraper Advanced

Instagram Video Scraper Advanced

Developed by

Neuro Scraper

Neuro Scraper

Maintained by Community

"πŸ“ˆ 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)

  1. Open this Actor in Apify Console.
  2. Paste one or more public Instagram post/reel URLs into Input (see example below).
  3. (Optional) Enable Apify Proxy in Console settings if scraping at scale.
  4. 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 ApifyClient
client = 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). If true, 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
startUrlsarrayβœ… YesNone[{"url":"https://www.instagram.com/reel/123/"}]One or more public post/reel URLs
downloadbooleanβš™οΈ OptionalfalsetrueDownload media files when available (use proxies & storage)
desired_resolutionstringβš™οΈ Optional1080p720pPreferred target resolution for video selection
proxyConfigurationobjectβš™οΈ 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 OUTPUT KVS 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.

πŸ”’ 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_links when 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 startUrls and 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_PASS environment 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