Skip to content
Tools4 min read

Stop losing your saved Instagram reels: two fixes

Saved reels pile up and rarely get watched. Two free fixes: share new reels to Recall, which transcribes them so you can search them later, and turn your old saved list into a sorted watch list with one Claude prompt.

Anas Siddiqui @anas.helloworld
New guides start as reels. Follow so you catch the next one.

Contents

Instagram's Saved tab has no search, no notes and no reminders, so a save is easy to make and hard to come back to. This guide has two fixes: one for every reel you save from today, and one for the pile you already have.

Recall and Instagram are not made by webridgeAI. What Recall does is taken from its own documentation at docs.recall.it, read on 18 October 2026. We ran the prompt below in Claude on a real list of 23 saved posts on the same day. Apps and menus change, so check the steps again if something looks different.

1. Why saved reels never get watched

Saving takes one tap and feels like progress. Watching takes minutes, and Instagram gives you no way to find a reel again except scrolling the grid. After a few hundred saves the grid stops being useful.

2. Fix one: share new reels to Recall instead of saving them

Recall is an app that keeps the things you save as searchable cards. Its documentation says:

  • In the Instagram app, tap Share on a post or reel and choose Recall, or paste the link into the Recall app. If Recall isn't in the share sheet the first time, tap More to find it.
  • Reels and IGTV videos are transcribed, and Recall also saves the caption and reads the text in photos.
  • Later you search for what you need, for example "pasta recipe", and the reel comes back.

Limits, also from Recall's documentation: it works with public posts only (private posts may not load), Stories and Highlights aren't supported, and if a transcript can't be fetched the card is saved without it. Recall's free plan includes 10 AI summaries a month; saving is unlimited. Recall is on iPhone, Android and the web.

3. Fix two: export your old saved list

Instagram lets you download your own data. Ask for the saved list only:

  1. In the Instagram app: Profile → ☰ → Accounts Center → Your information and permissions → Export your information → Create export.
  2. Pick your Instagram profile, then Export to device.
  3. Customize information: clear everything, then tick Saved only.
  4. Date range: All time. Format: JSON. Then Start export and confirm with your password on Meta's own screen.
  5. Meta emails you when it's ready (often minutes to a few days). Download it within 4 days.

Unzip it and look for a folder or file with "saved" in its name, usually saved_posts.json.

What the export contains: for each save, the account it came from, the link, usually the date you saved it, and the collection if you used one. It does not contain the caption or the video. So the AI in the next step can sort and rank your saves, but it cannot tell you what a reel says.

4. The prompt

Open Claude (or ChatGPT or Gemini), paste this prompt, then paste your saved file under it. Up to a few hundred saves, the raw file is fine. For more, use the optional script in section 5 first.

I exported my Instagram saved posts and reels. Below is a table (or raw JSON) with: date saved, author username, kind (reel or p = photo post), my collection name, and the post shortcode. I saved all of this and never revisit it.
 
IMPORTANT: you can only see usernames, collection names, dates and whether it is a reel. You can NOT see the captions or the video. Do not pretend you know what a specific reel says. Where you infer a topic from a username or collection name, label it "(guess)".
 
Do this, in order:
1. SNAPSHOT: total saves, how many are reels, date range, how many I saved in the last 30 days, and how many are in no collection.
2. CATEGORIES: sort everything into 6-10 categories (use my collection names first, then infer from usernames). Show each category with the count, the top 3 accounts in it, and a one-line read on why I seem to save that kind of content.
3. MY HABITS: the 5 accounts I save most. The month I saved the most. One honest observation about what I collect versus what I probably act on.
4. WATCH TONIGHT: pick the 10 saves most worth my time. Prefer: reels from my most-saved accounts, my newest saves, and categories where I have saved a lot but likely done little. For each give the link as https://www.instagram.com/reel/SHORTCODE/ (use /p/ if kind is p), one line on why, and how confident the pick is (high, medium, guess).
5. UNSAVE CANDIDATES: up to 15 saves I could drop (old, from accounts I saved only once, outside my main categories). List them; I will decide.
6. A 3-line weekly routine I can follow to actually go through the rest without it feeling like homework.
 
