X Reader
Method 1: Bird CLI read (preferred)
Directly fetch any tweet, article, or thread by URL or ID:
export PATH="/opt/homebrew/opt/node@22/bin:/opt/homebrew/bin:$PATH" bird read <url-or-tweet-id>
Works for tweets, X Articles, Notes, and threads. No 7-day limit.
For replies to a tweet:
bird replies <url-or-tweet-id>
For searching recent tweets by author:
bird search "from:{handle}"
Method 2: Jina Reader (fallback)
If Bird CLI fails, use Jina Reader. Important: include the timeout header or you may get X's splash page instead of content.
curl -H "X-Timeout: 30" "https://r.jina.ai/https://x.com/user/status/123"
Or via web_fetch (note: can't set custom headers, may work without timeout for cached/popular pages):
web_fetch("https://r.jina.ai/https://x.com/user/status/123")
Output Format
Present as clean markdown:
@{handle} ({display_name}):
{tweet/article text}
{quoted tweet if any} {media URLs if any} 📊 {engagement if available} 📅 {timestamp}
For articles: summarize key points, then include full text if requested.
Limitations
-
Bird CLI: requires auth cookies (auto-extracted from Chrome profile)
-
Jina Reader: free tier ~20 req/min (free API key bumps to 100 RPM), third-party dependency, needs X-Timeout header
-
If both fail, ask user to paste content