xdataapi
MCP serverSearchRead-only public X (Twitter) data: profiles, tweets, threads, followers, search. Pay per result.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use xdataapi
From the project's README
As published by andrewchmr/xdataapi in README.md.
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, also at https://api.xdataapi.io/openapi.yaml) - Hosted MCP server:
https://api.xdataapi.io/mcp(Streamable HTTP, OAuth orx-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:
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:
{
"mcpServers": {
"xdataapi": {
"url": "https://api.xdataapi.io/mcp",
"headers": { "x-api-key": "xd_live_..." }
}
}
}
Stdio-only clients can bridge with mcp-remote:
{
"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
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:
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:
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)
Both are generated from openapi.yaml. See examples/ for LangChain, CrewAI, and Vercel AI SDK tools.
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
Advanced
- Delivery
- xdataapi MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
io-xdataapi-xdataapi- Source
- github.com/andrewchmr/xdataapi
- Hosted endpoint
https://api.xdataapi.io/mcp