Instagram Reels Scraper Pro
by neuro-scraper
“✨ Next-level Instagram Reels scraper! Instantly grab plays ▶️, likes ❤️, comments 💬, uploader info 👤 & video URLs 🎥 in a single JSON 🗂️. Combines pag...
Opens on Apify.com
About Instagram Reels Scraper Pro
“✨ Next-level Instagram Reels scraper! Instantly grab plays ▶️, likes ❤️, comments 💬, uploader info 👤 & video URLs 🎥 in a single JSON 🗂️. Combines page data & live network activity ⚡ for complete, accurate, ready-to-use engagement insights.”
What does this actor do?
Instagram Reels Scraper Pro is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.
Key Features
- Cloud-based execution - no local setup required
- Scalable infrastructure for large-scale operations
- API access for integration with your applications
- Built-in proxy rotation and anti-blocking measures
- Scheduled runs and webhooks for automation
How to Use
- Click "Try This Actor" to open it on Apify
- Create a free Apify account if you don't have one
- Configure the input parameters as needed
- Run the actor and download your results
Documentation
📸 Instagram Reels Scraper Actor Effortlessly extract metadata and engagement stats from public Instagram Reels URLs. --- ## 📖 Summary This Actor scrapes Instagram Reels pages, capturing video metadata, play/view counts, likes, comments, thumbnails, and basic user profile info. Results are normalized and pushed to the default Dataset and ALL_RESULTS key-value record. --- ## 💡 Use cases * Track engagement metrics on competitor Instagram Reels. * Monitor influencer content performance. * Collect Reel metadata for analytics pipelines. --- ## ⚡ Quick Start (Console) 1. Go to the Actor in Apify Console. 2. Click Run. 3. Paste a JSON input such as: json { "startUrls": [ {"url": "https://www.instagram.com/reel/DJH8mu5zsHI/"} ] } 4. Start the run and view results in the Dataset tab. --- ## ⚡ Quick Start (CLI + API) CLI bash apify run <ACTOR_ID> -p input.json apify-client (Python) python from apify_client import ApifyClient client = ApifyClient("<APIFY_TOKEN>") actor = client.actor("<ACTOR_ID>") run = actor.call(run_input={ "startUrls": [{"url": "https://www.instagram.com/reel/DJH8mu5zsHI/"}] }) print(f"Dataset results: {run['defaultDatasetId']}") --- ## 📝 Inputs * startUrls (array) – List of Instagram Reel URLs (objects with url field or raw strings). * storageStatePath (string, optional) – Path to storage state file if using saved session. * instagramUser (string, optional) – Instagram username for login (if required). * instagramPass (string, optional) – Instagram password for login (if required). * networkCaptureSeconds (float, optional, default 2.5) – Time to capture network activity. --- ## ⚙️ Configuration | 🔑 Name | 📝 Type | ❓ Required | ⚙️ Default | 📌 Example | 📝 Notes | | ----------------------- | ----------- | -------------- | -------------- | ----------------------------------------------- | --------------------------------------------- | | startUrls | array | ✅ Yes | DEFAULT_URLS | [ {"url": "https://instagram.com/reel/..."} ] | List of target Reels | | storageStatePath | string | ❌ No | null | "storage_state.json" | Use saved login/session state | | instagramUser | string | ❌ No | null | "myusername" | Pulled from input or INSTAGRAM_USER env var | | instagramPass | string | ❌ No | null | "mypassword" | Pulled from input or INSTAGRAM_PASS env var | | networkCaptureSeconds | float | ❌ No | 2.5 | 5.0 | Adjust capture window | | ALL_RESULTS | dataset | Auto | N/A | Access via key-value store | JSON array of all scraped results | | INSTAGRAM_USER | env var | ❌ No | null | <username> | Alternative to input key | | INSTAGRAM_PASS | env var | ❌ No | null | <password> | Alternative to input key | ➡️ In Apify Console: Paste the JSON above into Input or set environment variables in Actor > Settings > Environment variables. --- ## 📤 Outputs * Default Dataset – Each scraped Reel pushed individually. * Key-Value Store – Full results saved under key ALL_RESULTS. Example output item: json { "url": "https://www.instagram.com/reel/DJH8mu5zsHI/", "success": true, "data": [ { "code": "DJH8mu5zsHI", "pk": "123456789", "id": "987654321", "taken_at": 1694567890, "video_urls": ["https://...mp4"], "thumbnail": "https://...jpg", "play_count": 10234, "view_count": 10456, "like_count": 450, "comment_count": 25, "user": { "pk": "11111", "username": "sample_user", "full_name": "Sample User", "profile_pic_url": "https://...jpg" }, "caption": "My Reel caption" } ] } --- ## 🔑 Environment variables * INSTAGRAM_USER – Instagram login username (optional). * INSTAGRAM_PASS – Instagram login password (optional). --- ## ▶️ How to Run Apify Console 1. Open the Actor > Run. 2. Enter input JSON (see example above). 3. Start the run and open the Dataset tab. CLI bash apify run <ACTOR_ID> -p input.json apify-client (Python) python run = client.actor("<ACTOR_ID>").call(run_input={"startUrls": [{"url": "https://instagram.com/reel/..."}]}) --- ## ⏰ Scheduling & Webhooks * Scheduling: In Console, go to Actor > Schedule to configure periodic runs. * Webhooks: Add a webhook in Actor > Webhooks to trigger events (e.g., notify when run finishes). --- ## 🐞 Logs & Troubleshooting * Use Log tab in Console for debugging. * If scraping returns empty data, check login requirements or extend networkCaptureSeconds. * For authentication issues, verify INSTAGRAM_USER and INSTAGRAM_PASS are set correctly. --- ## 🔒 Permissions & Storage Notes * Ensure Dataset and Key-Value Store permissions allow read/write. * Store sensitive credentials (Instagram login) in environment variables, not hardcoded input. --- ## 🆕 Changelog / Versioning * Increment version when modifying schema or fields. * Use GitHub releases or Actor versions in Console to track. --- ## 📌 Notes / TODOs * TODO: Confirm whether profile URLs (non-Reels) should be supported. Current assumption: Reels only. * TODO: Confirm max number of URLs per run (depends on Apify limits). --- ## 🌍 Proxy configuration * In Console, enable Apify Proxy under Run options. * To use custom proxies, set them in Actor > Settings > Proxy configuration. * Alternatively, define env vars: * HTTP_PROXY=https://<PROXY_USER>:<PROXY_PASS>@host:port * HTTPS_PROXY=https://<PROXY_USER>:<PROXY_PASS>@host:port * Store proxy credentials as secrets in Actor settings, not in input JSON. * TODO: Add advanced proxy rotation patterns (if needed). --- ## 📚 References * Apify Actor documentation * Input & Output schema guide * Apify CLI --- ## 🧐 What I inferred from main.py * Actor expects startUrls with Instagram Reels links; defaults to one built-in Reel if none provided. * Results are pushed both to Dataset (individual items) and KV store key ALL_RESULTS. * Supports optional login via instagramUser/instagramPass or env vars. * Network activity is present → included Proxy configuration section. * TODOs flagged: confirm profile URL support & batch size limits.
Categories
Common Use Cases
Market Research
Gather competitive intelligence and market data
Lead Generation
Extract contact information for sales outreach
Price Monitoring
Track competitor pricing and product changes
Content Aggregation
Collect and organize content from multiple sources
Ready to Get Started?
Try Instagram Reels Scraper Pro now on Apify. Free tier available with no credit card required.
Start Free TrialActor Information
- Developer
- neuro-scraper
- Pricing
- Paid
- Total Runs
- 126
- Active Users
- 32
Related Actors
Video Transcript Scraper: Youtube, X, Facebook, Tiktok, etc.
by invideoiq
Linkedin Profile Details Scraper + EMAIL (No Cookies Required)
by apimaestro
Twitter (X.com) Scraper Unlimited: No Limits
by apidojo
Content Checker
by jakubbalada
Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.
Learn more about ApifyNeed Professional Help?
Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.
Trusted by millions | Money-back guarantee | 24/7 Support