Why an Instagram link sometimes points at nothing
The most common reason an Instagram link refuses to work is that it never pointed at the video in the first place. A URL copied out of the address bar while you are scrolling the feed often describes your position in that feed rather than a specific post, and nothing can turn that back into a video. The fix takes two taps: use the Share control on the post itself. This guide explains the difference between those two kinds of link, why /p/ and /reel/ can both lead to the same clip, what the ?igsh= parameter on a shared link is doing there, and what is going on when the link is genuinely correct and the download still fails.
A feed URL and a permalink are not the same address
A permalink identifies one post. A feed URL identifies where you were looking. Instagram's web feed is a continuous scroll, and the address in your browser bar updates as posts pass through the viewport, so what you copy mid scroll is a snapshot of a session rather than a stable address for a piece of media.
That is why the same paste can behave differently ten seconds apart, and why a link that worked when you sent it to a friend fails when you paste it into a tool an hour later. The friend opened Instagram, which knew what to do with the session state. A downloader arriving from outside has no session, so it sees an address that describes nothing it can fetch.
No competitor page explains this, which is why the usual advice is to try a different tool. Trying a different tool does not help, because the problem is upstream of every tool. The link has to name the post before anything can act on it.
If a link works in your own browser but not in a downloader, suspect the link before you suspect the downloader. Your browser has context that nothing else does.
How to copy a link that always works
Use the Share control on the post, then Copy link. That path always produces a permalink, on the phone app and on the web, and it is the single habit that removes most of these failures.
On the app, the paper plane icon under a feed post and the arrow on a Reel both open the share sheet, and Copy link sits in it. On the web, the three dots on the post open a menu with the same option. In both cases you are asking Instagram for the canonical address of that post rather than reading whatever the browser happens to be showing.
- Open the post so it fills the screen, rather than leaving it half scrolled in the feed.
- Tap the paper plane icon, the arrow, or the three dots, depending on where you are.
- Choose Copy link. Instagram writes a permalink to your clipboard.
- Paste it into the Instagram downloader and press fetch. The thumbnail that comes back tells you at a glance whether the right post loaded.
Why /p/ and /reel/ both exist
They are two different paths that can hold the same media, and neither one is wrong. Instagram serves feed posts under /p/ and Reels under /reel/, but a video published as a Reel also appears in the grid as a feed post, so the same clip can legitimately have an address on either path.
This confuses people in a specific way. Somebody copies a link to something they think of as a Reel, sees /p/ in the URL, and assumes the link is broken or that they copied the wrong thing. It is neither. Both addresses name the post, and both are fetched the same way here.
The practical rule is to stop reading the path and look at what comes back. When you paste a link and the correct thumbnail and title appear, the address was fine regardless of which of the two paths it used. When nothing comes back, the path is almost never the reason.
- /p/ is the feed post path. It holds photos, carousels and videos.
- /reel/ is the Reels path. It holds the vertical video format.
- The same video can sit behind either one, so a /p/ link to a Reel is normal and not an error.
- Photos and carousels of images are not video, so those posts have nothing for a downloader to return whichever path they use.
The ?igsh= parameter is tracking, and it is harmless
A link copied from the Instagram share sheet usually carries ?igsh= followed by a string of characters. That is share sheet tracking, added so Instagram can see how a link travelled. It is not part of the address of the post.
You can remove everything from the question mark onwards and the link still resolves to exactly the same video. You can also leave it alone, because it is ignored when the post is fetched. Either way it makes no difference to whether a download works, which is worth knowing because a fair amount of advice on the web treats stripping parameters as a fix.
It is not a fix, and hunting for one wastes the time you could spend re-copying the link properly. If a link with ?igsh= on the end fails, the same link without it will fail identically, and that tells you the problem is access or a wrong address rather than the query string.
Removing ?igsh= changes nothing about whether a link works. It only removes the tracking string.
When the link is right and it still will not download
Then you have hit an access limit rather than a link problem, and the causes are short and specific. The clearest test takes ten seconds: paste the link into a private browsing window. If the post plays there while you are logged out, it is public and it can be fetched. If Instagram asks you to sign in, no anonymous tool will ever reach it.
Private accounts, close friends posts, followers-only content and stories all sit on the far side of that line permanently, because Instagram only serves them to a signed in and approved viewer. A post deleted or archived after you copied the link fails for the obvious reason that it no longer exists. Geo restriction is a separate case that looks similar and is covered in the guide on videos that are unavailable in a region.
The privacy question that usually arrives alongside a broken link has its own answer: Instagram sends no notification when you save or download anything. The Reels guide covers what genuinely does notify somebody, along with the difference between bookmarking a Reel and having a file. And if you are trying to pull down something you posted yourself, the guide to archiving your own uploads explains why your own private post is still out of reach.
- Private, close friends or followers-only: cannot be fetched, with any link.
- Deleted or archived after copying: the post is gone, the link points at nothing.
- A photo or an image carousel: not video, so there is nothing to download.
- Region restricted: a separate cause with a separate tell.
Frequently asked questions
Why does my Instagram link not work in a downloader?
Most often because it was copied from the address bar while scrolling. That URL points at your position in the feed rather than at the post. Use the Share control on the post and choose Copy link.
Is a /p/ link different from a /reel/ link?
They are different paths that can hold the same media. A video published as a Reel also appears as a feed post, so either address can be correct for the same clip.
Should I remove the ?igsh= part of the link?
You can, but it changes nothing. It is share sheet tracking rather than part of the address, and it is ignored when the post is fetched.
How do I check whether a post is public?
Paste the link into a private browsing window. If it plays while you are logged out, it is public. If Instagram asks you to sign in, it cannot be fetched anonymously.
Can I download a link to a photo or a carousel?
No. Those posts are images, and this tool works with video and the audio inside it. A carousel containing video returns the first video in the post.
The link is definitely right and it still fails. What now?
The account is private, the post was deleted or archived, or the content is region restricted. Those are access limits rather than link problems, and no wording on the URL gets past them.