Instagram  Video  scraper avatar
Instagram Video scraper

Pricing

$5.50/month + usage

Go to Apify Store
Instagram  Video  scraper

Instagram Video scraper

๐Ÿ’ฐ [ Lowest Price ] ๐Ÿš€ Get video ๐ŸŽฌ views, likes & captions in seconds! โšก Fast, reliable & proxy-ready โ€“ access all profile data ๐Ÿ“ธ Extract HD thumbnails, hashtags, mentions & more ๐Ÿ’ก Save time, boost workflow & shine online like a pro โœจ

Pricing

$5.50/month + usage

Rating

5.0

(1)

Developer

Alpha Scraper

Alpha Scraper

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

3

Monthly active users

3 days ago

Last modified

Share

๐Ÿ›ฐ๏ธ Instagram Video Scraper โ€” Apify Actor

๐Ÿš€ Production-ready Apify Actor for reliably extracting metadata and media URLs from public Instagram video posts (posts & reels). Built for enterprise usage on Apify Platform , optional IG credentials, per-item sessionized handling, and human-friendly output formatting.


๐Ÿงญ Actor Overview

  • ๐Ÿงฉ Name: Instagram Video Scraper
  • ๐Ÿงฐ Version: 0.1
  • โš™๏ธ Purpose: Scrape metadata and media resources from Instagram video URLs (both /p/ posts and /reel/ URLs) without requiring browser cookies by using instaloader and realistic request headers.
  • โ˜๏ธ Platform: Designed to run as an Apify Actor (Node-style runtime wrapper using apify Python SDK).
  • ๐Ÿ” Auth: Optional IG_USER / IG_PASS environment variables supported for authenticated access (helps with private/age-gated content where credentials are permitted).
  • ๐Ÿงญ Proxy: Full Apify proxy / custom proxy support. Actor will create per-item session proxy URLs to enable sticky IPs.

โš™๏ธ What This Actor Does

  • ๐Ÿ›ฐ๏ธ Accepts one or more Instagram video URLs (post or reel).
  • ๐Ÿ“ก Uses instaloader to fetch the canonical post node (metadata + available media resources).
  • ๐Ÿงพ Parses and normalizes fields such as owner info, counts, description, hashtags, mentions, upload date, formats (image/video resources), and more.
  • ๐Ÿ” Detects proxy type (best-effort) โ€” residential, datacenter, or unknown โ€” when a proxy URL is available.
  • ๐Ÿ’พ Pushes each scraped item to the actor dataset (one JSON per item) and writes the full result array to key-value store under OUTPUT.
  • ๐Ÿงช Formats numeric counts to human-readable short forms (1.3k, 2m) and durations to mm:ss or hh:mm:ss strings.
  • ๐Ÿงต Runs each item sequentially by default (safe, reduces rate limit pressure). Can be adapted for parallel runs by modifying the actor code.

๐Ÿ› ๏ธ Key Features

  • ๐Ÿ”— Universal URL support โ€” accepts both /p/ (posts) and /reel/ paths; robust shortcode extraction.
  • ๐Ÿงท Optional authentication โ€” set IG_USER and IG_PASS via environment variables for logged-in requests.
  • ๐Ÿงญ Proxy-aware โ€” integrates with Apify proxy or custom proxy configuration; creates sessionized proxy URLs per shortcode.
  • ๐Ÿ“ฆ Human-friendly output โ€” humanized counts (k, m) and durations for easier downstream consumption.
  • ๐Ÿ—„๏ธ Dual output options โ€” item-by-item dataset entries + a single key-value OUTPUT array JSON file for convenience.
  • โš ๏ธ Graceful error handling โ€” per-item error capture so one failure does not stop the whole run.
  • ๐Ÿ”Ž Caption parsing โ€” extracts unique hashtags and mentions from captions.
  • ๐Ÿงพ Comprehensive formats list โ€” includes all display_resources and video URLs found in Graph node, with deduplication.

