| name | x-thread-fetch |
| description | Fetch a full X/Twitter thread — all posts with untruncated text plus images — without auth or the paid API. Use when the user wants to retrieve, extract, scrape, pull, save, or download an X/Twitter thread, tweet text, or tweet images, mentions a status URL or tweet id, or asks to get the content of a thread/post. |
X thread fetch
Retrieve a complete X/Twitter thread deterministically. No login, no API key, no paid tier. Two free no-auth endpoints cover everything; the script below runs them.
The key insight that costs the most to rediscover: X's note tweets (long-form posts) are truncated at 280 chars by the metadata endpoint. A second endpoint unfurls the full text. Skipping the second gives you silently incomplete threads — posts ending mid-sentence ("...solved 2 more", "...On Deck:").
The two endpoints
- Syndication (
cdn.syndication.twimg.com/tweet-result?id=<id>&token=0) — metadata, engagement counts, the reply chain (in_reply_to_status_id_str), and image URLs (mediaDetails). Truncates note tweets.
- Unfurl (
api.fxtwitter.com/<handle>/status/<id>) — the full untruncated note-tweet text. Needs the author handle (take it from the status URL).
Process
-
Get the IDs. Accept a status URL or bare id. The script walks the reply chain backward (via in_reply_to_status_id_str) until it reaches the root post (no parent) — so any single post in the thread is enough. --last is an optional convenience when you only have the last/mid post handy, or want to be explicit; passing the root URL alone fetches the full thread.
-
Run the script — it walks the reply chain backward via syndication, unfurls each post's full text, downloads images, and writes + + :