Instagram Downloader Api
Pricing
from $20.00 / 1,000 results
Instagram Downloader Api
Download photos, videos, reels, and carousels from Instagram posts. Extracts detailed metadata for videos and images.
Pricing
from $20.00 / 1,000 results
Rating
5.0
(1)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
110
Total users
24
Monthly active users
48 days
Issues response
7 days ago
Last modified
Categories
Share
Download photos, videos, reels, and carousel posts from Instagram with full technical metadata. Supply direct post URLs or Instagram usernames and receive media files saved to Apify's key-value store alongside structured dataset records with resolution, duration, file size, and source post details.
What this actor does
- Download from post URLs — provide direct
/p/,/reel/, or/tv/links to download specific posts - Scrape by username — supply Instagram handles to automatically discover and download recent posts
- Carousel support — downloads every image in a multi-photo post as separate files
- Video metadata — captures resolution, duration, FPS, codec, bitrate, and file size for each video
- Image metadata — captures dimensions, file extension, and file size for each image
- Cloud storage — media is uploaded to Apify's key-value store with a public download URL returned in the dataset
- Reliable — built-in retry logic and automatic managed session rotation
Authentication
This actor requires Instagram session cookies to access post media. Authentication is handled automatically using a managed pool of shared Instagram sessions — no credentials or configuration are required from the user.
Output per media file
One dataset record is created per downloaded media file. A carousel post with 5 images produces 5 records.
Always present
filename— saved file name including extension (e.g.3918833148741120108.jpg)post_url— source Instagram post URLusername— Instagram handle of the post creatortype—imageorvideodownload_status—finishedwhen the file was successfully downloaded and storeddownloaded_at— ISO 8601 timestamp of when the file was downloadedstorage_key— key name used in Apify's key-value storedownload_url— public URL to access or download the file from Apify's key-value storemedia_meta_data— object containing technical file details (see below)
Fields inside media_meta_data — always present
width— media width in pixelsheight— media height in pixelsext— file extension (jpg,mp4, etc.)filesize_bytes— file size in bytesaspect_ratio— width-to-height ratio (rounded to 2 decimal places)
Fields inside media_meta_data — present only for videos
fps— frames per secondduration— video length in secondsvideo_codec— codec identifier (e.g.avc1)total_bitrate_kbps— total bitrate in kilobits per second
Input
| Field | Type | Default | Description |
|---|---|---|---|
postUrls | array | — | Direct Instagram post, reel, or IGTV URLs to download. Supports /p/, /reel/, and /tv/ formats |
usernames | array | — | Instagram handles whose recent posts should be downloaded (e.g. leomessi, natgeo) |
maxPosts_per_username | integer | 10 | Maximum number of recent posts to download per username. Range 1–100 |
At least one of postUrls or usernames must be provided.
Example: download specific posts by URL
{"postUrls": ["https://www.instagram.com/leomessi/p/DZifppZj_cB/","https://www.instagram.com/natgeo/reel/DYhkH24lf3j/"]}
Example: download recent posts from usernames
{"usernames": ["natgeo", "leomessi"],"maxPosts_per_username": 5}
Example: combine direct URLs with username scraping
{"postUrls": ["https://www.instagram.com/leomessi/p/DZifppZj_cB/"],"usernames": ["natgeo"],"maxPosts_per_username": 3}
Example output
{"filename": "3918833148741120108.jpg","post_url": "https://www.instagram.com/leomessi/p/DZifppZj_cB/","username": "leomessi","type": "image","download_status": "finished","downloaded_at": "2026-07-02T18:46:36.768000","storage_key": "3918833148741120108.jpg","download_url": "https://api.apify.com/v2/key-value-stores/abc123/records/3918833148741120108.jpg","media_meta_data": {"width": 1080,"height": 1350,"ext": "jpg","filesize_bytes": 284672,"aspect_ratio": 0.8}}
Known limitations
- Public posts only — private account posts are not accessible. The actor detects private profiles and skips them with an error record.
- Stories not supported — only permanent posts, reels, and IGTV are downloaded. Stories are excluded.
- Download URLs are temporary — files in Apify's key-value store follow standard Apify dataset retention. Export files before they expire if you need permanent storage.
- Username post discovery — post discovery from a profile scrolls up to 100 posts; the exact number available depends on how many posts Instagram surfaces in the feed.
Use cases
- Content archiving — save a creator's posts offline or back them up before deletion
- Brand monitoring — download posts from competitors or partners for analysis and reporting
- Social media research — collect video and image datasets from specific accounts for AI training or analysis
- Marketing asset collection — pull media from user-generated content campaigns for review
- Influencer analysis — download recent posts to assess visual content quality and engagement patterns
- Bulk media export — migrate Instagram media libraries to other platforms or storage systems
FAQ
Do I need an Instagram account or cookies to use this actor? No. Authentication is handled automatically using a managed pool of shared Instagram sessions. No credentials or configuration are required.
Can I download from private accounts? No. Private account posts are not publicly accessible. The actor detects private profiles and outputs an error record with the profile metadata instead of downloading media.
How many posts can I download per run?
There is no hard cap on the number of post URLs you can supply directly. For username-based scraping, the maxPosts_per_username field controls how many recent posts are fetched per profile (up to 100).
Are carousel posts (multiple images) supported? Yes. Each image in a carousel is downloaded as a separate file and produces its own dataset record. A 5-image carousel produces 5 records and 5 key-value store entries.
How long are the downloaded files available? Files are stored in Apify's key-value store and follow standard Apify dataset retention policies. Export them before they expire if you need permanent storage.
How fresh is the data? Data is scraped live at the time of the run. Media files and metadata reflect the current state of each post at the moment of scraping.
Is this actor affiliated with Instagram or Meta? No. This is an independent third-party tool that automates interaction with the public Instagram website. It is not endorsed by or affiliated with Meta Platforms, Inc.
Other Instagram Scrapers
Want to get other data from Instagram? Check out our complete suite of Instagram scrapers:
| Actor | Description |
|---|---|
| Instagram Post Scraper | Scrape public posts, reels, IGTV, and carousel posts from direct URLs — no login or cookies required |
| Instagram Comment Scraper | Scrape comments from any Instagram post or reel |
| Instagram Profile Scraper | Extract profile data, bio, follower counts, and more |
| Instagram Followers & Following Scraper | Scrape followers and following lists from any profile |
| Instagram Tagged Posts Scraper | Collect posts where a user has been tagged |
| Instagram Hashtag Scraper | Scrape posts and profiles by hashtag |
| Instagram Story Downloader | Download stories from Instagram profiles |
| Instagram Keyword Scraper | Search and scrape posts by keyword |
| Instagram Keyword Search Scraper | Search Instagram accounts and posts by keyword |
| Instagram Transcript Scraper | Extract transcripts from Instagram video content |