How to Download All Your X Bookmarks Locally in 2026
X (formerly Twitter) doesn't give you a way to export your bookmarks. The official Request your archive download has no bookmarks at all. The web UI shows you the saved list but doesn't let you bulk-download anything. If your account is suspended, the bookmarks vanish with it. Here's how to back them all up to your local hard drive with one click.
Short answer
StreamStash v1.10 adds Your X Bookmarks as a one-click feed. Add it from the X feed page, no username needed, no API key required. It uses your existing X login cookies to walk your saved list as a full timeline, downloads the media (and retweets, always included) to your local library, and shows live first-scan progress while it works. Twitter/X is on the Free tier, so this ships free.
Why X Doesn't Make This Easy
X (Twitter) has been steadily making bookmark export harder, not easier. The official "Request your archive" download omits bookmarks entirely. There's no built-in export button in the web UI. The mobile app lets you remove bookmarks but not download them. Third-party tools that try to scrape the bookmarks list have a habit of getting rate-limited or breaking when X tweaks the endpoint.
The result: if you've been bookmarking interesting threads, useful resources, or content from accounts that might disappear, your archive lives entirely inside X's UI. If your account is suspended (it happens), if X breaks something, or if a bookmarked author deletes their account, the saved content is gone.
v1.10 adds a first-class way to back up your bookmarks to your local hard drive. One click, no API key, uses your existing X login.
What v1.10 Ships
StreamStash now treats "Your X Bookmarks" as a single pseudo-feed, sitting alongside the per-creator X feeds you already track. Specifics:
- One-click add. An "Add my X Bookmarks" control on the X feed page registers the bookmarks pseudo-feed in one click. No username needed (bookmarks aren't tied to a creator; they're tied to your account). No API key, no developer-portal flow.
- Uses your existing X session. StreamStash reads the bookmarks list via the same web endpoint your browser uses (https://x.com/i/bookmarks) with the cookies from your Firefox or Librewolf signed-in session. The same cookie source you've already set up for any other Twitter/X feed works here.
- Retweets always included. Bookmarked retweets are pulled in automatically. The reason: a bookmarks list has many different authors, so the usual "is this a retweet vs an original" classification doesn't cleanly apply. Skipping bookmarked retweets would silently drop content you actually saved.
- Text tweets toggle. If you also want the text content of bookmarks (not just media), flip the per-feed Include text tweets toggle. Default is media-only, which is the lighter footprint and what most people want.
- Live first-scan progress. The feed page shows a running count of bookmarks captured during the first scan, with the media grid revealing automatically once the scan completes. You don't have to guess whether it's still working.
- One feed per X login. Only one bookmarks pseudo-feed makes sense per signed-in X account, so the Add control hides itself once a bookmarks feed exists. Switching X accounts in Firefox just shifts the next scan to the new account's bookmarks.
How the Pseudo-Feed Works Under the Hood
If you're curious about the mechanics: StreamStash stores bookmarks under a sentinel handle (i/bookmarks) in the same database table as per-creator feeds, then special-cases the download path. Three differences vs a normal Twitter feed:
- No /media shortcut. Per-creator feeds can use Twitter's /media tab for a fast incremental sweep. Bookmarks don't expose that endpoint, so every scan walks the full bookmarks timeline. This is bounded automatically because each scan checks for new bookmarks since the previous run; only the very first scan is genuinely long.
- No per-creator anchor data. Bookmarks don't have a single owner (every saved tweet has a different author), so the usual bio capture, rename recovery, and creator-stable-ID handling don't apply. The feed is anchored to your X account, not to a creator account.
- Retweet classification keyed to retweet_id. The normal "this is a retweet because the author differs from the feed owner" check doesn't work here, so retweet detection on bookmarks uses the platform's own retweet_id field directly.
None of this is user-visible. It's just why the feature exists as a pseudo-feed rather than a regular per-creator one.
Why DIY Approaches Fall Short
Before v1.10, the options for bulk-downloading X bookmarks were thin:
- Browser extensions. Several browser extensions promise bookmark export. Most either break when X changes its endpoints, get rate-limited within a few hundred bookmarks, or quietly start uploading your data to the developer's server. There's no shortage of abandoned bookmark-exporter extensions in browser stores.
- X's API. Technically possible, but the X API now requires a paid developer plan (starting around $100/month at the lowest paid tier) and quota that doesn't realistically support archiving thousands of saved tweets. Not a serious option for a personal archive.
- Manual scripts (yt-dlp, gallery-dl). Neither has a first-class bookmarks endpoint. You can craft a workflow that walks each individual bookmarked URL through yt-dlp or gallery-dl, but you need to extract the URL list first (back to the API or scraping problem), and you lose the metadata anchoring (who saved this, when, in what order).
- Twitter's own archive export. Bookmarks are not included. They've never been included. There's no roadmap to include them.
The v1.10 feed is the first option that doesn't have one of those failure modes.
Honest Limits
Three things to know going in:
- First scan can be slow on long bookmark lists. The full timeline walk is paced to stay under X's rate limits, so a bookmarks list with thousands of saved tweets can take hours on first run. The live progress count shows how it's going.
- X can rate-limit a feed. If X rate-limits the bookmarks feed, StreamStash soft-pauses just that feed and shows a banner with the retry time; your other Twitter feeds keep running. Only if several Twitter feeds hit limits at once does StreamStash pause Twitter polling globally. In practice, archiving bookmarks on their own pauses only the bookmarks feed.
- Deleted-from-X bookmarks stay archived. Once a tweet's been pulled into your library, it stays. If you remove the bookmark on X later (or the tweet author deletes their post), your local copy is still there. This is the intended behaviour, but worth flagging if you expected bookmark removal to also remove the local file.
Where Bookmarks Fit a Wider Archive
If you're already using StreamStash for monitored creator feeds, bookmarks just become another row in the same library. The dedup engine sees them, search covers them, the analytics page includes their engagement counts. They don't sit in a separate silo.
For the broader Twitter/X archival picture (likes, creator timelines, your own posts), see How to archive Twitter/X posts, likes, and bookmarks locally. For backing up your own account in addition to bookmarks, see How to back up your own social media account.
Why StreamStash for X Bookmarks
- One-click add, no API key. The Add my X Bookmarks control registers the feed in a single click. No developer portal, no $100/month subscription, no third-party auth flow.
- Uses your existing X login. The same Firefox or Librewolf cookies you use for any other X feed work here. No additional setup.
- Retweets always included. Bookmarked retweets aren't silently dropped (which is what most "bookmark export" tools do).
- Live first-scan progress. No guessing whether the scan is still running or stalled.
- Local archive survives X. Bookmarks you've downloaded stay even if the author is suspended or you lose access to your X account.
- Free tier. Twitter/X is on the StreamStash Free tier, so this ships with no card, no signup, and no expiry. Your bookmarks feed counts as one of the Free tier's 5 combined feeds across TikTok and Twitter/X.
Getting Started
- Install StreamStash. Free at streamstash.live. No card, no signup. The Free tier covers Twitter/X (and TikTok) out of the box.
- Sign into X in Firefox or Librewolf. Whichever you've configured as your cookie source in Settings.
- Open the X feed page. Click Twitter/X in the sidebar. The Add my X Bookmarks control sits at the top.
- Click Add my X Bookmarks. One click. The bookmarks feed registers and starts its first scan.
- Wait out the first scan. Watch the live progress count. Long bookmark lists take a while; the pace is set to stay under X's rate limits.
- Let it run. Subsequent cycles check for new bookmarks since the last run, so refreshes are quick.
For the broader Twitter/X archival story (creator timelines, likes, your own posts), see How to archive Twitter/X posts, likes, and bookmarks locally.
FAQ
How do I download all my X bookmarks at once?
Install StreamStash, sign into X in Firefox or Librewolf, open the X feed page in StreamStash, and click Add my X Bookmarks. The signed-in account's saved tweets are pulled as a single pseudo-feed using your existing X session cookies. No username, no API key, no per-tweet copy-paste. The first scan walks the full bookmarks timeline at a paced rate so it stays under X's rate limits; a live progress count on the feed page shows how many have come in so far.
Does this require an X API key or developer access?
No. StreamStash reads the bookmarks list via the same web endpoint your browser uses (https://x.com/i/bookmarks) with your existing X login cookies. No API key, no developer account, no third-party auth flow.
Are bookmarked retweets included?
Yes, always. Bookmarked retweets are pulled in automatically because there's no useful way to skip them on a bookmarks list (every tweet has a different author, so the usual retweet vs original classification doesn't apply). You can also enable Text tweets if you want text-only bookmarks archived alongside the media.
Can I have more than one bookmarks feed?
Only one bookmarks pseudo-feed per X login, since X bookmarks are tied to the signed-in account. If you sign into a different X account in Firefox, StreamStash will follow the new login on its next scan. The Add my X Bookmarks control is hidden once a bookmarks feed already exists on your library.
How long does the first scan take?
Depends on how many bookmarks you've saved. The first scan is always a full timeline walk paced gently to stay well under X's rate limits, so a long bookmarks list can take a while. Subsequent scans only check for new bookmarks since the previous run, so they finish quickly. The feed page shows a live progress count during the first scan and reveals the media grid automatically once it completes.
What happens if a bookmarked tweet is deleted later?
Once StreamStash has downloaded a bookmarked tweet's media, it's yours. The local copy stays even if the original tweet is deleted, the author is suspended, or you remove the bookmark on X. The archive survives the source going away, which is the whole point of doing this locally rather than relying on the bookmarks list itself.
Is this on the free tier or a paid tier?
Free tier. X (Twitter) is one of the two platforms StreamStash's Free tier covers (TikTok is the other), so X Bookmarks ships free with no card, no signup, and no expiry. The Free tier covers up to 5 feeds total across TikTok and Twitter/X combined; your bookmarks feed counts as one of those five.
Back Up Your X Bookmarks for Free
StreamStash's Free tier covers Twitter/X with Your X Bookmarks as a one-click feed. No card, no signup, no recurring charges, no expiry.
Download Free at streamstash.live