Keep it short, plain English, no filler. Use a table for step 2 and step 4.
 
My data:
[PASTE HERE]

When we ran it on 23 real saves, Claude grouped them into 8 categories, marked every category as a guess, picked 10 to watch with a confidence for each, listed 5 to unsave (it didn't pad the list to 15), and suggested a 15-minute Sunday routine.

5. Optional: flatten a big export first

For thousands of saves, a small Python script turns the JSON into a compact table with the columns saved_on, author, kind, collection and shortcode. It reads only the folder you point it at and sends nothing anywhere. Copy it into a file called flatten_saved.py:

#!/usr/bin/env python3
"""Flatten Instagram's 'Download your information' saved files into one CSV.
Usage: python3 flatten.py <export_folder> [out.csv]
Reads only the JSON files you point it at. Nothing is sent anywhere."""
import sys, json, csv, pathlib, datetime, re
 
def entries(node):
    """Yield every list of entry-dicts that contain 'string_map_data'."""
    if isinstance(node, dict):
        for v in node.values():
            yield from entries(v)
    elif isinstance(node, list):
        if node and all(isinstance(x, dict) for x in node) and any("string_map_data" in x for x in node):
            yield node
        else:
            for x in node:
                yield from entries(x)
 
def main():
    root = pathlib.Path(sys.argv[1])
    out = sys.argv[2] if len(sys.argv) > 2 else "saved.csv"
    files = sorted(p for p in root.rglob("*.json") if "saved" in p.name.lower())
    if not files:
        sys.exit("No saved*.json found. Look inside your_instagram_activity/ for a 'saved' folder.")
    rows, seen = [], set()
    for f in files:
        data = json.loads(f.read_text(encoding="utf-8"))
        for lst in entries(data):
            collection = ""
            for e in lst:
                smd = e.get("string_map_data", {})
                href = ts = val = ""
                for v in smd.values():
                    href = href or v.get("href", "")
                    ts = ts or v.get("timestamp", "")
                    val = val or v.get("value", "")
                if href:                          # a saved item
                    author = e.get("title") or val
                    m = re.search(r"instagram\.com/(reel|reels|p|tv)/([^/?#]+)", href)
                    kind = {"reels": "reel", "tv": "video"}.get(m.group(1), m.group(1)) if m else "other"
                    key = (href, collection)
                    if key in seen: continue
                    seen.add(key)
                    date = datetime.datetime.fromtimestamp(int(ts)).strftime("%Y-%m-%d") if ts else ""
                    rows.append([date, author, kind, collection or "(uncollected)", m.group(2) if m else href])
                elif val:                          # a collection header
                    collection = val
    filed = {r[4] for r in rows if r[3] != "(uncollected)"}
    rows = [r for r in rows if r[3] != "(uncollected)" or r[4] not in filed]
    rows.sort(reverse=True)
    with open(out, "w", newline="", encoding="utf-8") as fh:
        w = csv.writer(fh); w.writerow(["saved_on", "author", "kind", "collection", "shortcode"])
        w.writerows(rows)
    print(f"{len(rows)} saved items -> {out}")
 
main()

Then run:

python3 flatten_saved.py ~/Downloads/your-unzipped-folder saved.csv

Open saved.csv, copy everything, and paste it under the prompt. Instagram has changed its file names before, so if the script finds nothing, paste the raw JSON instead.

6. Keep it from piling up again

  • Share new reels to Recall instead of saving them.
  • Once a week, open the watch-tonight list and watch three.
  • Unsave anything you haven't opened in two weeks.

Honest notes

  • The export holds links, not content. The AI's categories come from account names and your collections, so treat them as guesses.
  • Recall reads only public posts, and its free plan caps AI summaries at 10 a month.
  • Request only the Saved data. A full export includes your messages, which you shouldn't paste into any AI.
  • Delete the export file when you're done, and never type your Instagram password anywhere except Instagram or Meta.
Before you go

Found this useful? Get the next one.

Each new guide starts as a reel on Instagram. Follow there or on LinkedIn so you see it first.

Reading is free. So is the call.

Bring the workflow you have in mind. Fifteen minutes is enough to tell whether a system fits it, and if it does not, we say so.

Book a callWrite to usFree, fifteen minutes