๐Ÿ”ฌ How the Actor Works (Step-by-step flow)

  1. ๐ŸŸข Start & Input Read โ€” Actor starts and reads startUrls and optional proxyConfiguration from actor input.
  2. ๐Ÿงญ Normalize URLs โ€” Supports list of { "url": "..." } objects or raw string list; normalizes to canonical URL list.
  3. ๐Ÿช Proxy Configuration โ€” Creates Apify ProxyConfiguration object from input (or platform default) and attempts to acquire a sessionized proxy URL per shortcode.
  4. ๐Ÿ”Ž Shortcode Extraction โ€” Extracts Instagram shortcode from each URL using robust path parsing.
  5. ๐Ÿงต Per-item Proxy Detection โ€” If proxy URL is obtained, attempts to detect whether itโ€™s datacenter, residential, or unknown (best-effort via IP info lookup).
  6. ๐Ÿงช Scrape with Instaloader โ€” Calls a blocking instaloader routine in a background thread to fetch the post node and metadata. Uses IG_USER/IG_PASS if provided.
  7. ๐Ÿงพ Normalize & Format โ€” Builds result object including formats array, extracts hashtags/mentions, formats counts and durations, and populates metadata fields.
  8. ๐Ÿ’พ Push & Store โ€” Pushes each item to the actor dataset and, after finishing the run, writes the full array to key-value store under the key OUTPUT.
  9. โš ๏ธ Error Handling โ€” For any item-level exception, records "original_url": <url>, "error": <message> in results and continues processing remaining URLs.

๐Ÿงพ Input Parameters

๐Ÿ”Ž Field๐Ÿ”ค Typeโœ… Requiredโœ๏ธ Description
๐ŸŸข startUrlsarrayYesList of Instagram video URLs to scrape. Accepts ["https://..."] or [{"url":"https://..."}].
๐ŸŸก proxyConfigurationobjectNoApify proxy / custom proxy configuration (editor: proxy). If omitted, actor will attempt to create a default proxy configuration (Apify Proxy if available). Example: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}.

๐Ÿ“Œ Note: startUrls is required. Provide the full Instagram URL (including /reel/ or /p/ path). The actor prefill examples include both a reel and a post.


๐Ÿ—‚๏ธ Environment Variables

๐Ÿ” Name๐Ÿ”ค Typeโœ๏ธ Purpose
๐ŸŸฃ IG_USERstringOptional Instagram username for authenticated requests. Set if you need to access content behind login.
๐ŸŸฃ IG_PASSstringOptional Instagram password. Use together with IG_USER.
๐ŸŒ HTTP_PROXY, HTTPS_PROXY, http_proxy, https_proxystringInternally set per-item when using proxies. You can also set them globally beforehand to force a proxy.

  • ๐Ÿ—‚๏ธ Dataset: Each item is pushed to the Apify dataset (one JSON object per post).
  • ๐Ÿงพ Key-Value Store: The entire results array is saved under the OUTPUT key in key-value store for easy download.

๐Ÿงช Usage Examples

๐Ÿ–ฅ๏ธ Example: Minimal Input (via Apify Console)

{
"startUrls": [
{
"url": "https://www.instagram.com/reel/DHCcTryOTlc/?igsh=NWp1YXg1azE4bm11"
},
{
"url": "https://www.instagram.com/p/DPZONeIExMl/"
}
]
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"DATACENTER"
]
},
or
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
},
}

๐Ÿ—ƒ๏ธ Output Structure (single item example)

Example output ๐Ÿ“ฆ

