← All posts

Twitter Bookmarks to Obsidian: What Actually Works in 2026 (After the API Broke Everything)

There are two versions of this question, and they have different answers.

One is: I found a good tweet — how do I drop it into my vault?

The other is: I have years of bookmarks — how do I get all of them into Obsidian?

Almost every guide blurs these together. They are not the same job, and after 2023 they stopped having the same answer.

Here is the part nobody leads with: X’s account archive does not include your bookmarks. You can request every post, DM, like, and follower you have ever had, and your saved posts will not be in the file.1 So moving bookmarks into Obsidian always means a third-party tool.

The only real question is which one — and whether it will still work next year.

That last part is the whole post.

The most-linked answer is a tombstone

Search “tweet to markdown obsidian” and the top result is the same plugin it has been for years: kbravh’s Tweet to Markdown. Open its README and the first thing you see is a warning banner:

“Due to recent changes to the Twitter API, the free access method listed below has stopped working as of April 27, 2023.”2

It still runs. You just have to pay now — “you need at least a Basic plan in order to look up tweets. The Free plan is not sufficient,”2 and X’s free API tier can no longer read tweets at all.3 The plugin’s last release was December 2022.2 It has more than thirteen thousand installs and still ranks first, and almost nobody who clicks it today can use it for free.

It is not alone. There is a small graveyard of tools with names like bookmarks-to-obsidian — “a lil project to sync Twitter bookmarks with an Obsidian vault” — whose last commit lands in early 2023, right as the API closed.4 They were built the proper way: sign up for a developer account, get a token, ask Twitter’s API for your data. Then Twitter changed the price of that question, and the tools stopped being able to ask it.

So the first thing to understand is not a tool. It is why the old ones died.

The one thing that decides whether a tool survives

Every guide ranks these tools by features. Does it grab threads? Images? Tags? Does it write nice YAML?

Those are real questions. They are also not the question that matters most, because none of them predict whether the tool will still work in a year.

The variable that predicts that is boring and almost never mentioned: how the tool talks to X.

There are three ways, and they age very differently.

How a tool connects to X

This, not the feature list, is what decides if it still works next year.

The official API

Fragile

Asks Twitter for permission.

Needs a developer account and a token. This is the path X paywalled in 2023. The free tier can no longer read tweets at all.

Killed the old plugins.

Your own session

Durable

Reads what your browser already loaded.

You are logged in; the data is already on your screen. No key, no plan, nothing to revoke. The tools that survived all do this.

What the survivors use.

A third-party relay

It depends

Routes through someone else's server.

Keyless and easy — paste a link, get Markdown. But the fetch happens on a service you don't control. It works until that service doesn't.

Fine for one tweet.

The clearest proof is a small natural experiment sitting in the search results.

The tools that beg the official API — kbravh’s plugin, the bulk Python pipelines that want your developer tokens — are the ones that died or now cost money.245 The tools that read your logged-in session are the ones still running. The most-starred Twitter exporter on GitHub, prinsss/twitter-web-exporter, was created in September 2023 — after the break — specifically so it would never touch the API. It watches the data your browser already receives and lets you export it. It has over 2,500 stars and was updated last month.6

The route Twitter blesses is the route Twitter killed. The route that feels like a workaround is the one that lasts.

People have been asking this for years

This is not a new problem, and the questions keep the same shape.

Field notes

The same request, asked across five years and a broken API.

Obsidian forum · 2021

"Is there an elegant solution for capturing content from Twitter?" — "e.g. saving Tweets and Tweet Thread to markdown form."

Read the thread →
Obsidian forum · 2023 — Twitter favorites as a vault

"I download all my favorites, and then dump them into an obsidian vault with some python code to link stuff up." "The flat list of favorites in twitter is terrible and I have no motivation to interact with it."

Read the thread →
r/ObsidianMD · after the plugin broke

"Is there an alternative way to download tweets to Obsidian beside tweet to markdown plugin?"

Read the thread →
Obsidian forum · 2021 — a builder's reason

"A majority of the most valuable info I consume online comes from tweets and threads and I wanted a way to easily sync these to Obsidian (without manually copy-pasting)."

Read the thread →

Two things stand out. The need is old and steady — people have wanted their saved tweets as plain Markdown notes since long before the API closed. And the favorite tools keep changing, because the cloud relays come and go while the underlying request stays exactly the same.

So let’s answer it by job.

If you just want one tweet

This is the easy half, and it is still easy.

If you only need to drop a single post or thread into your vault, you do not need a sync engine or an account. You need something that turns a URL into Markdown.

The fastest path in 2026 is the kind of relay tool described above. tweet.md lets you swap x.com for tweet.md in the address bar and hands back clean Markdown of the post or thread.7 Inside Obsidian, the X/Twitter Post Embed plugin does the same from a pasted link, including full threads and nested quote tweets — and it stays keyless by fetching through public relays like FxTwitter rather than the official API.8

The catch is exactly the one in the card: these are convenient because someone else’s server does the fetch. That is a different kind of fragility from the API — not a price change, but a service that can quietly go offline. For one tweet, that risk is fine. You are copying something now, while it loads.

