.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/ythx-101/x-tweet-fetcher
home/skills/ythx-101/x-tweet-fetcher
ythx-101 avatar

x-tweet-fetcher

byythx-101· 3 skills

Stars

921

Forks

77

Category

Research

View on GitHub

TL;DR

Fetch tweets, replies, timelines, search results, X Lists, and X Articles from X/Twitter without login or API keys. Single tweets: zero dependencies (FxTwitter). Timelines/search/replies: a Nitter instance (XTF_NITTER). Lists/Articles: a browser driver (Camofox or Playwright). Unified JSON schema across all backends; machine-readable error_code for agent branching. Field reports and agent-use questions: Agent Waystation #22 Teahouse: https://github.com/ythx-101/openclaw-qa/discussions/22

How to install x-tweet-fetcher?

ythx-101/x-tweet-fetcher
$npx -y skills add ythx-101/x-tweet-fetcher --skill x-tweet-fetcher

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Use this skill

Run `npx skills use "https://github.com/ythx-101/x-tweet-fetcher" --skill "ythx-101/x-tweet-fetcher"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.

Use the whole pack

Use the skills in "https://github.com/ythx-101/x-tweet-fetcher" that are relevant to the current task. Run `npx skills add "https://github.com/ythx-101/x-tweet-fetcher"` and select the relevant skills, then follow their instructions.

Files · 1

View on GitHub
SKILL.md
1<div align="center">
2 
3# x-tweet-fetcher
4 
5**Fetch X/Twitter tweets, replies, timelines, lists, and articles — no login, no API keys.**
6 
7[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
8[![Python 3.10+](https://img.shields.io/badge/Python-3.10+-green.svg)](https://www.python.org)
9[![GitHub stars](https://img.shields.io/github/stars/ythx-101/x-tweet-fetcher?style=social)](https://github.com/ythx-101/x-tweet-fetcher)
10 
11*Three backends · Auto fallback · Unified JSON schema · Built for AI agents*
12 
13[Quick Start](#-quick-start) · [Backends](#-three-backends) · [Capabilities](#-capabilities) · [Python API](#-python-api) · [Self-hosted Nitter](#-self-hosted-nitter) · [Migrating from v1](#-migrating-from-v1)
14 
15</div>
16 
17---
18 
19## 😤 Problem
20 
21```
22You: fetch that tweet / list / article for me
23AI: I can't access X/Twitter. Please copy-paste the content manually.
24 
25You: ...seriously?
26```
27 
28X has no free API. Scraping gets you blocked. Browser automation is fragile in headless environments.
29 
30**x-tweet-fetcher** solves this with **smart backend routing**: FxTwitter for single tweets (zero deps), Nitter for timelines and search (direct HTTP), a browser driver for everything else — with automatic fallback between them.
31 
32## 🚀 Quick Start
33 
34```bash
35git clone https://github.com/ythx-101/x-tweet-fetcher
36cd x-tweet-fetcher && pip install .
37 
38# Single tweet — works instantly, zero configuration
39xtf --url https://x.com/user/status/1234567890
40 
41# User timeline (needs a Nitter instance, see below)
42export XTF_NITTER=http://127.0.0.1:8788
43xtf --user elonmusk --limit 20
44 
45# Search
46xtf --search "openclaw" --limit 10
47 
48# Human-readable output instead of JSON
49xtf --user elonmusk --text-only
50```
51 
52Prefer not to install? `python3 scripts/fetch_tweet.py --url ...` works straight from the clone (same flags).
53 
54## 🔀 Three Backends
55 
56| Backend | Deps | Speed | Covers |
57|---------|------|-------|--------|
58| **fxtwitter** | None (stdlib) | ⚡⚡ | Single tweets, user profiles |
59| **nitter** | A Nitter instance | ⚡ | Timeline, search, replies, mentions |
60| **browser** | Camofox *or* Playwright | 🐢 | Everything above + **Lists** + **X Articles** |
61| **auto** (default) | Best available | ⚡→🐢 | Nitter first, browser fallback |
62 
63```bash
64xtf --user elonmusk # auto (default)
65xtf --user elonmusk --backend nitter # direct HTTP only
66xtf --list 1455045069516357634 # lists always use the browser
67```
68 
69**Browser driver** defaults to Camofox (`localhost:9377`). Playwright users:
70 
71```bash
72pip install ".[playwright]" # from the clone
73export XTF_BROWSER=playwright # or: --browser-driver playwright
74```
75 
76## 📊 Capabilities
77 
78| Feature | Flag | Backend |
79|---------|------|---------|
80| Single tweet (text, stats, media, quotes) | `--url` | fxtwitter |
81| Reply comments (threaded) | `--url --replies` | nitter / browser |
82| User timeline (paginated) | `--user` | nitter / browser |
83| Search | `--search` | nitter |
84| User profile | `--user-info` | fxtwitter → nitter |
85| X List tweets | `--list` | browser |
86| X Article full text | `--article` | browser |
87| Mentions monitor (incremental, cron-friendly) | `--monitor` | nitter / browser |
88 
89**Exit codes** (cron-friendly): `0` success / no new mentions · `1` error / new mentions found · `2` monitor setup error.
90 
91**Errors are machine-readable.** Every failure carries `error` (human message) plus `error_code` — one of `invalid_input`, `not_found`, `rate_limited`, `upstream_down`, `backend_unavailable`, `all_backends_failed` — so agents can branch on it. `all_backends_failed` additionally includes per-backend `error_causes`.
92 
93## 🐍 Python API
94 
95```python
96from xtf import Router, NotFound, RateLimited
97 
98router = Router() # backend="auto"
99tweet = router.fetch_tweet("user", "1234567890") # dict, v1-compatible shape
100tweets = router.fetch_timeline("user", limit=20) # list[Tweet]
101replies = router.fetch_replies("user", "1234567890")
102results = router.search("opencl

Preview

ythx-101/x-tweet-fetcherythx-101/x-tweet-fetcher

$ npx -y skills add ythx-101/x-tweet-fetcher --skill x-tweet-fetcher

▸ installing to .claude/skills…

✓ x-tweet-fetcher ready

Repoythx-101/x-tweet-fetcher
TypeSkills
CategoryResearch
ForResearcherAnalyst
UpdatedJul 2026
License—
First seenJul 27, 2026

Tags

Skill

Related

6 picks
Type
  1. mattpocock avatarresearchInvestigate a question against high-trust primary sources and capture the findings as a Markdown file in the repo.SkillsJul 2026183k189k
  2. lllllllama avataranalyze-projectRigor Analyze / Rigor Audit read-only skill for deep learning research repositories.SkillsJul 2026176k512
  3. lllllllama avatarpaper-context-resolverRigor Paper Context helper for README-first deep learning repo reproduction.SkillsJul 2026176k512
  4. lllllllama avatarrepo-intake-and-planRigor Intake helper for README-first deep learning repo reproduction.SkillsJul 2026176k512
  5. firecrawl avatarfirecrawl-searchWeb search with full page content extraction. Use this skill whenever the user asks to search the web, find articles, research a topic, look something up, find…SkillsJul 202677k539
  6. coreyhaines31 avatarcustomer-researchWhen the user wants to conduct, analyze, or synthesize customer research.SkillsJul 202671k42k