tweet.md logotweet.md

Test it out now!

Simply replace x.com with tweet.md in any Tweet URL.

x.comtweet.md/github/status/…

Documentation

URL swap, agents, params, formats, and pricing.

01

URL rewrite

URL rewrite

Swap x.com tweet.md in the address bar. You get clean Markdown — plain text, never JSON.

https://x.com/jack/status/20
→ https://tweet.md/jack/status/20

Paid use in the same browser uses a session cookie after checkout or login — no ?apikey= in the URL.

02

AI agents

AI agents

Give your agent the skill below and your API key (dashboard). It should rewrite x.comtweet.md when fetching posts.

SKILL.md

Auth: Authorization: Bearer twmd_key_… or ?apikey=twmd_key_…

Full URL only? GET https://tweet.md/i/api/convert?url=https%3A%2F%2Fx.com%2Fjack%2Fstatus%2F20

03

Query params

Query params

Append to any tweet.md/…/status/… URL (or /i/api/convert?url=… plus the same params). See output formats for when to use each format value. Free tier: thread=off and userinfo=off only (5 posts / IP / month) — no apikey.

ParamDefaultValues
formatmarkdownmarkdown, obsidian
threadoff · paid omit → fulloff, full, or 2–100
userinfooff · paid omit → alloff, author, all (+2 credits per unique author)
apikeytwmd_key_… (or Bearer header, or session cookie)

/i/api/convert also requires url (encoded X or tweet.md post URL). Prefer a session cookie in the browser over ?apikey= in links you might share.

04

Output formats

Output formats

Append ?format= to any tweet.md/…/status/… URL (or the same param on /i/api/convert?url=…). Omit it for markdown.

formatWhen to use
markdowndefaultDefault — readable notes with stats, media, quotes, and full X Articles when present.
obsidianVault import: YAML frontmatter (source, author, tags) plus headings per post in a thread.

Examples: https://tweet.md/jack/status/20 · https://tweet.md/jack/status/20?thread=full&format=obsidian

Use markdown for agents, notes, and browsers; obsidian when importing into an Obsidian vault.

05

X Articles

X Articles

Long-form article posts use the normal status URL — tweet.md pulls the full article body automatically. Same credit as a regular post.

https://x.com/trq212/status/2052809885763747935
→ https://tweet.md/trq212/status/2052809885763747935

Use the status permalink, not x.com/i/article/… alone. Article body is plain text from X (no rich layout yet).

06

Pricing

Pricing

1 credit per post returned, including quoted posts rendered with full post fields. Author metadata adds 2 credits per unique author.

1 credit per post. Author metadata adds 2 credits per unique author. Free use stays single-post only.