Instagram Post Downloader (Image & Video)
Pricing
from $9.00 / 1,000 scraped instagram posts
Instagram Post Downloader (Image & Video)
(Cheapest Rate) Download Instagram media: Full-resolution images πΌ + videos π₯ with metadata analytics (engagement , creator π€, timestamps β±). Apify key-value storage toggle π. Structured JSON output . Production-ready infrastructure.π₯ Instagram Post Downloader (Image & Video) .
Pricing
from $9.00 / 1,000 scraped instagram posts
Rating
5.0
(1)
Developer
CodeNest
Maintained by CommunityActor stats
3
Bookmarked
60
Total users
4
Monthly active users
8 days ago
Last modified
Categories
Share
Instagram Post & Reels Scraper β Fast & Comprehensive Media Extractor
High-speed, enterprise-grade Apify Actor to scrape Instagram profile feeds, chronological posts, reels, and individual post/reel URLs. Extracts full high-resolution carousel photos, direct downloadable MP4 video links, view counts, like counts, comment counts, hashtags, mentions, captions, timestamps, and author metadata.
Powered by a lightweight Chrome TLS impersonation engine that runs in milliseconds with 0% browser overhead and zero heavy headless browser delays.
π Key Features
- β‘ Ultra-Fast & Lightweight: Built on advanced Chrome TLS impersonation with zero browser overhead, saving compute and starting up in less than 2 seconds.
- πΈ Complete Multi-Image Carousels: Extracts all full-resolution image links in multi-photo carousel posts (
carousel_imagesarray andcarousel_media_count). - π¬ Direct Downloadable Video URLs: Delivers direct MP4 links (
post_downloadable_url) for Instagram Reels and video posts. - π Accurate Engagement Metrics: Real-time extraction of view counts (
views_count), likes (like_count), comments (comment_count), shares, and reposts. - π€ Full Profile & Author Info: Verified badge status, follower count, following count, bio, and author IDs.
- π·οΈ Hashtags & Mentions: Cleanly parsed lists of
#hashtagsand@mentions. - π¬ Detailed Engagement (Optional): Full latest comments, tagged accounts, and granular carousel sub-items on demand.
- π Spreadsheet & Table Ready: Each post is pushed as an individual dataset item with a rich overview table and 1-click CSV, Excel, or JSON export.
π₯ Input Parameters
| Field | Type | Default | Description |
|---|---|---|---|
profileUrls | Array of strings | [] | Instagram profile URLs or usernames (e.g. ["nba", "https://www.instagram.com/apple/"]). |
postUrls | Array of strings | [] | Specific post or reel URLs to scrape directly (e.g. ["https://www.instagram.com/reel/DW1jJbtCMB8/"]). |
maxReels | Integer | 50 | Maximum posts/reels to scrape per profile in chronological order (newest first). |
includeDetailedEngagement | Boolean | false | When enabled (true), enriches each post with latest comments, tagged users, and granular carousel items (detailed-engagement-scraped event). |
proxyConfiguration | Object | {"useApifyProxy": true} | Apify Proxy configuration (residential or datacenter proxies). |
sessionId | String | "" | Optional Instagram sessionid cookie value for higher rate limits and private account access. |
Input Example
{"profileUrls": ["https://www.instagram.com/nba/","apple"],"postUrls": ["https://www.instagram.com/reel/DW1jJbtCMB8/"],"maxReels": 20,"includeDetailedEngagement": false,"proxyConfiguration": {"useApifyProxy": true}}
π€ Output Format
Each scraped post is pushed as an individual record in the Apify Dataset. A consolidated summary is also available in Key-Value store records/OUTPUT.
Dataset Item Example
{"post_num": 1,"shortcode": "DW1jJbtCMB8","post_url": "https://www.instagram.com/reel/DW1jJbtCMB8/","post_type": "video","is_video": true,"title": "Unbelievable game winner! ππ₯","caption": "Unbelievable game winner! ππ₯","author_name": "nba","author_url": "https://www.instagram.com/nba/","author_id": 19829283,"media_id": "3348123847923482390","thumbnail_url": "https://instagram.faal2-1.fna.fbcdn.net/v/...","thumbnail_width": 640,"thumbnail_height": 1136,"post_downloadable_url": "https://instagram.faal2-1.fna.fbcdn.net/o1/v/...","carousel_images": [],"carousel_media_count": 0,"reactions": "125.4K","like_count": 125400,"comments": "1.2K","comment_count": 1205,"views": "1.8M","views_count": 1845000,"shares": "34.2K","shares_count": 34200,"hashtags": ["nba", "basketball", "gamewinner"],"mentions": ["stephencurry30"],"upload_time": "2026-10-20T14:22:10Z","owner_username": "nba","owner_full_name": "NBA","owner_followers_count": 89400000,"owner_is_verified": true,"profile_url": "https://www.instagram.com/nba","scraped_at": "2026-10-21T08:14:00Z"}
π° Pay-Per-Event Pricing Model
| Event Name | Type | Description |
|---|---|---|
apify-actor-start | Startup | Charged once per run to initialize container and proxy connection. |
post-scraped | Per Item | Base event charged for each Instagram post or reel scraped. |
detailed-engagement-scraped | Optional Add-on | Charged per post only when includeDetailedEngagement is set to true. |
π» Local CLI Usage
You can also run this scraper directly via terminal:
# Scrape a profile feedpython -m src --url "https://www.instagram.com/nba/" --max-reels 25 --output nba_reels.json# Scrape a single post or reelpython -m src --post-url "https://www.instagram.com/reel/DW1jJbtCMB8/" --output single_reel.json
π‘οΈ Best Practices & Rate Limits
- Proxies: Always enable Apify Residential Proxies (
RESIDENTIAL) when scraping high volumes to avoid Instagram temporary rate-limiting. - Session ID: Provide your Instagram
sessionidcookie in the input if you want to scrape beyond 10-12 posts on restricted profiles.