For a one-off, a clipboard extension or even a careful copy-paste is also perfectly reasonable. The friction only becomes a real problem at scale.

If you want your whole library

This is the half the API break actually broke, and where the connection method matters most.

A bookmark library is hundreds or thousands of posts. You cannot paste them one at a time, and you cannot ask the API for them without a paid plan. What is left is the durable middle column: tools that read your own logged-in session.

One tweet

Turn a URL into a note.

  • Paste-a-link relays (tweet.md, Post Embed)
  • No account, no setup
  • Depends on a third-party server staying up

Your whole library

Read your own session, in bulk.

  • Browser-session tools (X Bookmarks Sync, Totem)
  • No API key, no developer plan
  • Survives Twitter's pricing changes

The most Obsidian-native of these is the X Bookmarks Sync community plugin. Its pitch is the whole thesis in one line: “No API key. No OAuth. Just your existing browser session.”9 It piggybacks on your logged-in X tab, pulls your bookmarks into Markdown notes with real YAML front matter and inline quoted tweets, and remembers what it already imported so re-running it doesn’t duplicate. The honest caveats: it is young, it is desktop-only (it needs Obsidian’s webview, so no mobile), and its images are saved as links to X’s CDN rather than downloaded — which means if X moves the file, the link can rot.9

There is also a Chrome extension, X to Obsidian Saver, that auto-saves your likes and bookmarks as Markdown and can download images locally — newer and less proven, but on the same durable side of the line.10 And if you only want the raw data out, prinsss/twitter-web-exporter is the workhorse: it exports bookmarks, lists, and tweets to JSON, CSV, and HTML, and it is the most actively maintained of the bunch.6

What you should skip, unless you enjoy the setup, is the impressive-looking AI pipeline. Repos like deriqsocial/x-bookmarks-to-obsidian build a Claude-enriched, wikilinked vault with tags and a knowledge graph — but they run on the official API and a paid Claude key, where “ingesting 100 bookmarks costs roughly $0.50–2.00.”5 The README is gorgeous. The repo has almost no users, two paid dependencies, and the same fragile foundation that took down the last generation.

Be honest about what survives the trip

No tool gives you a perfect copy, and the SERP is shy about saying so.

Threads are the first casualty. Some tools reconstruct them; many give you the single tweet you bookmarked and drop the rest. Quote tweets either nest cleanly or become a dead link to nothing. Long posts can arrive truncated. Video usually becomes a thumbnail. Images are often saved as links back to X rather than real files — which is the difference between an archive and a folder of future broken images.

When you compare tools, this is the table to build in your head: thread, quote tweet, long text, image, video. Most “Obsidian support” claims quietly mean “the text, and a link for everything else.”

The part nobody says: this is archival, not note-taking

Most of these guides frame the goal as a workflow — feed your second brain, connect ideas, build a graph.

That is a nice side effect. It is not the real reason this matters.

The real reason is that the moment a tweet becomes plain-text Markdown in a folder you own, it stops being able to disappear. The author can delete it, the account can get suspended, X can change a policy, and your note is unaffected — because the content now lives in a second place you control. As one current export guide puts it, exporting “is the path that actually survives a tweet getting deleted, because the content lives in a second place you control.”11 Another is blunter about the stakes: “if a creator deletes their post, your bookmark disappears forever.”12

This is also the quiet reason the official API was never the right tool for the job. You cannot fetch a deleted tweet from the API — once it is gone from the timeline, it is gone from the endpoint. The only way to keep a post is to have already captured it while you could see it. The durable connection method and the archival goal turn out to be the same point from two directions: the tools that read what is in front of you are the only ones that can save something before it vanishes.

Getting your bookmarks into Obsidian is not really a note-taking task. It is the act of making a copy before the platform changes its mind.

What “Obsidian-ready” actually means

One more honest distinction, because exporters blur it.

A folder of .md files is not the same thing as a vault that can do anything with them. Obsidian reads YAML front matter as Properties, which is what makes a note queryable — you can ask Dataview for every saved tweet by a given author, or tagged a certain way, or saved this month.13 An export with rich, typed front matter slots into that. An export that is just the tweet text in a file does not; it is readable, but it is inert.

So “exports to Markdown” and “works with Obsidian” are different claims. The first is table stakes. The second means the front matter, links, and structure are shaped for the vault, not just dropped into it. Most tools deliver the first and describe it as the second.

Where Totem fits

Totem is a local-first Chrome extension for X / Twitter bookmarks. It is worth being precise about what it does here, because this post is built on being precise about everyone else.

Totem sits on the durable side of the line. It captures bookmarks by reading the data your browser already receives on x.com — your own session, not the official API — and stores them locally, in your browser, with no account and no Totem server.14 So it does not break when Twitter reprices the API, for the same reason the survivors above don’t.

Its export is a ZIP: one Markdown file per bookmark, each with YAML front matter, plus a readme index, a CSV, the canonical JSONL, and a checksummed manifest.14 That Markdown is Obsidian-ready in the literal sense — unzip the bookmarks folder into your vault and the notes are right there, Properties and all.

