{"skill":{"slug":"x-tweet-fetcher","displayName":"X Tweet Fetcher","summary":"Fetch full tweets, long tweets, quoted tweets, and X Articles from X/Twitter without login or API keys, using no dependencies and zero configuration.","description":"---\nname: x-tweet-fetcher\ndescription: >\n  Fetch tweets from X/Twitter without login or API keys.\n  Supports regular tweets, long tweets, quoted tweets, and full X Articles.\n  Zero dependencies, zero configuration.\n---\n\n# X Tweet Fetcher\n\nFetch tweets from X/Twitter without authentication. Uses FxTwitter API.\n\n## What It Can Fetch\n\n| Content Type | Support |\n|-------------|---------|\n| Regular tweets | ✅ Full text + stats |\n| Long tweets (Twitter Blue) | ✅ Full text |\n| X Articles (long-form) | ✅ Complete article text |\n| Quoted tweets | ✅ Included |\n| Stats (likes/RT/views) | ✅ Included |\n\n## Usage\n\n### CLI\n\n```bash\n# JSON output\npython3 scripts/fetch_tweet.py --url \"https://x.com/user/status/123456\"\n\n# Pretty JSON\npython3 scripts/fetch_tweet.py --url \"https://x.com/user/status/123456\" --pretty\n\n# Text only (human readable)\npython3 scripts/fetch_tweet.py --url \"https://x.com/user/status/123456\" --text-only\n```\n\n### From Agent Code\n\n```python\nfrom scripts.fetch_tweet import fetch_tweet\n\nresult = fetch_tweet(\"https://x.com/user/status/123456\")\ntweet = result[\"tweet\"]\n\n# Regular tweet\nprint(tweet[\"text\"])\n\n# X Article (long-form)\nif tweet[\"is_article\"]:\n    print(tweet[\"article\"][\"title\"])\n    print(tweet[\"article\"][\"full_text\"])  # Complete article\n    print(tweet[\"article\"][\"word_count\"])\n```\n\n## Output Format\n\n```json\n{\n  \"url\": \"https://x.com/user/status/123\",\n  \"username\": \"user\",\n  \"tweet_id\": \"123\",\n  \"tweet\": {\n    \"text\": \"Tweet content...\",\n    \"author\": \"Display Name\",\n    \"screen_name\": \"username\",\n    \"likes\": 100,\n    \"retweets\": 50,\n    \"bookmarks\": 25,\n    \"views\": 10000,\n    \"replies_count\": 30,\n    \"created_at\": \"Mon Jan 01 12:00:00 +0000 2026\",\n    \"is_note_tweet\": false,\n    \"is_article\": true,\n    \"article\": {\n      \"title\": \"Article Title\",\n      \"full_text\": \"Complete article content...\",\n      \"word_count\": 4847,\n      \"char_count\": 27705\n    }\n  }\n}\n```\n\n## Requirements\n\n- Python 3.7+\n- No external packages (stdlib only)\n- No API keys\n- No login required\n\n## How It Works\n\nUses [FxTwitter](https://github.com/FxEmbed/FxEmbed) public API (`api.fxtwitter.com`) which proxies X/Twitter content. Articles are returned as structured blocks and reassembled into full text.\n\n## Limitations\n\n- Cannot fetch reply threads (only reply counts available via `replies_count` field)\n  - Reply content would require browser automation dependencies (Camofox/Nitter)\n  - These were removed to maintain zero-dependency architecture\n  - `--replies` flag exists but returns an explanatory error message\n- Cannot fetch deleted or private tweets\n- Rate limits depend on FxTwitter service availability\n- If FxTwitter goes down, the skill won't work (no fallback)\n\n## File Structure\n\n```\nskills/x-tweet-fetcher/\n├── SKILL.md              (this file)\n└── scripts/\n    └── fetch_tweet.py    (single file, zero deps)\n```\n","tags":{"latest":"0.1.0"},"stats":{"comments":0,"downloads":5190,"installsAllTime":56,"installsCurrent":55,"stars":15,"versions":1},"createdAt":1771127732670,"updatedAt":1778491542212},"latestVersion":{"version":"0.1.0","createdAt":1771127732670,"changelog":"Initial release—fetches tweets and articles from X/Twitter with no API keys or dependencies.\n\n- Fetches regular tweets, long tweets (Twitter Blue), quoted tweets, and complete X Articles.\n- Returns full tweet stats: likes, retweets, bookmarks, views, and reply counts.\n- CLI and importable Python API supported; outputs JSON or plain text.\n- Zero dependencies: runs on Python 3.7+ standard library.\n- Requires no authentication; leverages the public FxTwitter API.\n- Cannot fetch reply threads (only reply counts) or access deleted/private tweets.","license":null},"metadata":null,"owner":{"handle":"hjw21century","userId":"s17fcfxg7qnvhcm4560ha42sy9885zc5","displayName":"hjw21century","image":"https://avatars.githubusercontent.com/u/7070409?v=4"},"moderation":null}