Skip to content
View Dannyboycalifornia's full-sized avatar

Block or report Dannyboycalifornia

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Dannyboycalifornia/README.md

Instagram Video Downloader for iPhone

Save Instagram videos (reels, posts, etc.) straight to your Camera Roll with one tap.

What Does This Do?

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:

  1. A small server that runs on your computer (or in the cloud) — it figures out where Instagram is hiding the actual video file
  2. An iPhone Shortcut — the thing you tap on your phone that talks to that server and saves the video

Step-by-Step Setup

Part 1: Get the Server Running on Your Computer

You need a computer (Mac, Windows, or Linux) to run the server. Pick one of the options below.

Option A: If You Have Docker Desktop Installed

Docker is an app that runs other apps in a container. If you already have it, great. If not, skip to Option B.

  1. Open Terminal (Mac) or Command Prompt (Windows)
  2. 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.

Option B: If You Don't Have Docker (simpler)

You need Python installed. Most Macs already have it. Windows users can download it from python.org.

  1. Open Terminal (Mac) or Command Prompt (Windows)
  2. 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.

Part 2: Make Your Server Reachable from Your Phone

Your iPhone needs to be able to talk to your server over the internet. The easiest free way:

  1. Go to playit.gg or ngrok.com and make a free account
  2. Follow their instructions to create a "tunnel" pointing to port 8080
  3. They'll give you a web address like https://something.ngrok-free.appwrite 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.)

Part 3: Build the Shortcut on Your iPhone

  1. Open the Shortcuts app on your iPhone (it's pre-installed — search for it if you can't find it)
  2. Tap the + button in the top-right to make a new shortcut
  3. 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: IfShortcut Inputdoes 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
  • 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.

Part 4: Make It Show Up When You Share

  1. In the Shortcuts app, long-press your new shortcut
  2. Tap the info (i) button or Edit
  3. Tap the settings icon (top right inside the editor)
  4. Turn on "Show in Share Sheet"
  5. Under Share Sheet Types, make sure URLs is selected
  6. Tap Done

How to Use It

  1. Open Instagram, find a video you like
  2. Tap the paper airplane (Share) button on the post
  3. 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
  4. Wait a few seconds — you'll get a notification when it's saved
  5. Check your Photos app — the video is there!

Troubleshooting

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

License

MIT — do whatever you want with it.

Popular repositories Loading

  1. Dannyboycalifornia Dannyboycalifornia Public

    Config files for my GitHub profile.

    Python