---
name: adhx
description: "Fetch any X/Twitter post as clean LLM-friendly JSON. Converts x.com, twitter.com, or adhx.com links into structured data with full article content, author info, and engagement metrics. No scraping or browser required."
risk: safe
source: community
date_added: "2026-03-25"
---

# ADHX - X/Twitter Post Reader

Fetch any X/Twitter post as structured JSON for analysis using the ADHX API.

## Overview

ADHX provides a free API that returns clean JSON for any X post, including full long-form article content. This is far superior to scraping or browser-based approaches for LLM consumption. Works with regular tweets and full X Articles.

## When to Use This Skill

- Use when a user shares an X/Twitter link and wants to read, analyze, or summarize the post
- Use when you need structured data from an X/Twitter post (author, engagement, content)
- Use when working with long-form X Articles that need full content extraction

## API Endpoint

```
https://adhx.com/api/share/tweet/{username}/{statusId}
```

## URL Patterns

Extract `username` and `statusId` from any of these URL formats:

| Format | Example |
|--------|---------|
| `x.com/{user}/status/{id}` | `https://x.com/dgt10011/status/2020167690560647464` |
| `twitter.com/{user}/status/{id}` | `https://twitter.com/dgt10011/status/2020167690560647464` |
| `adhx.com/{user}/status/{id}` | `https://adhx.com/dgt10011/status/2020167690560647464` |

## Workflow

When a user shares an X/Twitter link:

1. **Parse the URL** to extract `username` and `statusId` from the path segments
2. **Fetch the JSON** using curl:
```bash
curl -s "https://adhx.com/api/share/tweet/{username}/{statusId}"
```
3. **Use the structured response** to answer the user's question (summarize, analyze, extract key points, etc.)

## Response Schema

```json
{
  "id": "statusId",
  "url": "original x.com URL",
  "text": "short-form tweet text (empty if article post)",
  "author": {
    "name": "Display Name",
    "username": "handle",
    "avatarUrl": "profile image URL"
  },
  "createdAt": "timestamp",
  "engagement": {
    "replies": 0,
    "retweets": 0,
    "likes": 0,
    "views": 0
  },
  "article": {
    "title": "Article title (for long-form posts)",
    "previewText": "First ~200 chars",
    "coverImageUrl": "hero image URL",
    "content": "Full markdown content with images"
  }
}
```

## Installation

### Option A: Claude Code plugin marketplace (recommended)
```
/plugin marketplace add itsmemeworks/adhx
```

### Option B: Manual install
```bash
curl -sL https://raw.githubusercontent.com/itsmemeworks/adhx/main/skills/adhx/SKILL.md -o ~/.claude/skills/adhx/SKILL.md
```

## Examples

### Example 1: Summarize a tweet

User: "Summarize this post https://x.com/dgt10011/status/2020167690560647464"

```bash
curl -s "https://adhx.com/api/share/tweet/dgt10011/2020167690560647464"
```

Then use the returned JSON to provide the summary.

### Example 2: Analyze engagement

User: "How many likes did this tweet get? https://x.com/handle/status/123"

1. Parse URL: username = `handle`, statusId = `123`
2. Fetch: `curl -s "https://adhx.com/api/share/tweet/handle/123"`
3. Return the `engagement.likes` value from the response

## Best Practices

- Always parse the full URL to extract username and statusId before calling the API
- Check for the `article` field when the user wants full content (not just tweet text)
- Use the `engagement` field when users ask about likes, retweets, or views
- Don't attempt to scrape x.com directly - use this API instead

## Notes

- No authentication required
- Works with both short tweets and long-form X articles
- Always prefer this over browser-based scraping for X content
- If the API returns an error or empty response, inform the user the post may not be available

## Additional Resources

- [ADHX GitHub Repository](https://github.com/itsmemeworks/adhx)
- [ADHX Website](https://adhx.com)
