X profile → Markdown
How to fetch an X profile as Markdown
Turn any X/Twitter profile into clean, structured Markdown with bio, stats, profile picture, and recent content sections. One URL swap replaces the x.com UI with LLM-ready text.
Why not scrape X?
Profile pages are built for browsers, not data.
Copy-pasting from x.com or running a scraper on a profile URL sounds simple, but you usually get layout noise, login walls, truncated bios, and t.co links that do not resolve outside the app.
Scrape x.com → DOM clutter, truncated bios, login walls
tweet.md → clean Markdown with bio, stats, pics, and posts
X profile pages are heavy: nav, sidebars, suggested accounts, trending topics, and a login wall for anyone who is not signed in.
Anonymous visitors often cannot see the full bio, stats, or pinned post without accepting cookies or logging in.
Scraping a profile page gives you the rendered DOM, not structured data — you still have to parse follower count, join date, and bio from mixed HTML.
X may truncate bios with t.co shortlinks that are inaccessible to a scraper without expanding them through the X entity API.
Workflow
Step-by-step
- 01
Copy the X/Twitter profile URL.
Use the profile page permalink, like x.com/thepetermick or x.com/jack. - 02
Replace x.com with tweet.md.
Swap the domain and open the tweet.md page. For example, x.com/jack becomes tweet.md/jack.
URL transformBefore
https://x.com/jack/status/20→After
https://tweet.md/jack/status/20?thread=full - 03
Copy the Markdown output.
You get bio, stats, profile picture, banner, and pinned post by default. Use query params to customize sections. - 04
Use the Markdown wherever you need profile context.
Drop it into a note, agent prompt, research doc, or CRM profile — structured text beats a screenshot or page URL.
Good for
Portable profile context, not just chat prompts
Markdown is easy to search, diff, archive, and reuse. tweet.md gives you bio, stats, images, pinned post, and recent sections in one copy-pasteable block.
Save a profile snapshot in your CRM, prospect list, or research doc without visiting x.com.
Give an LLM agent full profile context (bio, stats, recent posts) in a single Markdown block.
Track profile changes over time by archiving Markdown snapshots — diffable and searchable.
What you get
Structured Markdown from the API
tweet.md reads profiles through the X API and formats the result—not the surrounding page chrome. Customize sections with query params (latest, replies, articles, pinnedpost). Profile fetching requires credits — see docs.
# @jack (jack)
**Bio:** just setting up my twttr
**Stats:
- Following: 500
- Followers: 10,000
- Posts: 5,000
- Joined: March 2006
**Links:**
- [jack.com](https://jack.com)
- Location: California


---
# 📌 Pinned Post
[@jack](https://x.com/jack/status/20) · 2006-03-21
> just setting up my twttr
Stats:
- Replies: 12
- Reposts: 890
- Quotes: 45
- Likes: 12,345
- Bookmarks: 120
- Impressions: 500,000Next
Posts and AI chatbots
Need post or thread Markdown, or want to paste profile context into ChatGPT, Claude, or Gemini? These guides cover those workflows.
convert an X post or thread to Markdown
Get the post text, thread chain, and metadata as Markdown you can save or paste into any chat assistant.
full thread text, not page scrape
copy an X thread or post to ChatGPT
Paste complete X posts and threads into ChatGPT without missing content or broken links.
reads pasted Markdown, not a raw URL
copy an X thread or post to Claude
Give Claude the full post or thread text as Markdown instead of a brittle X link.
reads pasted Markdown, not a raw URL
copy an X thread or post to Gemini
Make X posts and threads readable for Gemini with one tweet.md URL swap.
reads pasted Markdown, not a raw URL