Skip to main content
skill CX Codex

fetch-tweet — Claude Code skill: what it does, how to install

Extracts post text, media files, and engagement metrics from X without JavaScript rendering. It retrieves structured JSON directly through the fxtwitter API.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add PlayableIntelligence/game-creator --skill fetch-tweet -a claude-code
Open on GitHub

What fetch-tweet does

Standard WebFetch calls to x.com return an empty shell. The platform relies on JavaScript to render posts. This skill bypasses the limitation. It parses the incoming URL, extracts the username and post ID, then constructs https://api.fxtwitter.com/<user>/status/<id>.

The agent queries the open fxtwitter API without tokens or browser execution. It receives JSON containing the post body, author details, and media links. The output arranges view counts, likes, retweets, and replies in a readable block.

If an author deletes the post or faces suspension, the API returns an error status instead of 200. The parser supports URLs from x.com, twitter.com, fxtwitter.com, and vxtwitter.com. Any other URL pattern causes the agent to prompt for a valid link.

What it helps with

  • fetch tweet text from X without rendering JavaScript
  • extract media links from photo and video posts
  • retrieve view counts, likes, retweets, and replies
  • parse links across x.com, twitter.com, and vxtwitter.com

Example prompts for the agent

  • Extract post text and engagement counts from https://x.com/<user>/status/<id>
  • Show author info and media files for https://twitter.com/<user>/status/<id>
  • Fetch tweet details using https://fxtwitter.com/<user>/status/<id>

How to install fetch-tweet

1Skills CLI (Vercel)

npx skills add PlayableIntelligence/game-creator --skill fetch-tweet -a claude-code

2Manually: put the files in place

~/.claude/skills/fetch-tweet/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/fetch-tweet/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about fetch-tweet

How to install fetch-tweet in Claude Code?

Run npx skills add PlayableIntelligence/game-creator --skill fetch-tweet -a claude-code. It installs the skill file at ~/.claude/skills/fetch-tweet/SKILL.md.

What does fetch-tweet do?

The skill accepts an X link, maps it to the fxtwitter API endpoint, and pulls structured JSON via WebFetch. It returns post copy, author metadata, media attachments, and engagement figures.

Why does the skill query fxtwitter instead of x.com?

Direct requests to x.com fail because the platform requires client-side JavaScript. The api.fxtwitter.com endpoint delivers the identical tweet payload as raw JSON without tokens or scripts.

Source text

SKILL.md · MIT
---
name: fetch-tweet
description: Fetch tweet content directly from fxtwitter API. Use when given a tweet/X URL to extract the tweet text, author, media, and engagement stats without loading x.com.
argument-hint: "[tweet-url]"
license: MIT
metadata:
  author: OpusGameLabs
  version: 1.3.0
  tags: [twitter, tweet, fetch, fxtwitter, social-media]
---

# Fetch Tweet

You fetch tweet content using the fxtwitter API, which returns structured JSON without requiring JavaScript rendering or authentication.

## Why fxtwitter

X/Twitter requires JavaScript to render tweets. `WebFetch` on `x.com` returns an empty shell. The fxtwitter API (`api.fxtwitter.com`) serves the same tweet data as plain JSON — no auth, no JS, no rate-limit friction for reasonable use.

## URL Conversion

Given any tweet URL, convert it to the fxtwitter API endpoint:

| Input URL pattern | API URL |
|---|---|
| `https://x.com/<user>/status/<id>` | `https://api.fxtwitter.com/<user>/status/<id>` |
| `https://twitter.com/<user>/status/<id>` | `https://api.fxtwitter.com/<user>/status/<id>` |
| `https://fxtwitter.com/<user>/status/<id>` | `https://api.fxtwitter.com/<user>/status/<id>` |
| `https://vxtwitter.com/<user>/status/<id>` | `https://api.fxtwitter.com/<user>/status/<id>` |

Extract the `<user>` and `<id>` from the input URL, then construct `https://api.fxtwitter.com/<user>/status/<id>`.

## How to Fetch

Use `WebFetch` with the converted API URL:

```
WebFetch(url: "https://api.fxtwitter.com/<user>/status/<id>", prompt: "Extract the tweet JSON. Return: author name, handle, tweet text, date, media URLs (if any), likes, retweets, replies, views.")
```

## Response Structure

The fxtwitter API returns JSON with this structure:

```json
{
  "code": 200,
  "message": "OK",
  "tweet": {
    "url": "https://x.com/user/status/123",
    "text": "The tweet content...",
    "author": {
      "name": "Display Name",
      "screen_name": "handle"
    },
    "created_at": "Thu Jan 30 12:00:00 +0000 2026",
    "likes": 1000,
    "retweets": 500,
    "replies": 200,
    "views": 50000,
    "media": {
      "photos": [...],
      "videos": [...]
    }
  }
}
```

## Usage Pattern

When you receive a tweet URL (x.com, twitter.com, fxtwitter.com, or vxtwitter.com):

1. **Parse** the URL to extract username and tweet ID
2. **Convert** to `https://api.fxtwitter.com/<user>/status/<id>`
3. **Fetch** using `WebFetch` with the API URL
4. **Present** the tweet content in a readable format:

```
**Author Name** (@handle) — Date

"Tweet text here"

Engagement: X views, Y likes, Z retweets, W replies
```

If the tweet contains media (photos/videos), include the URLs.

## Error Handling

- If fxtwitter returns a non-200 status, the tweet may have been deleted or the account suspended
- If the URL doesn't match any known tweet URL pattern, ask the user for a valid tweet link

© OpusGameLabs · MIT · PlayableIntelligence/game-creator

Similar skills

All skills for Browser and scraping →

From the same set27

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor