Instagram Media Archive Downloader
Pricing
from $3.00 / 1,000 public post resolveds
Instagram Media Archive Downloader
Download public Instagram post, Reel, cover, and carousel media into customer-owned run storage with ordered manifests, file hashes, limits, and truthful retrieval status.
Pricing
from $3.00 / 1,000 public post resolveds
Rating
0.0
(0)
Developer
Data Slayer
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 hours ago
Last modified
Categories
Share
Download the actual files from public Instagram posts, Reels, videos, and carousels into your own Apify run storage, with an ordered manifest that tells you exactly what was stored, skipped, or unavailable.
Watch the demo
YouTube video coming soon.
Why use this Actor?
Media links returned by social platforms are delivery links, not an archive. They can expire, change, or require another fetch when your automation finally needs the file. This Actor retrieves the bytes during the run, validates the content, saves each accepted file in your run's key-value store, and gives you a manifest you can audit.
Use it to:
- archive your own or licensed campaign posts before they change;
- collect every ordered slide from a public carousel;
- hand client assets to editing, transcription, or review workflows;
- retain source IDs, file hashes, byte sizes, and retrieval status for research;
- build bounded media-ingestion pipelines without Instagram login cookies.
Supported inputs
Add 1–10 items in one run. Each item can be:
- a public post URL such as
https://www.instagram.com/p/SHORTCODE/; - a public Reel URL such as
https://www.instagram.com/reel/SHORTCODE/; - a public TV URL such as
https://www.instagram.com/tv/SHORTCODE/; or - a bare post shortcode.
Profile, hashtag, Explore, and story-page URLs are not accepted. Duplicate shortcodes are processed once.
Choose what to store
- Download videos stores Reel, video-post, and video-carousel MP4 files when available.
- Download images and covers stores photo posts, image-carousel slides, and available video or Reel cover images.
At least one media type must remain selected.
Keep every run bounded
Three visible limits protect runtime and cost:
- Maximum files — default 100, maximum 200.
- Maximum size per file — default 100 MB, maximum 250 MB.
- Maximum total download size — default 500 MB, maximum 1,000 MB.
Input size limits use decimal megabytes: 1 MB equals 1,000,000 bytes. The separate storage billing unit is 10 MiB, or 10,485,760 successfully stored bytes.
When a limit is reached, the Actor stops starting new downloads and marks every known remaining asset in the manifest. It does not silently drop carousel positions.
What you receive
The default dataset contains one manifest row per unique source post. A resolved row is designed to include:
- source post ID, shortcode, canonical post URL, and media type;
- source asset ID and ordered carousel position;
- image, video, or cover classification;
- deterministic storage key and stored record URL;
- validated MIME type, byte size, and SHA-256 hash;
- per-asset retrieval status and a safe error category when applicable;
- expected, stored, skipped, and failed asset counts;
- missing carousel positions and an overall completeness state;
- retrieval timestamp and the run storage retention note.
The run summary records input duplicates, content lookup attempts, retries, downloaded files and bytes, limit stops, complete and partial posts, and spending-limit state. It does not expose private service configuration or temporary delivery URLs.
Partial failures stay useful
A carousel can contain a mix of images and videos, and individual files can become unavailable at different times. Each asset is handled independently. If one slide times out, exceeds your size cap, returns an unexpected content type, or disappears, the files already stored remain available and the missing position is explicit.
The proposed normalized statuses include:
stored;skipped_file_limit;skipped_file_size;skipped_total_size;not_attempted_charge_limit;media_unavailable;invalid_media_content;unsafe_media_redirect;retrieval_timeout;download_failed; andstorage_write_failed.
Post-level results use complete, partial, no_selected_assets, not_available, failed, or not_attempted_charge_limit. Public errors contain only a normalized code, customer-safe message, and retryable flag.
Security and file validation
The Actor accepts media downloads only over HTTPS from approved Instagram media hosts. Redirects are limited and every redirect target is checked again. Stored files must use an allowed media MIME type and match the corresponding file signature. Downloads are streamed under byte limits, and private-network or arbitrary external URLs are never fetched from user input.
Retention and access
Files are written to the default key-value store created for your run. They are isolated in your Apify account and follow your plan's data-retention and access settings. The returned record URL remains usable only while the record and store exist.
An unnamed run store is not a permanent archive. If you need longer retention, preserve or rename the store in Apify and account for the ongoing storage cost. This Actor does not copy files into a developer-owned shared archive.
Pricing
Pricing is based on public posts successfully resolved and the volume of bytes successfully stored. Failed downloads are not billed as stored bytes. Images, videos, covers, and carousel slides do not carry separate feature add-ons.
| Plan | Resolved post manifest | Each started 10 MiB stored | Run start |
|---|---|---|---|
| Free | $0.0040 | $0.0120 | $0.00005 |
| Bronze | $0.0036 | $0.0105 | $0.00005 |
| Silver | $0.0033 | $0.0095 | $0.00005 |
| Gold | $0.0030 | $0.0087 | $0.00005 |
| Platinum | $0.0030 | $0.0087 | $0.00005 |
| Diamond | $0.0030 | $0.0087 | $0.00005 |
Storage units are rounded once across the whole run, not once per file. Gold, Platinum, and Diamond use identical event prices.
You can set a maximum run charge in Apify. When the remaining limit cannot cover more work, the Actor stops before another lookup or download and keeps the completed manifest.
Responsible use
Download only public media you have the right to retain and use. Respect copyright, privacy, publicity rights, platform terms, and applicable law. This Actor does not bypass private-account access controls and does not require Instagram login credentials.
Limits to understand
- Availability is limited to public content that can be resolved at run time.
- A post deleted or restricted before the run may not be retrievable.
- The Actor cannot reconstruct assets that the source no longer serves.
- Retention is controlled by your Apify storage, not guaranteed forever by the Actor.
- Completion means every selected asset observed for that post was stored; it does not claim knowledge of content absent from the retrieval result.
FAQ
How much does it cost to run this Actor? Pricing is listed in the Pricing section above, charged per row returned. You only pay for the rows the Actor actually produces, so a small test run costs cents.
Do I need cookies or a login? No. This Actor reads public data only - no cookies, no account, no browser automation.
Can I schedule it? Yes. Run it from the Apify API, on a schedule, or via a webhook, and export results as JSON, CSV or Excel.
What if I need a slightly different output? Open an issue on the Actor's Issues tab describing the shape you need.
Related actors
More Instagram actors from the same portfolio. Apify only auto-recommends actors in the same category, so here are the rest of ours: