twitter-reader

Fetch Twitter/X post content by URL without JavaScript or authentication. Retrieves full post metadata including author, timestamp, text content, images, and thread replies via Jina.ai API Supports both individual tweet fetching and batch operations across x.com and twitter.com URLs Includes bundled Python and Bash scripts for single and multiple tweet retrieval Requires a free Jina API key set as an environment variable to function

INSTALLATION
npx skills add https://github.com/daymade/claude-code-skills --skill twitter-reader
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$2a

This will:

  • Fetch structured data via twitter-cli (likes, retweets, bookmarks)
  • Fetch content with images via jina.ai API
  • Download all images to attachments/YYYY-MM-DD-AUTHOR-TITLE/
  • Generate complete Markdown with embedded image references
  • Include YAML frontmatter with metadata

Example Output

Fetching: https://x.com/HiTw93/status/2040047268221608281

--------------------------------------------------

Getting metadata...

Title: 你不知道的大模型训练:原理、路径与新实践

Author: Tw93

Likes: 1648

Getting content and images...

Images: 15

Downloading 15 images...

  ✓ 01-image.jpg

  ✓ 02-image.jpg

  ...

✓ Saved: ./Clippings/2026-04-03-文章标题.md

✓ Images: ./Clippings/attachments/2026-04-03-HiTw93-.../ (15 downloaded)

Alternative: Jina API (Text-only)

For simple text-only fetching without authentication:

# Single tweet

curl "https://r.jina.ai/https://x.com/USER/status/TWEET_ID" \

  -H "Authorization: Bearer ${JINA_API_KEY}"

# Batch fetching

scripts/fetch_tweets.sh url1 url2 url3

Features

Full Article Mode (fetch_article.py)

  • ✅ Structured metadata (author, date, engagement metrics)
  • ✅ Automatic image download (all embedded media)
  • ✅ Complete Markdown with local image references
  • ✅ YAML frontmatter for PKM systems
  • ✅ Handles X Articles (long-form content)

Simple Mode (Jina API)

  • Text-only content
  • No authentication required beyond Jina API key
  • Good for quick text extraction

Prerequisites

For Full Article Mode

  • uv (Python package manager)
  • No additional setup (twitter-cli auto-installed)

For Simple Mode (Jina)

export JINA_API_KEY="your_api_key_here"

# Get from https://jina.ai/

Output Structure

output_dir/

├── YYYY-MM-DD-article-title.md       # Main Markdown file

└── attachments/

    └── YYYY-MM-DD-author-title/

        ├── 01-image.jpg

        ├── 02-image.jpg

        └── ...

What Gets Returned

Full Article Mode

  • YAML Frontmatter: source, author, date, likes, retweets, bookmarks
  • Markdown Content: Full article text with local image references
  • Attachments: All downloaded images in dedicated folder

Simple Mode

  • Title: Post author and content preview
  • URL Source: Original tweet link
  • Published Time: GMT timestamp
  • Markdown Content: Text with remote media URLs

URL Formats Supported

  • https://x.com/USER/status/ID (posts)
  • https://x.com/USER/article/ID (long-form articles)
  • https://twitter.com/USER/status/ID (legacy)

Scripts

fetch_article.py

Full-featured article fetcher with image download:

uv run --with pyyaml python scripts/fetch_article.py <url> [output_dir]

fetch_tweet.py

Simple text-only fetcher using Jina API:

python scripts/fetch_tweet.py <tweet_url> [output_file]

fetch_tweets.sh

Batch fetch multiple tweets (Jina API):

scripts/fetch_tweets.sh <url1> <url2> ...

Migration from Jina API

Old workflow:

curl "https://r.jina.ai/https://x.com/..."

# Manual image extraction and download

New workflow:

uv run --with pyyaml python scripts/fetch_article.py <url>

# Automatic image download, complete Markdown
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card