Instagram has no built-in way to keep a reel, story, or carousel post, and screen-recording butchers the quality. This shortcut works around that by pulling the original media straight to your iPhone, then letting you choose where it lands. Photos, videos, stories, highlights, reels, even a full-resolution profile picture all come down through the same Share Sheet flow.
What it does
Find a post you like, tap Share, and send the link to the shortcut. It grabs the underlying media and saves it wherever you tell it to. The first run walks you through a few preferences, like whether to overlay the username on a photo or fetch a reel’s cover image, and every answer is editable later from the settings menu.
It does more than single posts, though. There’s batch downloading through a companion Indexer shortcut, a single-photo repost helper, and a follower-analysis tool that reports who followed or unfollowed you since the last check. Stories and highlights work on private profiles too, as long as the account you’re logged into follows them.
What it can save
- Posts and reels: single items or full carousels, with a grid picker for choosing which pieces of a multi-item post to keep
- Stories and highlights: share a story directly, or copy a highlight’s URL; private accounts work when you already follow them
- Profile photos: full resolution, saved with the account’s bio; a profile URL can also pull every active story at once
Getting it set up
- Install Scriptable from the App Store, since the shortcut leans on it to hold your login cookies between sessions.
- Make sure iCloud Drive is switched on, because the shortcut won’t run without it.
- Tap Add Shortcut on this page and leave its name exactly as “Instagram Media Saver”, since renaming it breaks the setup.
- Run it once and pick your default storage location when prompted.
Running the shortcut
Day to day, you’ll mostly use the Share Sheet: open a post or reel, hit the share icon, scroll to Instagram Media Saver. For stories, share the story itself while you’re watching it, and highlights need their URL copied first. You can also skip Share entirely, copy a link to your clipboard, then launch the shortcut and pick “Run” from its main menu.
That main menu is where the rest lives: modifying or resetting settings, clearing the multi-post URL list, deleting media stored in iCloud Drive, or running a follower analysis. One warning on that last one. Don’t run it with the Shortcuts editor open, because the number of repeats will crash the app.
Where your downloads go
You choose during first run. iCloud Drive saves everything to a Shortcuts/Instagram Media Saver folder, post text included if you opt in. Picking Photos drops media into your library and offers to copy the caption. The “Don’t store, share only” option skips saving and opens a Share Sheet so you can hand the files off elsewhere.
When something breaks
The shortcut returns a “metadata” menu or says the Media ID can’t be found. Run the author’s test script in Scriptable (linked in the RoutineHub description) to confirm the app works, then try again.
Photos permission keeps resetting on iOS 18. If your Photos app is locked behind Face ID, the “Always Allow” choice may not stick. Unlock that protection first.
Private stories won’t download. The account you logged into Scriptable with has to follow that private profile, or the request fails.
Quick answers
Do I really need Scriptable, or can I skip it?
There’s no way around it. The shortcut stores your Instagram cookies inside Scriptable, and that’s what lets it reach public and private media.
Why can’t I rename the shortcut?
Its setup writes to a folder tied to the exact name “Instagram Media Saver.” Change the name and the saved settings stop matching up, so the flow falls apart.
How do I grab a bunch of posts at once?
That’s the multi-post feature, and it needs the separate Instagram Indexer shortcut to build a list first. Index the posts in Safari, then choose how many of the queued URLs to download.