[
{
"original_url": "https://www.instagram.com/reel/DHCcTryOTlc/?igsh=NWp1YXg1azE4bm11",
"id": "3585552751326214492",
"ownerFullName": "UFC",
"ownerUsername": "ufc",
"ownerId": "22832340",
"description": "Bringing the POWER! ๐Ÿ˜ค\n\n@RomanDolidze looks to add another highlight in the #UFCVegas104 main event!",
"likesCount": "56.8k",
"commentsCount": "146",
"videoViewCount": "596.5k",
"upload_date": "2025-03-11T00:00:00",
"thumbnail_url": "https://instagram.fpag2-1.fna.fbcdn.net/v/t51.2885-15/483045268_18506759965048341_2893971373339605725_n.jpg?stp=dst-jpg_e35_p1080x1080_sh0.08_tt6&_nc_ht=instagram.fpag2-1.fna.fbcdn.net&_nc_cat=109&_nc_oc=Q6cZ2QGnXIBJfwSLCuSea47LQC7p_aaxdqp4YIa8sBh1F9wYFoLjNqxXWgR3OWYeYdDEwPY&_nc_ohc=kVLX8U8JlowQ7kNvwFOGicK&_nc_gid=uHz1uxgCa2eVs02OosLgUg&edm=ANTKIIoBAAAA&ccb=7-5&oh=00_AfhC8HgOb6ycd2mmdCUIHUlmQI4aE7tJ_0dOuL9jIN8hEA&oe=6920F60F&_nc_sid=d885a2",
"duration": "0:33",
"resolution": "1080x1922",
"type": "GraphVideo",
"hashtags": [
"UFCVegas104"
],
"mentions": [
"RomanDolidze"
],
"formats": [
{
"type": "image",
"url": "https://instagram.fpag2-1.fna.fbcdn.net/v/t51.2885-15/483045268_18506759965048341_2893971373339605725_n.jpg?stp=dst-jpg_e35_p640x640_sh0.08_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMTIzeDE5OTkuc2RyLmY3NTc2MS5kZWZhdWx0X2NvdmVyX2ZyYW1lLmMyIn0&_nc_ht=instagram.fpag2-1.fna.fbcdn.net&_nc_cat=109&_nc_oc=Q6cZ2QGnXIBJfwSLCuSea47LQC7p_aaxdqp4YIa8sBh1F9wYFoLjNqxXWgR3OWYeYdDEwPY&_nc_ohc=kVLX8U8JlowQ7kNvwFOGicK&_nc_gid=uHz1uxgCa2eVs02OosLgUg&edm=ANTKIIoBAAAA&ccb=7-5&oh=00_Afi4_WVoHn3L9NdGM8yRAdGInxES7CvyzIENpA6qkrA0Lw&oe=6920F60F&_nc_sid=d885a2",
"width": 640,
"height": 1139
},
{
"type": "image",
"url": "https://instagram.fpag2-1.fna.fbcdn.net/v/t51.2885-15/483045268_18506759965048341_2893971373339605725_n.jpg?stp=dst-jpg_e35_p750x750_sh0.08_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMTIzeDE5OTkuc2RyLmY3NTc2MS5kZWZhdWx0X2NvdmVyX2ZyYW1lLmMyIn0&_nc_ht=instagram.fpag2-1.fna.fbcdn.net&_nc_cat=109&_nc_oc=Q6cZ2QGnXIBJfwSLCuSea47LQC7p_aaxdqp4YIa8sBh1F9wYFoLjNqxXWgR3OWYeYdDEwPY&_nc_ohc=kVLX8U8JlowQ7kNvwFOGicK&_nc_gid=uHz1uxgCa2eVs02OosLgUg&edm=ANTKIIoBAAAA&ccb=7-5&oh=00_Afjwt-x7MJClUehiiMnqQtJzt5hi8_rdF47MVufvV6CJfA&oe=6920F60F&_nc_sid=d885a2",
"width": 750,
"height": 1335
},
{
"type": "image",
"url": "https://instagram.fpag2-1.fna.fbcdn.net/v/t51.2885-15/483045268_18506759965048341_2893971373339605725_n.jpg?stp=dst-jpg_e35_p1080x1080_sh0.08_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi4xMTIzeDE5OTkuc2RyLmY3NTc2MS5kZWZhdWx0X2NvdmVyX2ZyYW1lLmMyIn0&_nc_ht=instagram.fpag2-1.fna.fbcdn.net&_nc_cat=109&_nc_oc=Q6cZ2QGnXIBJfwSLCuSea47LQC7p_aaxdqp4YIa8sBh1F9wYFoLjNqxXWgR3OWYeYdDEwPY&_nc_ohc=kVLX8U8JlowQ7kNvwFOGicK&_nc_gid=uHz1uxgCa2eVs02OosLgUg&edm=ANTKIIoBAAAA&ccb=7-5&oh=00_AfhC8HgOb6ycd2mmdCUIHUlmQI4aE7tJ_0dOuL9jIN8hEA&oe=6920F60F&_nc_sid=d885a2",
"width": 1080,
"height": 1922
},
{
"type": "video",
"url": "https://instagram.fpag2-1.fna.fbcdn.net/o1/v/t2/f2/m367/AQNmY8xcBEm378fg4r6lwNti-cTH-zfGK9F7_d971E2wSYzHO9zAPoGq_yNySwMK_hnP9CBfOlHwvCHM1JBD5CKL_n4qbquOAVeR1S8.mp4?_nc_cat=109&_nc_oc=Adm8xuXCkeWTUe6b8GVSBv5lMRXb3SfoJZ6gjdRzQp0w-jd_51vyues0T3tMlrT_stk&_nc_sid=5e9851&_nc_ht=instagram.fpag2-1.fna.fbcdn.net&_nc_ohc=RP5V2P0hmAQQ7kNvwHWO3e3&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6NTEzODg2Nzg1MDg2OTQ4LCJhc3NldF9hZ2VfZGF5cyI6MjUzLCJ2aV91c2VjYXNlX2lkIjoxMDA5OSwiZHVyYXRpb25fcyI6MzIsInVybGdlbl9zb3VyY2UiOiJ3d3cifQ%3D%3D&ccb=17-1&vs=f516edef43308113&_nc_vs=HBksFQIYQGlnX2VwaGVtZXJhbC8wMzRGMTMwMUZFQTQxNDMyQzBDMEZCN0Y2QUEwNTM4MV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HRVpfMFJ6dnk0X2Jqc29GQURqcXJTQTAwYXhCYnFfRUFBQUYVAgLIARIAKAAYABsCiAd1c2Vfb2lsATEScHJvZ3Jlc3NpdmVfcmVjaXBlATEVAAAmyJe99JLY6QEVAigCQzMsF0BAe6XjU_fPGBJkYXNoX2Jhc2VsaW5lXzFfdjERAHX-B2XmnQEA&_nc_gid=uHz1uxgCa2eVs02OosLgUg&_nc_zt=28&oh=00_AfiMXy28nyh7seag9VUtgbSlRXgQNNKxvihT2CT0v5L0EA&oe=6920DF1A",
"duration": 32.966
}
],
"_scraped_at": "2025-11-17T11:41:28.050880Z",
"_source_index": 1,
},
{
"original_url": "https://www.instagram.com/p/DPZONeIExMl/",
"id": "3736079864232612645",
"ownerFullName": "Eva",
"ownerUsername": "the_half_healed",
"ownerId": "77161389618",
"description": "par asli chehra to heartbreak ke baad hi samajh aaya.๐Ÿฅ€๐Ÿ™‚\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n#thehalfhealed #HeartbreakFeels #FakePeople #TruthHurts #DilSe #Dard #Bewafa #EmotionalVibes #LifeLessons #instagram #fyp #viralreels #diwali",
"likesCount": "53",
"commentsCount": "2",
"videoViewCount": "755",
"upload_date": "2025-10-04T16:33:24",
"thumbnail_url": "https://scontent-atl3-3.cdninstagram.com/v/t51.2885-15/559194621_1165872555495611_4068511436343963980_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=scontent-atl3-3.cdninstagram.com&_nc_cat=111&_nc_oc=Q6cZ2QHLXTqiUUSCObrQtFuvNhtkygY_PVy-oWcsYE5PbIR_L9KCdfTArcrqelD3m7IGdvQ&_nc_ohc=O17OtOpW7mIQ7kNvwHNuAeU&_nc_gid=EminwtyrJPbGrJ21j9DBVQ&edm=ANTKIIoBAAAA&ccb=7-5&oh=00_AfglEfpS-0aQEQK9-Szj0r6v6bgnLBC_S9rJtpyHS8euZg&oe=6920D8D6&_nc_sid=d885a2",
"duration": "0:30",
"resolution": "640x480",
"type": "GraphVideo",
"hashtags": [
"thehalfhealed",
"HeartbreakFeels",
"FakePeople",
"TruthHurts",
"DilSe",
"Dard",
"Bewafa",
"EmotionalVibes",
"LifeLessons",
"instagram",
"fyp",
"viralreels",
"diwali"
],
"mentions": [],
"formats": [
{
"type": "image",
"url": "https://scontent-atl3-3.cdninstagram.com/v/t51.2885-15/559194621_1165872555495611_4068511436343963980_n.jpg?se=-1&stp=dst-jpegr_e15_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6ImltYWdlX3VybGdlbi42NDB4NDgwLmhkci5mNzE4NzgubmZyYW1lX2NvdmVyX2ZyYW1lLmMyIn0&_nc_ht=scontent-atl3-3.cdninstagram.com&_nc_cat=111&_nc_oc=Q6cZ2QHLXTqiUUSCObrQtFuvNhtkygY_PVy-oWcsYE5PbIR_L9KCdfTArcrqelD3m7IGdvQ&_nc_ohc=O17OtOpW7mIQ7kNvwHNuAeU&_nc_gid=EminwtyrJPbGrJ21j9DBVQ&edm=ANTKIIoBAAAA&ccb=7-5&oh=00_AfglzICAwbTXuY846aEnc9XEAa98kyOn1rxhN4-3_NXJXA&oe=6920D8D6&_nc_sid=d885a2",
"width": 640,
"height": 480
},
{
"type": "video",
"url": "https://scontent-atl3-2.cdninstagram.com/o1/v/t2/f2/m86/AQPgq07YCL58lEnYTwDfDOp3myi7S6hyUc1WXcwoCC0uACtaUuM1K108LS_HWfMJUn0eFHauOBlcbpjAZG97bDmTsyUkXRgThbJSX0U.mp4?_nc_cat=105&_nc_sid=5e9851&_nc_ht=scontent-atl3-2.cdninstagram.com&_nc_ohc=iWAsKiwdhN0Q7kNvwFOYrrG&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuOTYwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MzIyNjExNDU4NDIwNzIwNCwiYXNzZXRfYWdlX2RheXMiOjQzLCJ2aV91c2VjYXNlX2lkIjoxMDA5OSwiZHVyYXRpb25fcyI6MzAsInVybGdlbl9zb3VyY2UiOiJ3d3cifQ%3D%3D&ccb=17-1&vs=f940667a7c99c38&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC9CODQ4NzQ0N0EzRDBGRTRFRjQxQUU3MzVCNjBBNUU4QV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HRGtPVENFaE5XU0NHd0VGQUxQWE4yMFlOZWNxYnFfRUFBQUYVAgLIARIAKAAYABsCiAd1c2Vfb2lsATEScHJvZ3Jlc3NpdmVfcmVjaXBlATEVAAAmyP3e3MqIuwsVAigCQzMsF0A-gAAAAAAAGBJkYXNoX2Jhc2VsaW5lXzFfdjERAHX-B2XmnQEA&_nc_gid=EminwtyrJPbGrJ21j9DBVQ&_nc_zt=28&oh=00_AfjUmis8hGGqhmngoGlujZKtfBvT_0KiFK_CxTw_pKUtNw&oe=691CFEDE",
"duration": 30.5
}
],
"_scraped_at": "2025-11-17T11:41:35.331810Z",
"_source_index": 2,
}
]

