By Deckard9 min readGuides

How to export your Instagram data (and get your saved posts out)

How to export Instagram data: the official download, what the ZIP actually contains, why your saved posts come back as links (not content), and how to keep them.

You want your Instagram data out: your posts, your DMs, and above all the hundreds of things you tapped the bookmark on. Maybe you're leaving, maybe you just want a copy you own before another saved reel turns into "Sorry, this page isn't available."

Here's the catch worth knowing up front: Instagram will hand you a full export of your account, but your saved posts come back as a list of links, not the actual photos and videos. This guide walks through the official download step by step, what's really inside the ZIP, why the saved-posts part is thinner than you'd hope, and how to turn that pile of links into content you'll still have next year.

The quick answer: how to export your Instagram data

Instagram's export tool used to be called "Download Your Information." It now lives in Accounts Center as Export your information, and it covers Instagram, Facebook, and Threads from one place. On the app or on instagram.com:

  1. Open your profile, tap the menu (☰), then Accounts Center (or go to accountscenter.instagram.com).
  2. Choose Your information and permissionsExport your information.
  3. Tap Create export, pick the Instagram account, then choose Export to device (a downloadable ZIP) rather than transferring to another service.
  4. Set the options that matter:
    • Date range: All time (a narrow window silently cuts off older data).
    • Format: JSON if you'll script or import it anywhere; HTML if you just want to click through it in a browser.
    • Media quality: Higher quality, so your own photos and videos come down full-size.
  5. Submit and wait. For a light account the email often arrives within an hour, but Meta gives itself up to 30 days. When it's ready you'll get a notification and email with a download link.

The download link expires fast

Once your export is ready, the download link is only valid for about 4 days. Miss the window and you have to request the whole thing again. Grab it the moment it lands, and download over Wi-Fi: a full media export can be several gigabytes.

What's actually inside the export

Open the ZIP and it's genuinely comprehensive for the things you made. Depending on your account you'll find:

  • Your content as real files: the posts, reels, stories, and profile photos you uploaded, sitting in a media folder as actual images and videos.
  • Your activity as data: likes, comments, your follower and following lists, search history, and (if you asked for them) your direct messages.
  • Your saved items as a list: saved posts, saved reels, and your Collections, including each Collection's name and when you saved into it.

That last bullet is the one people come for, and it's also the one that disappoints.

Here's the distinction that trips everyone up. The export treats the things you posted and the things you saved completely differently:

  • What you posted downloads as media. Your photos and videos are right there in the ZIP, yours to keep offline.
  • What you saved downloads as a reference. For each bookmark you get the account that posted it, a link back to Instagram, and a save timestamp, filed under the Collection you put it in. You do not get the image, the video, or the caption.

It makes sense from Meta's side: those saved posts belong to other people, so Instagram exports a record that you saved them, not a copy of someone else's content. But the practical result is blunt: your saved-posts export is an address book, not a photo album. To see what any entry actually is, you have to open the link, which only works while the original is still up.

Check it yourself in the JSON

If you chose JSON, open the saved-posts file in any text editor. Each entry is a username paired with an href URL and a timestamp. No media path, because the media was never included. That single detail is the whole story of why an Instagram export can't be a real backup of your saves.

You might think a list of links is good enough. It isn't, for two reasons that stack on top of each other.

First, the posts themselves vanish. A save is a pointer to content that still lives on Instagram's servers, owned by someone else. The moment the author deletes the post, switches to private, gets suspended, or archives it, your exported link resolves to nothing. We went deep on why saved posts quietly disappear in the Instagram saved posts guide, and on the broader pattern in our guide to link rot.

Second, even the media URLs are booby-trapped. Instagram serves photos and videos from its CDN using signed URLs that expire, often within hours. So even if you try to grab the direct image link instead of the post link, that address starts returning a "URL signature expired" error the same day, while the post is still live.

A copied Instagram media link dies on a timer

Saving the raw CDN URL of an image doesn't help: within hours it 403s with an expired-signature error, even though the post itself is untouched. Naive backups, link exports, and embeds all break for this reason. They kept the address, and the address was always temporary.

Third-party exporters: what actually works

