Guide

Instagram saved collection downloader

You saved four hundred reels into a collection and now you want them as files. There is no export button, no bulk download, and the one tool that could normally handle this cannot see the page. Here is why, and how ArcDLP works around it.

Download ArcDLP free MIT licensed · v1.4.x · Mac, Windows, Linux

Why this is harder than it sounds

yt-dlp handles individual Instagram posts and reels perfectly well. Give it instagram.com/reel/ABC123/ and you get a file. It has no extractor for saved collections, and that is not an oversight.

A saved collection lives at a URL like instagram.com/yourname/saved/collection-name/17841/. That page is private to you, rendered entirely client side by JavaScript, and paginated by infinite scroll. There is no public API endpoint that returns the list, and no static HTML containing the post URLs. A command line tool that fetches the page gets back an empty shell.

So the collection is a list problem, not a download problem. Once you have the individual post URLs, yt-dlp does the rest without complaint.

Step by step

  1. Sign in. Settings → Instagram Account → Sign in. Instagram's own login page opens in a separate window. Complete it including two factor if you have it on, and the window closes itself once you land on your feed.
  2. Copy the collection URL. Open the collection in a browser and copy the address bar. It will contain /saved/ in the path. The generic /saved/all-posts/ view works too.
  3. Paste and click Fetch. ArcDLP recognises the URL shape as a collection and switches into scraping mode. The log panel reports the running count as posts come in, so you can watch it work.
  4. Select what you want. Results appear in a checklist with thumbnails and captions. Everything starts ticked. Use Deselect all if you only want a handful.
  5. Pick a format and queue it. One format applies to the whole batch, so choose best quality, a specific resolution, or an audio-only format like MP3. Then Add Selected to Queue.

If you get a login error. A message about Instagram sign-in being required means the session expired rather than that something is broken. Instagram sessions do not last forever. Sign out and sign in again under Settings → Instagram Account and re-run the fetch.

What it cannot do

Being straight about this, because a scraper working against a hostile, frequently changing page is never going to be flawless.

Situation What happens
Collection contains photos Photos are skipped. Videos and reels only.
Very large collection Instagram rate limits aggressive scrolling. You may get a partial list. Wait and run it again to pick up the rest.
Not signed in The page redirects to login and the fetch stops with a clear error.
Someone else's collection Not possible. Saved collections are private to the account that made them.
Instagram changes its markup Scraping is inherently brittle. If it stops finding posts, open an issue.
An individual post fails The queue keeps going and marks that one failed. Retry it on its own afterwards.

Single reels and posts

You do not need any of the above for one video. Paste a reel or post URL directly and ArcDLP treats it like any other site, going straight to yt-dlp. Signing in still helps, since it lets you reach content from private accounts you follow, but public reels work without it.

Where your credentials go

Instagram's real login page opens in an isolated browser session. Your password goes to Instagram and ArcDLP never sees it. What the app keeps is the resulting session cookies, written to a local file only when a download needs them, and only for instagram.com and its related domains.

Signing out clears the session and deletes the cookie file. Settings → Reset app wipes all app data including both the YouTube and Instagram sessions. Nothing is transmitted anywhere else, and the whole cookie handling path is about 250 lines you can read yourself.

Your saved collection is your own bookmark list, but the videos in it were mostly made by other people who hold the copyright. Keeping a personal offline copy of things you have saved is one thing. Republishing them, or reuploading them to another platform, is something else and generally is not yours to do. It may also breach Instagram's terms of service. ArcDLP is a tool, and what you point it at is your call.

FAQ

Can yt-dlp download an Instagram saved collection?
Not directly. yt-dlp has extractors for individual posts and reels but no extractor for saved collections, because the collection page is rendered client side and needs your own session. ArcDLP bridges that gap by scraping the page for post URLs, then handing each one to yt-dlp individually.
Does it download photos from a saved collection?
No. Photo posts are filtered out automatically because yt-dlp only handles video. A collection mixing photos and reels will list only the video posts.
Is my Instagram password safe?
ArcDLP opens Instagram's real login page in a separate window. Your password goes directly to Instagram and the app never sees it. Only the resulting session cookies are stored locally, and Sign out clears them.
Why did it only find some of the posts in my collection?
Instagram loads collections progressively and rate limits heavy scrolling. ArcDLP stops after several scrolls with no new posts, or after a four minute timeout, and returns whatever it found. On very large collections, waiting a while and running it again usually picks up the rest.
Can I download just the audio from reels?
Yes. In the format dropdown, pick MP3, M4A or Opus and it applies to every selected post in the batch.
Does this work on Windows and Linux too?
Yes, identically on all three platforms. See the Mac, Windows and Linux setup guides.

Download ArcDLP

Free and MIT licensed. Instagram sign-in, collection scraping and the download queue are all built in.