๐Ÿงช Example: CLI run with Apify CLI

$apify run --input input.json

input.json contains the same JSON shown above.

๐Ÿงพ Example: Accessing results

  • โ–ถ๏ธ After run completes, view dataset in Apify Console or download OUTPUT (key-value store).
  • ๐Ÿ“ฅ Use Apify API to programmatically download the OUTPUT file.

โš–๏ธ Performance & Limits

  • ๐Ÿงฏ Sequential processing: The current implementation processes URLs one-by-one to avoid triggering Instagram rate limits. This is safe for reliability but slower for large batches.
  • โšก Parallelization: For higher throughput, you can modify the actor to run scrape_reel_with_optional_proxy concurrently, but you must add rate-limiting, proxy/session handling, and backoff logic.
  • ๐ŸŒ Proxy impact: Using sessionized proxies (Apify Proxy with session_id=shortcode) helps avoid block detection but may require RESIDENTIAL proxies for some geolocation-limited content.
  • โฑ๏ธ Time per item: Typical runtime depends on network, proxy latency, and whether authentication is used โ€” expect several seconds to tens of seconds per item.
  • ๐Ÿงฎ Limits: Instagram imposes rate limits and content access restrictions. Frequent large-scale scraping may cause temporary IP bans or require authenticated sessions.

