X Tweet Fetcher

Fetch full tweets, long tweets, quoted tweets, and X Articles from X/Twitter without login or API keys, using no dependencies and zero configuration.

hjw21century

@hjw21century

What This Skill Does

Fetches full tweets, long tweets, quoted tweets, and X Articles from X/Twitter without requiring login, API keys, or any external dependencies. Works via CLI or Python import with zero configuration.

Replaces manual tweet scraping or Twitter API setup by providing instant, authenticated-free access to tweet content and metadata.

When to Use It

  • Extract the full text of a long tweet or X Article for analysis
  • Retrieve tweet statistics (likes, retweets, views) for reporting
  • Save quoted tweet content alongside the main tweet
  • Fetch tweet text for archival or offline reading
  • Quickly inspect a tweet's metadata without opening the X app

Install

$ openclaw skills install @hjw21century/x-tweet-fetcher

X Tweet Fetcher

Fetch tweets from X/Twitter without authentication. Uses FxTwitter API.

What It Can Fetch

Content TypeSupport
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

# 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

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

{
  "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_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 Structure

skills/x-tweet-fetcher/
├── SKILL.md              (this file)
└── scripts/
    └── fetch_tweet.py    (single file, zero deps)

Top skills in this category