Because the official export leaves saves as links, a small ecosystem of tools tries to fill the gap. They fall into three buckets:

  • Browser extensions that scrape your Saved page. These walk your saved grid while you're logged in and dump captions, usernames, and thumbnails to CSV or JSON. They can grab more metadata than the official export, but they read the live page, so anything already deleted is invisible to them, and Instagram periodically breaks them.
  • Export post-processors. Scripts that take the official JSON and then fetch each link to pull down the real content. Best coverage, most setup, and anything already gone stays gone.
  • API and scraping services. Paid tools that pull your saves for you. Less setup, but you're renting the pipeline, and Instagram's API doesn't officially expose another user's media for you to keep.

All three inherit the same ceiling: they start from links, so they can only save what's still alive at the moment they run.

Your Instagram backup options, side by side

MethodYour own postsIncludes saved content?Survives a delete?
Official export (Export your information)YesNoNo
Browser scraper extensionsNoNoNo
Export post-processorsNoYesNo
Capture-first library (Stashr)NoYesYes

Read the last two columns together. Everything that starts from a link inherits the same weakness: if the post is deleted before you fetch it, there's nothing to fetch. The only thing that survives a delete is a copy made while the post was still alive, which no after-the-fact export can do. (Stashr's "own posts" column is blank because it isn't an account exporter: it captures what you save, which is exactly the gap the official export leaves.)

Turning the export into content you keep

If you're doing this by hand, here's the practical pipeline for the links in your export:

  1. Check what's still alive. Paste your saved links into our dead link checker to see which posts still resolve before you spend effort on the ones that don't.
  2. Archive the survivors. Push the live ones through the Wayback bulk submitter so the Internet Archive holds a snapshot before any more of them go dark.
  3. Keep the real keepers. For the handful you truly care about, open each one and save the media manually while it's up.

That works, and it's honest work. But look at what you're really doing: rebuilding, by hand and after the fact, the copy Instagram never made for you.

The way to never need an export again

The reason this whole exercise is fragile is that an Instagram save was never a copy, just a pointer. So flip the order: make the copy at save time.

That's what Stashr does. Its browser extension imports the saves Instagram still exposes and, from then on, mirrors every new save the moment you tap the bookmark: the full post or reel, image, video, caption, author, and Collection. Because each save is a real copy in your own library:

  • Deletion stops mattering. The post can be nuked or set to private tomorrow; your copy is intact.
  • The expiring-link trap stops mattering. You hold the actual media, not a signed URL that 403s in a few hours.
  • You can actually find things. Every save is AI-tagged on the way in, so you search in plain English instead of scrolling a grid or a JSON file:
Find it the way you remember it
stashr.search("that blue couch reel I saved");
// → returns the post and its media, even after the original was deleted

And your Instagram saves land in the same library as your saved tweets, Reddit saves, and TikTok Favorites, so the next export you'll never need isn't just Instagram's.

Instagram-specific backup is on the way

We're building a dedicated Instagram saved backup tool that grabs your saves before the CDN links expire. In the meantime, our other free tools can help you triage and clean up what you export. No signup, no API key.

Common questions

How do I export my data from Instagram?

Open Accounts Center (from your profile menu, or at accountscenter.instagram.com), go to Your information and permissions → Export your information, tap Create export → Export to device, then pick All time and JSON (or HTML). You'll get a download link by email, often within an hour, though Instagram allows up to 30 days.

Does the Instagram export include my saved posts?

Yes, but only as references. You get the account, a link back to Instagram, and a save timestamp for each bookmark, filed under its Collection. The actual images, videos, and captions are not included, because those posts belong to other people. Your own posts, by contrast, download as real media.

What format should I choose, JSON or HTML?

Choose JSON if you plan to import the data into another app or run a script over it. Choose HTML if you just want to click through your export in a browser. The content is the same either way; only the packaging differs.

How long does an Instagram data export take?

For a small account the email can arrive within an hour. Meta officially allows up to 30 days, and larger accounts with lots of media do take longer. Request it before you need it, and download promptly: the link expires after about 4 days.

Can I get back saved posts that were already deleted?

No. If a post was deleted, set to private, or the account was banned, it's gone from Instagram's servers, and neither the official export nor any third-party tool can retrieve content that no longer exists. The only way to keep a save through a deletion is to have copied it while the post was still live.

Export once. Never again.

Stashr imports your Instagram saves and captures every new one in full the moment you tap it. Auto-tagged, searchable in plain English, and immune to deleted posts and expiring links.

Free to start · No credit card required · Now in public beta

  • instagram
  • saved posts
  • export
  • backup
  • bookmarks
  • bookmark manager
  • collections
  • link rot
  • archival
  • productivity

Keep reading