๐Ÿšจ Error Handling & Edge Cases

  • โ— Invalid URL / Shortcode parse failure: Actor logs error and stores {"original_url": "...", "error": "Can't parse shortcode..."} for that item. Continues with remaining URLs.
  • ๐Ÿ”’ Private/Restricted posts: If the post is private and you are not authenticated (or authentication fails), instaloader will throw โ€” actor captures the error in item result. Consider providing IG_USER/IG_PASS if you have permission to access.
  • ๐Ÿงฏ Rate-limiting / blocks: If Instagram throttles requests or block occurs, expect exceptions from instaloader. Use backoff, rotate proxies, or reduce concurrency.
  • ๐ŸŒ Proxy detection failure: detect_proxy_type is best-effort and depends on external IP lookup; it may return "unknown" if detection fails or network is restricted. This value is informational only.
  • ๐Ÿงท Missing fields: Some posts may lack certain fields (e.g., video_view_count or video_duration). The actor returns null/None for missing fields and still outputs available data.
  • ๐Ÿงฐ Instaloader exceptions: Any instaloader exception is captured and returned as the error field for that item.

โœ… Best Practices

  • ๐Ÿ” Start with a small batch of URLs to validate proxy/auth behavior before scaling.
  • ๐Ÿงญ Proxy strategy: Try DATACENTER proxies first (faster & cheaper). If you hit blocks or geolocation restrictions, switch to RESIDENTIAL proxies. (Actor input prefill shows RESIDENTIAL as an example, but your usage may differ.)
  • ๐Ÿ”’ Use credentials responsibly: If using IG_USER/IG_PASS, ensure you have the right to access accounts and store credentials securely via platform environment variables.
  • ๐Ÿงฐ Respect rate limits & ToS: Implement polite crawling practicesโ€”throttling and backoffโ€”and check Instagram Terms of Use and applicable laws.
  • ๐Ÿงฉ Post-processing: Use the formats array to fetch actual media files with a downloader; verify CORS/redirect behavior when using direct media URLs.
  • ๐Ÿ›ก๏ธ Monitoring: Track error rates and proxy type distribution to detect blocks or degraded performance.

