# xdataapi: X (Twitter) data

**Category:** 🌐 Social Media  
**Repository:** https://github.com/xdataapi/xdataapi  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/xdataapi-x-twitter-data-3

## Description
Read-only public X (Twitter) data: profiles, tweets, threads, followers, search. Pay per result.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "xdataapi-x-twitter-data": {
    "command": "npx",
    "args": ["-y","xdataapi-x-twitter-data-3"]
  }
}
```

## Documentation & README

# xdataapi

Read-only public X (Twitter) data for developers and AI agents. Profiles, tweets, timelines, threads,
followers, and search with the x.com operators. One credit per tweet or profile returned. Empty results
and errors are free.

- Site and docs: https://xdataapi.io/docs
- API: `https://api.xdataapi.io` (OpenAPI 3.1: [openapi.yaml](https://github.com/xdataapi/xdataapi/blob/HEAD/openapi.yaml), also at https://api.xdataapi.io/openapi.yaml)
- Hosted MCP server: `https://api.xdataapi.io/mcp` (Streamable HTTP, OAuth or `x-api-key`)
- Status, checked every minute from outside: https://xdataapi.io/status
- Docs for agents: https://xdataapi.io/llms.txt

Not affiliated with X Corp. Public data only. No write endpoints.

## MCP

Claude Code, as a plugin — the server plus a skill that teaches the search operators and the cost rules:

```bash
claude plugin marketplace add xdataapi/xdataapi
claude plugin install xdataapi@xdataapi
```

Or the server on its own, in any MCP client:

```bash
claude mcp add --transport http xdataapi https://api.xdataapi.io/mcp
```

The server signs you in with OAuth on first use. Clients without OAuth pass a key instead:

```json
{
  "mcpServers": {
    "xdataapi": {
      "url": "https://api.xdataapi.io/mcp",
      "headers": { "x-api-key": "xd_live_..." }
    }
  }
}
```

Stdio-only clients can bridge with `mcp-remote`:

```json
{
  "mcpServers": {
    "xdataapi": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.xdataapi.io/mcp", "--header", "x-api-key:${XDATAAPI_KEY}"],
      "env": { "XDATAAPI_KEY": "xd_live_..." }
    }
  }
}
```

Tools: `get_user`, `get_users`, `get_user_tweets`, `get_followers`, `get_following`, `get_follower_ids`,
`search_tweets`, `get_tweet`, `get_tweets`, `get_thread`, `get_replies`, `get_quotes`, `get_retweeters`,
`get_balance`. All read-only. Listed on the official MCP Registry as `io.xdataapi/xdataapi`.

## REST

```bash
curl "https://api.xdataapi.io/v1/tweets/search?q=from:x%20since:2026-09-01&count=20" \
  -H "x-api-key: xd_live_..."
```

Every response carries `credits_charged` and `balance_remaining`. Pages return `next_cursor`; pass it back as `cursor`.

## SDKs

TypeScript, `npm install xdataapi`:

```ts
import { xdataapi } from 'xdataapi';
const api = xdataapi({ apiKey: process.env.XDATAAPI_KEY! });
const { data } = await api.searchTweets({ query: { q: 'from:x', count: 20 } });
```

Python, `pip install xdataapi`:

```python
from xdataapi import AuthenticatedClient
from xdataapi.api.tweets import search_tweets
client = AuthenticatedClient(base_url="https://api.xdataapi.io", token=KEY, prefix="", auth_header_name="x-api-key")
page = search_tweets.sync(client=client, q="from:x", count=20)
```

The TypeScript client has **no runtime dependencies**; `npm install xdataapi` pulls one package.

Both are generated from [openapi.yaml](https://github.com/xdataapi/xdataapi/blob/HEAD/openapi.yaml) by [sdk/generate.sh](https://github.com/xdataapi/xdataapi/blob/HEAD/sdk/generate.sh); the source
is in [sdk/typescript](https://github.com/xdataapi/xdataapi/blob/HEAD/sdk/typescript) and [sdk/python](https://github.com/xdataapi/xdataapi/blob/HEAD/sdk/python). Nothing in them is hand-written
except the small wrapper in `sdk/typescript/src/index.ts` and the READMEs, so an API change means
regenerating rather than editing.

## Framework packages

Installable tools for agent frameworks. Each one carries the credit cost in every tool description, so
the model can see what a plan costs before it runs it, and each takes a `max_results` cap so one agent
step cannot empty the balance.

| Package | Install | Source |
|---|---|---|
| LangChain and LangGraph | `pip install langchain-xdataapi` | [packages/langchain](https://github.com/xdataapi/xdataapi/blob/HEAD/packages/langchain) |
| LlamaIndex | `pip install llama-index-tools-xdataapi` | [packages/llama-index](https://github.com/xdataapi/xdataapi/blob/HEAD/packages/llama-index) |
| n8n | community node `n8n-nodes-xdataapi` | [packages/n8n](https://github.com/xdataapi/xdataapi/blob/HEAD/packages/n8n) |
| Claude Code | `claude plugin install xdataapi@xdataapi` | [plugins/xdataapi](https://github.com/xdataapi/xdataapi/blob/HEAD/plugins/xdataapi) |

For anything else, see [examples/](https://github.com/xdataapi/xdataapi/blob/HEAD/examples/): CrewAI, the Vercel AI SDK, and the OpenAI Agents SDK.
An agent that speaks MCP needs none of them.

## Pricing

Prepaid credit packs from $10. Credits never expire. No per-call minimum. Rate limit rises with lifetime spend.
Details: https://xdataapi.io/#pricing

## Support

hello@xdataapi.io. Security reports: https://xdataapi.io/.well-known/security.txt

