Fetch Tweet
You fetch tweet content using the fxtwitter API, which returns structured JSON without requiring JavaScript rendering or authentication.
Why fxtwitter
X/Twitter requires JavaScript to render tweets. WebFetch on x.com returns an empty shell. The fxtwitter API (api.fxtwitter.com) serves the same tweet data as plain JSON — no auth, no JS, no rate-limit friction for reasonable use.
URL Conversion
Given any tweet URL, convert it to the fxtwitter API endpoint:
| Input URL pattern | API URL |
|---|---|
https://x.com/<user>/status/<id> | https://api.fxtwitter.com/<user>/status/<id> |
https://twitter.com/<user>/status/<id> | https://api.fxtwitter.com/<user>/status/<id> |
https://fxtwitter.com/<user>/status/<id> | https://api.fxtwitter.com/<user>/status/<id> |
https://vxtwitter.com/<user>/status/<id> | https://api.fxtwitter.com/<user>/status/<id> |
Extract the <user> and <id> from the input URL, then construct https://api.fxtwitter.com/<user>/status/<id>.
How to Fetch
Use WebFetch with the converted API URL:
WebFetch(url: "https://api.fxtwitter.com/<user>/status/<id>", prompt: "Extract the tweet JSON. Return: author name, handle, tweet text, date, media URLs (if any), likes, retweets, replies, views.")
Response Structure
The fxtwitter API returns JSON with this structure:
json{ "code": 200, "message": "OK", "tweet": { "url": "https://x.com/user/status/123", "text": "The tweet content...", "author": { "name": "Display Name", "screen_name": "handle" }, "created_at": "Thu Jan 30 12:00:00 +0000 2026", "likes": 1000, "retweets": 500, "replies": 200, "views": 50000, "media": { "photos": [...], "videos": [...] } } }
Usage Pattern
When you receive a tweet URL (x.com, twitter.com, fxtwitter.com, or vxtwitter.com):
- Parse the URL to extract username and tweet ID
- Convert to
https://api.fxtwitter.com/<user>/status/<id> - Fetch using
WebFetchwith the API URL - Present the tweet content in a readable format:
**Author Name** (@handle) — Date "Tweet text here" Engagement: X views, Y likes, Z retweets, W replies
If the tweet contains media (photos/videos), include the URLs.
Error Handling
- If fxtwitter returns a non-200 status, the tweet may have been deleted or the account suspended
- If the URL doesn't match any known tweet URL pattern, ask the user for a valid tweet link