๐Ÿงพ Common Use Cases

  • ๐Ÿ“Š Social media analytics โ€” aggregate metadata and formats for trend analysis.
  • ๐Ÿงพ Media archiving โ€” obtain thumbnails and direct media URLs for backup or legal archiving when permitted.
  • ๐Ÿ•ต๏ธ Brand monitoring โ€” track brand mentions and hashtags across video posts.
  • ๐ŸŽฏ Ad intelligence โ€” collect creative assets and metadata for competitive analysis.
  • ๐Ÿงช Testing & QA โ€” validate presence and properties of media for content pipelines.

๐Ÿงฏ Troubleshooting Checklist

  • ๐Ÿ” "Can't parse shortcode" โ€” Verify URL format (should contain /reel/ or /p/ or a post shortcode path).
  • ๐Ÿ”‘ Authentication errors โ€” Ensure IG_USER/IG_PASS are set correctly in actor environment variables; check instaloader login behavior.
  • ๐ŸŒ Proxy not working โ€” Validate proxy config in input; test proxy URL separately; try different Apify proxy groups (DATACENTER vs RESIDENTIAL).
  • ๐Ÿงฐ Missing media URLs โ€” Some videos may be served via temporary CDN tokens; re-fetch or download immediately after scraping.
  • ๐Ÿ“ˆ High error rate โ€” Reduce concurrency, rotate proxies, or use authenticated sessions.

๐Ÿงพ Development Notes (for maintainers)

  • ๐Ÿ› ๏ธ The actor uses instaloader in a background thread (asyncio.to_thread) to keep the main loop async-friendly.
  • ๐Ÿงญ Proxy URLs are created via Actor.create_proxy_configuration() and requested per shortcode with proxy_cfg.new_url(session_id=shortcode). Sessionized proxies reduce cross-item IP churn.
  • ๐Ÿ“ Numeric counts and durations are transformed by format_count and format_duration utilities for consumer-friendliness.
  • ๐Ÿงช detect_proxy_type performs a lightweight ipinfo.io request through the proxy to guess if itโ€™s a datacenter or residential provider. This is optional and best-effort.
  • โš™๏ธ To scale throughput, consider a worker-pool pattern with controlled concurrency and per-worker proxy sessions plus central rate-limiting/backoff.

๐Ÿงพ Legal & Compliance Disclaimer

  • โš–๏ธ This software is provided as-is. The author and publisher of this actor are not responsible for misuse. It is your responsibility to ensure compliance with:

    • ๐Ÿ”’ Instagram Terms of Service and platform policies
    • ๐Ÿ›๏ธ Local and international data protection laws (GDPR, CCPA, etc.)
    • ๐Ÿ“œ Any contractual obligations or permissions related to the content you access
  • ๐Ÿงญ Use responsibly. If uncertain about legal exposure, consult legal counsel.


๐Ÿ“ž Support & Contact

  • โœ‰๏ธ For questions, troubleshooting, or custom feature requests, contact: (mailto:alphascraper69@gmail.com)
  • ๐Ÿ”— For a Reels-specific actor refer to: https://console.apify.com/actors/oGR3xfeXTuIirhdlZ/input (example actor link provided in actor input documentation).

๐Ÿ Final Notes

  • ๐Ÿท๏ธ This actor is optimized for reliable metadata extraction and enterprise integration. Before large runs, test on a small sample set and tune proxy/authentication strategy.
  • ๐Ÿ”„ The actor writes both per-item dataset entries and an aggregated OUTPUT JSON in key-value store to fit different automation workflows.

Thank you for using Instagram Video Scraper โ€” built for stability, clarity, and enterprise readiness. ๐Ÿš€