Save Instagram videos (reels, posts, etc.) straight to your Camera Roll with one tap.
You know when you see a video on Instagram and want to save it? This lets you do that. You tap "Share" on any Instagram video, pick this shortcut, and the video gets saved to your photos. That's it.
There are two pieces:
- A small server that runs on your computer (or in the cloud) — it figures out where Instagram is hiding the actual video file
- An iPhone Shortcut — the thing you tap on your phone that talks to that server and saves the video
You need a computer (Mac, Windows, or Linux) to run the server. Pick one of the options below.
Docker is an app that runs other apps in a container. If you already have it, great. If not, skip to Option B.
- Open Terminal (Mac) or Command Prompt (Windows)
- Type these two lines, hitting Enter after each one:
cd api
docker build -t ig-downloader .
docker run -d -p 8080:8080 --name ig-downloader ig-downloader
That's it — the server is now running.
You need Python installed. Most Macs already have it. Windows users can download it from python.org.
- Open Terminal (Mac) or Command Prompt (Windows)
- Type these lines one at a time, hitting Enter after each:
cd api
pip install -r requirements.txt
python app.py
You should see a message saying the server is running. Keep this window open — closing it stops the server.
Your iPhone needs to be able to talk to your server over the internet. The easiest free way:
- Go to playit.gg or ngrok.com and make a free account
- Follow their instructions to create a "tunnel" pointing to port
8080 - They'll give you a web address like
https://something.ngrok-free.app— write this down, you need it for the next step
(If your phone and computer are on the same Wi-Fi, you can also just use your computer's local IP address like http://192.168.1.xxx:8080, but this only works at home.)
- Open the Shortcuts app on your iPhone (it's pre-installed — search for it if you can't find it)
- Tap the + button in the top-right to make a new shortcut
- Tap the name at the top and rename it to "Download Instagram Video"
Now add these actions in order by tapping "Add Action" and searching for each one:
Action 1: Receive What's On Screen
- Search for "Receive" and pick "Receive input from Share Sheet"
- Tap on the types and select URLs only
Action 2: If There's No Input
- Search for "If" and add it
- Set it to: If → Shortcut Input → does not have any value
- Inside the "If" block, search for and add "Ask for Input"
- Set the prompt to:
Paste Instagram video URL - Set the type to URL
- Set the prompt to:
- Tap "Otherwise" and drag the "Shortcut Input" into that section
- This way it works whether you share from Instagram OR paste a link manually
Action 3: Get the Video Link from Your Server
- Search for "Get Contents of URL" and add it
- For the URL, type:
https://YOUR-SERVER-ADDRESS/extract?url= - Then tap the end of that URL and insert the variable from the previous step (the URL you received or typed)
Action 4: Pull Out the Video Link
- Search for "Get Dictionary Value" and add it
- Set the key to:
video_url
Action 5: Download the Actual Video
- Add another "Get Contents of URL"
- This time, set the URL to the Dictionary Value from the previous step (tap the variable button)
Action 6: Save It
- Search for "Save to Photo Album" and add it
- Pick Recents (or any album you want)
Action 7: Done!
- Search for "Show Notification" and add it
- Set the title to:
Video Saved!
That's all 7 actions. Tap Done in the top-right.
- In the Shortcuts app, long-press your new shortcut
- Tap the info (i) button or Edit
- Tap the settings icon (top right inside the editor)
- Turn on "Show in Share Sheet"
- Under Share Sheet Types, make sure URLs is selected
- Tap Done
- Open Instagram, find a video you like
- Tap the paper airplane (Share) button on the post
- Tap "Share to..." or "Copy Link"
- If you shared: pick "Download Instagram Video" from the share menu
- If you copied: open the Shortcuts app and tap your shortcut — it will grab the link from your clipboard
- Wait a few seconds — you'll get a notification when it's saved
- Check your Photos app — the video is there!
| Problem | Fix |
|---|---|
| "Could not connect to server" | Make sure your server is running and the tunnel is active |
| "Invalid Instagram URL" | Make sure you're sharing a video post, not a photo or story |
| Video won't download | Instagram may have changed something — try updating yt-dlp: run pip install --upgrade yt-dlp on your computer |
| Shortcut doesn't appear in Share Sheet | Go back to Part 4 and make sure "Show in Share Sheet" is turned on |
MIT — do whatever you want with it.