Instagram Post Downloader (Image & Video) avatar

Instagram Post Downloader (Image & Video)

Pricing

from $9.00 / 1,000 scraped instagram posts

Go to Apify Store
Instagram Post Downloader (Image & Video)

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

CodeNest

Maintained by Community

Actor stats

3

Bookmarked

60

Total users

4

Monthly active users

8 days ago

Last modified

Share

Instagram Post & Reels Scraper β€” Fast & Comprehensive Media Extractor

Apify Actor Python 3.12 Engine

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_images array and carousel_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 #hashtags and @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

FieldTypeDefaultDescription
profileUrlsArray of strings[]Instagram profile URLs or usernames (e.g. ["nba", "https://www.instagram.com/apple/"]).
postUrlsArray of strings[]Specific post or reel URLs to scrape directly (e.g. ["https://www.instagram.com/reel/DW1jJbtCMB8/"]).
maxReelsInteger50Maximum posts/reels to scrape per profile in chronological order (newest first).
includeDetailedEngagementBooleanfalseWhen enabled (true), enriches each post with latest comments, tagged users, and granular carousel items (detailed-engagement-scraped event).
proxyConfigurationObject{"useApifyProxy": true}Apify Proxy configuration (residential or datacenter proxies).
sessionIdString""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 NameTypeDescription
apify-actor-startStartupCharged once per run to initialize container and proxy connection.
post-scrapedPer ItemBase event charged for each Instagram post or reel scraped.
detailed-engagement-scrapedOptional Add-onCharged per post only when includeDetailedEngagement is set to true.

πŸ’» Local CLI Usage

You can also run this scraper directly via terminal:

# Scrape a profile feed
python -m src --url "https://www.instagram.com/nba/" --max-reels 25 --output nba_reels.json
# Scrape a single post or reel
python -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 sessionid cookie in the input if you want to scrape beyond 10-12 posts on restricted profiles.