What it is not, today, is a one-click “sync to your vault” button. There is no live folder connection yet; getting the notes in is an unzip, not a background sync. If a native vault writer is exactly what you want, the X Bookmarks Sync plugin above is built for that specific job, and it is good at it. Totem’s angle is different: a local, searchable reading queue of your bookmarks that you can also export to clean Markdown whenever you want a copy.

If your problem is “I want all my bookmarks somewhere I own, in a format I can read and re-read,” you can add Totem to Chrome — free, no login. If your problem is the broader question of how to get bookmarks out of X at all, start with how to export your Twitter bookmarks and what actually gets exported. And if the honest reason your bookmarks are piling up is that you never go back to them, that is a different post: why your bookmarks become a graveyard.

The short answer

Every plugin that connected Twitter to Obsidian through the API broke in 2023, and the most-linked one is still broken behind a paywall most people will never pay.

What works now reads your own logged-in session instead of asking Twitter’s API for permission. That single design choice — not the feature list — is what decides whether a tool still works next year.

So pick by connection, not by checkbox:

  • For one tweet, a paste-a-link tool is fine.
  • For your whole library, use something that reads your session in bulk.
  • And remember what you are actually doing. You are not building a workflow. You are making a copy of things that can otherwise disappear — which is the one job the official, “proper” route was never able to do.

Sources

  1. X Help Center, “How to download your X archive and Posts”. The archive lists profile data, posts, Direct Messages, media, followers, and Lists — bookmarks are not included. See also how to export your Twitter bookmarks.

  2. kbravh/obsidian-tweet-to-markdown, README banner: “Due to recent changes to the Twitter API, the free access method listed below has stopped working as of April 27, 2023,” and “You need at least a Basic plan in order to look up tweets. The Free plan is not sufficient.” As of June 2026 the repo’s last release (2.12.1) dates to December 2022 and its last commit to May 2023 — ~13,600 downloads, 220 stars — yet it still ranks at the top for “tweet to markdown obsidian.” Accessed June 19, 2026. 2 3 4

  3. X’s free API tier is write-only and cannot look up tweets; reading requires a paid developer plan. Note that as of early 2026 X moved new developers toward pay-per-use rather than the old flat Basic/Pro tiers. See The X API price hike, accessed June 19, 2026.

  4. 0xrusowsky/bookmarks-to-obsidian, described as “a lil project to sync Twitter bookmarks with an Obsidian vault.” Created January 2023, last commit February 2023; it uses a Twitter developer account and OAuth2. A representative example of the API-route tools that went dormant as the API closed. Accessed June 19, 2026. 2

  5. deriqsocial/x-bookmarks-to-obsidian, a pipeline that builds an enriched vault using the official X API plus the Anthropic API: “ingesting 100 bookmarks costs roughly $0.50–2.00 depending on article length and image count.” New repo, near-zero adoption. Accessed June 19, 2026. 2

  6. prinsss/twitter-web-exporter, an MIT-licensed userscript that exports tweets, bookmarks, and lists by reading the responses the browser already receives — no API key. Created September 2023, 2,500+ stars, last pushed May 2026. Accessed June 19, 2026. 2

  7. tweet.md — replace x.com with tweet.md in a post’s URL to get clean Markdown of the post or thread, with an API for scripts. A relay service: the conversion happens on its servers, not in your browser. Accessed June 19, 2026.

  8. X/Twitter Post Embed, an Obsidian plugin that turns a pasted link into a formatted tweet with full thread and nested quote-tweet support. It stays keyless by fetching through public relays (the FxTwitter API, with Twitter’s oEmbed as a fallback) rather than the official API. Accessed June 19, 2026.

  9. X Bookmarks Sync (Obsidian community plugin, source: teddy0605/xbookmarks): “No API key. No OAuth. Just your existing browser session.” Works by piggybacking on your logged-in X tab; desktop-only; latest release 1.2.1 (March 2026). Accessed June 19, 2026. 2

  10. X to Obsidian Saver, a Chrome extension that auto-saves liked and bookmarked tweets as Markdown with local image download; version 1.0.0, last updated March 2026. Accessed June 19, 2026.

  11. keep.md, “The complete guide to Twitter bookmarks”: “This is the path that actually survives a tweet getting deleted, because the content lives in a second place you control.” Its companion “How to export your X bookmarks in 2026” notes that “X’s platform changes broke a lot of these integrations in 2023 and 2024, and the rebuilt versions use the official X API, which now charges.” Accessed June 19, 2026.

  12. BookmarksBrain, “Exporting Twitter Bookmarks to Obsidian: The Complete Guide”: “if a creator deletes their post, your bookmark disappears forever.” Accessed June 19, 2026.

  13. Obsidian Help, “Properties”. Obsidian reads YAML front matter as typed Properties, which tools like Dataview can query. Accessed June 19, 2026.

  14. Totem is local-first: bookmarks are captured from the data your browser already receives on x.com and stored in IndexedDB, with no account and no server. Its export is a ZIP containing one Markdown file per bookmark with YAML front matter, a readme.md index, bookmarks.csv, canonical data/*.jsonl, and a checksummed manifest.json. See Export Format v1 and what actually gets exported. 2