How to Download Instagram Reels & Videos (Direct URLs)
Get the direct video file behind any public reel or post - one at a time or every reel on a profile - with a free in-browser tool or a single API call that returns the CDN URL.
- /v1/post/media
- /v1/profile/reels
Instagram has no download button, and the video URL is buried in the page data. /v1/post/media pulls it out: pass a reel or post URL and it returns the direct CDN link to the video and its cover. For one reel the free Instagram video downloader plays it in Instagram's own player and hands you the file; for bulk, loop the API.
One reel or post
Send the permalink to /v1/post/media. You get a media array - each item has the direct url, a thumb cover and an is_video flag. Carousels return one item per slide.
Every reel from a profile
List the profile's reels with /v1/profile/reels (up to 1,000, each with its url), then pass each URL to /v1/post/media for the file - that's how you archive a whole account's videos.
Photos and carousels too
The same endpoint handles photos and multi-image carousels: videos come back as downloadable files, images as full-resolution URLs.
The links are time-limited
Instagram's CDN URLs are signed and expire, so download the file soon after you fetch the link rather than storing the URL. Re-call the endpoint for a fresh one.
Full example (Python)
import requests
# Get an API key: https://rapidapi.com/goodstobkal-goodstobkal-default/api/instagram-scraper57
HOST = "YOUR-API-HOST.p.rapidapi.com"
HEADERS = {"x-rapidapi-key": "YOUR_RAPIDAPI_KEY", "x-rapidapi-host": HOST}
BASE = f"https://{HOST}"
REEL = "https://www.instagram.com/reel/CtjoC7DNyGx/"
media = requests.get(f"{BASE}/v1/post/media", headers=HEADERS,
params={"url": REEL}).json()["media"]
for i, m in enumerate(media):
print(m["url"]) # direct CDN link (expires - fetch it soon)
if m["is_video"]:
open(f"reel_{i}.mp4", "wb").write(requests.get(m["url"]).content)Replace YOUR-API-HOST and YOUR_RAPIDAPI_KEY with the values from the listing's Endpoints tab on RapidAPI.
Frequently asked questions
How do I download an Instagram reel?
Paste the reel URL into the free video downloader, or call /v1/post/media for the direct file URL.
Can I download every reel from an account?
Yes - list them with /v1/profile/reels, then pass each reel URL to /v1/post/media.
Are the videos watermarked?
No - these are the original files Instagram serves, not a screen recording.