✓ Verified
🌐 Web Scrapers
✓ Enhanced Data
X Tweet Fetcher
Fetch tweets from X/Twitter without login or API keys.
- Rating
- 4.3 (170 reviews)
- Downloads
- 1,109 downloads
- Version
- 1.0.0
Overview
Fetch tweets from X/Twitter without login or API keys.
Complete Documentation
View Source →
X Tweet Fetcher
Fetch tweets from X/Twitter without authentication. Uses FxTwitter API.
What It Can Fetch
| Content Type | Support |
|---|---|
| Regular tweets | ✅ Full text + stats |
| Long tweets (Twitter Blue) | ✅ Full text |
| X Articles (long-form) | ✅ Complete article text |
| Quoted tweets | ✅ Included |
| Stats (likes/RT/views) | ✅ Included |
Usage
CLI
bash
# JSON output
python3 scripts/fetch_tweet.py --url "https://x.com/user/status/123456"
# Pretty JSON
python3 scripts/fetch_tweet.py --url "https://x.com/user/status/123456" --pretty
# Text only (human readable)
python3 scripts/fetch_tweet.py --url "https://x.com/user/status/123456" --text-only
From Agent Code
python
from scripts.fetch_tweet import fetch_tweet
result = fetch_tweet("https://x.com/user/status/123456")
tweet = result["tweet"]
# Regular tweet
print(tweet["text"])
# X Article (long-form)
if tweet["is_article"]:
print(tweet["article"]["title"])
print(tweet["article"]["full_text"]) # Complete article
print(tweet["article"]["word_count"])
Output Format
json
{
"url": "https://x.com/user/status/123",
"username": "user",
"tweet_id": "123",
"tweet": {
"text": "Tweet content...",
"author": "Display Name",
"screen_name": "username",
"likes": 100,
"retweets": 50,
"bookmarks": 25,
"views": 10000,
"replies_count": 30,
"created_at": "Mon Jan 01 12:00:00 +0000 2026",
"is_note_tweet": false,
"is_article": true,
"article": {
"title": "Article Title",
"full_text": "Complete article content...",
"word_count": 4847,
"char_count": 27705
}
}
}
Requirements
- Python 3.7+
- No external packages (stdlib only)
- No API keys
- No login required
How It Works
Uses FxTwitter public API (api.fxtwitter.com) which proxies X/Twitter content. Articles are returned as structured blocks and reassembled into full text.
Limitations
- Cannot fetch reply threads (only reply counts available via
replies_countfield) - Reply content would require browser automation dependencies (Camofox/Nitter)
- These were removed to maintain zero-dependency architecture
--repliesflag exists but returns an explanatory error message- Cannot fetch deleted or private tweets
- Rate limits depend on FxTwitter service availability
- If FxTwitter goes down, the skill won't work (no fallback)
File Structure
text
skills/x-tweet-fetcher/
├── SKILL.md (this file)
└── scripts/
└── fetch_tweet.py (single file, zero deps)
Installation
Terminal bash
openclaw install x-tweet-fetcher
Copied!
💻Code Examples
}
.txt
## Requirements
- Python 3.7+
- No external packages (stdlib only)
- No API keys
- No login required
## How It Works
Uses [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.
## Limitations
- Cannot fetch reply threads (only reply counts available via `replies_count` field)
- Reply content would require browser automation dependencies (Camofox/Nitter)
- These were removed to maintain zero-dependency architecture
- `--replies` flag exists but returns an explanatory error message
- Cannot fetch deleted or private tweets
- Rate limits depend on FxTwitter service availability
- If FxTwitter goes down, the skill won't work (no fallback)
## File Structureexample.sh
# JSON output
python3 scripts/fetch_tweet.py --url "https://x.com/user/status/123456"
# Pretty JSON
python3 scripts/fetch_tweet.py --url "https://x.com/user/status/123456" --pretty
# Text only (human readable)
python3 scripts/fetch_tweet.py --url "https://x.com/user/status/123456" --text-onlyexample.py
from scripts.fetch_tweet import fetch_tweet
result = fetch_tweet("https://x.com/user/status/123456")
tweet = result["tweet"]
# Regular tweet
print(tweet["text"])
# X Article (long-form)
if tweet["is_article"]:
print(tweet["article"]["title"])
print(tweet["article"]["full_text"]) # Complete article
print(tweet["article"]["word_count"])example.json
{
"url": "https://x.com/user/status/123",
"username": "user",
"tweet_id": "123",
"tweet": {
"text": "Tweet content...",
"author": "Display Name",
"screen_name": "username",
"likes": 100,
"retweets": 50,
"bookmarks": 25,
"views": 10000,
"replies_count": 30,
"created_at": "Mon Jan 01 12:00:00 +0000 2026",
"is_note_tweet": false,
"is_article": true,
"article": {
"title": "Article Title",
"full_text": "Complete article content...",
"word_count": 4847,
"char_count": 27705
}
}
}example.txt
skills/x-tweet-fetcher/
├── SKILL.md (this file)
└── scripts/
└── fetch_tweet.py (single file, zero deps)Tags
#browser_and-automation
#api
Quick Info
Category Web Scrapers
Model Claude 3.5
Complexity One-Click
Author hjw21century
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
Ready to Install?
Get started with this skill in seconds
openclaw install x-tweet-fetcher
Related Skills
✓ Verified
💻 Development
4claw
4claw — a moderated imageboard for AI agents.
🧠 Claude-Ready
)}
★ 4.4 (118)
↓ 4,990
v1.0.0
✓ Verified
💻 Development
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
🧠 Claude-Ready
)}
★ 4.3 (89)
↓ 4,621
v1.0.0
✓ Verified
💻 Development
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.
🧠 Claude-Ready
)}
★ 4.7 (88)
↓ 1,625
v1.0.0
✓ Verified
💻 Development
Adversarial Prompting
Adversarial analysis to critique, fix.
🧠 Claude-Ready
)}
★ 4.6 (372)
↓ 28,222
v1.0.0