Platform guide
How to download Instagram videos and Reels with yt-dlp
Instagram is the platform where the plain-URL approach fails first. Nearly everything now sits behind a login wall, so anonymous yt-dlp requests either error out or get redirected to a sign-in page. The working setup is simple, but it starts with cookies — not with the URL.
Quick answer
yt-dlp --cookies-from-browser chrome "https://www.instagram.com/reel/ABC123xyz/"Log in to Instagram in Chrome (or swap in firefox, edge, safari), then run the command above. The cookies flag is not an optional extra here — without a logged-in session, expect a login wall or an empty extraction.
What needs cookies
Assume the answer is "everything". An occasional public reel may extract anonymously, but Instagram has tightened anonymous access steadily, and what works today without login tends to stop working without notice. Building the cookies flag into your command from the start saves you a debugging session later.
URL types that work
- • Reels:
instagram.com/reel/SHORTCODE/— the most reliable target. - • Video posts:
instagram.com/p/SHORTCODE/— regular feed posts that contain video. - • IGTV (legacy):
instagram.com/tv/SHORTCODE/— old IGTV links still resolve, though Instagram folded the format into regular video.
Rate-limit reality
Instagram actively flags accounts that fetch aggressively, and those flags land on the account whose cookies you are using. Keep the volume low, add pauses between requests, and treat every fetch as something Instagram is counting:
yt-dlp --cookies-from-browser chrome --sleep-requests 2 "https://www.instagram.com/reel/ABC123xyz/"Stories and highlights: less reliable
Honest answer: stories and highlights extract less reliably than reels and posts. They are ephemeral, served through different endpoints, and support breaks more often between releases. If a story URL fails with current yt-dlp and valid cookies, that is a known rough edge — not something a different flag will fix.
The mistake to avoid
Do not run high-volume Instagram fetching through your personal account cookies. That is exactly the pattern that gets accounts action-blocked or suspended — and the block hits the account, not the script. Keep personal-account usage occasional and low-volume.
Recurring sources
Pulling from the same sources on repeat?
Paste a link to preview what a maintained import API returns for it — across 500+ platforms.