Read X
Fetch full content from X/Twitter posts and articles — no API key, no auth, no browser needed.
How It Works
Use the FxTwitter API — a public, no-auth API that returns full tweet JSON including embedded articles, media, and engagement stats.
Endpoint
https://api.fxtwitter.com/{username}/status/{tweet_id}When to Use
- User shares an x.com or twitter.com URL
- User asks to read/summarize an X post or article
- User shares a thread or long-form X article
When NOT to Use
- User just wants to post/reply on X (this is read-only)
- URL is not a post (e.g., x.com/username profile page)
How to Fetch
Use web_fetch on the fxtwitter URL:
web_fetch: https://api.fxtwitter.com/{username}/status/{tweet_id}Extracting from the URL
Given: https://x.com/elonmusk/status/1234567890
- username:
elonmusk - tweet_id:
1234567890 - API URL:
https://api.fxtwitter.com/elonmusk/status/1234567890
Response Structure
The API returns JSON with:
tweet.text— tweet texttweet.author— author info (name, handle, followers, bio)tweet.likes,tweet.retweets,tweet.views— engagementtweet.article— full long-form article content (if present)
- tweet.article.title — article title - tweet.article.content.blocks[] — article body (block-based, like Draft.js) - Each block has text, type (unstyled, header-two, blockquote, atomic), and inlineStyleRanges (Bold, Italic)
tweet.media— attached images/videostweet.replying_to— if it's a reply, who it's replying to
Rendering Articles
When tweet.article exists, render it as clean markdown:
header-two→## headingblockquote→> quoteBoldinline style →**bold**Italicinline style →*italic*atomicwith DIVIDER entity →---- Links in
entityMap→[text](url)
Limitations
- Read-only (no posting, liking, replying)
- Some tweets may be unavailable (deleted, protected accounts)
- Rate limits exist but are generous for casual use
- Threads: each tweet is a separate request (follow
replying_tochain)