Install
openclaw skills install x-research-kitExtract and analyze X (Twitter) content using yt-dlp and gallery-dl. Supports tweet metadata, video extraction, thread retrieval, profile analysis, and spaces info. Use when user mentions "X research", "Twitter extract", "tweet analysis", "X metadata", "Twitter thread", "tweet transcript", "analyze tweet", or provides an x.com/twitter.com URL.
openclaw skills install x-research-kitExtract structured data from X/Twitter posts, profiles, and spaces for content research. Powered by yt-dlp and gallery-dl locally — no API key required.
Version: 1.0.0 Prerequisites: yt-dlp >= 2024.01.01, gallery-dl >= 1.26.0 (optional, for image posts)
# macOS
brew install yt-dlp gallery-dl
# pip
pip install yt-dlp gallery-dl
# Verify
yt-dlp --version && gallery-dl --version
Extract text, media, engagement stats from a single tweet.
yt-dlp --dump-json --skip-download "https://x.com/user/status/TWEET_ID"
Key JSON fields:
| Field | JSON path |
|---|---|
| Full text | .description |
| Author | .uploader |
| Author handle | .uploader_id |
| Upload date | .upload_date (YYYYMMDD → YYYY-MM-DD) |
| Views | .view_count |
| Likes | .like_count |
| Retweets | .repost_count |
| Replies | .comment_count |
| Media type | .formats[] (video/image) |
| Thumbnail | .thumbnail |
For image-only tweets (no video), use gallery-dl:
gallery-dl --dump-json "https://x.com/user/status/TWEET_ID"
Extract recent posts from a user's timeline.
yt-dlp --flat-playlist --dump-json --playlist-end 20 "https://x.com/USERNAME"
Output is one JSON object per line. Parse each for .description, .upload_date, .view_count, .like_count.
Output format: Table with columns: #, Date, Text (first 80 chars), Views, Likes.
For tweets containing video:
yt-dlp --dump-json --skip-download "https://x.com/user/status/TWEET_ID"
Parse .formats[] for available video qualities: .format_id, .height, .ext, .filesize.
For X Spaces (audio):
yt-dlp --dump-json --skip-download "https://x.com/i/spaces/SPACE_ID"
yt-dlp does not support X search directly. For hashtag research:
| Pattern | Type |
|---|---|
x.com/user/status/123 | Single tweet |
twitter.com/user/status/123 | Single tweet (legacy) |
x.com/USERNAME | User timeline |
x.com/i/spaces/ABC | X Space |
= 1,000,000 →
{n/1M:.1f}M
= 1,000 →
{n/1K:.1f}K
When user provides an X/Twitter URL:
When user asks to download media:
yt-dlp --cookies-from-browser chrome "URL"X Research Kit is an open-source project by SnapVee.