Extract 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 |
{n/1M:.1f}M{n/1K:.1f}KWhen 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.
共 1 个版本