xdataapi: X (Twitter) data
Read-only public X (Twitter) data: profiles, tweets, threads, followers, search. Pay per result.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http xdataapi-x-twitter-data 'https://api.xdataapi.io/mcp'
{
"mcpServers": {
"xdataapi-x-twitter-data": {
"type": "http",
"url": "https://api.xdataapi.io/mcp"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
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, 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, as a plugin — the server plus a skill that teaches the search operators and the cost rules:
claude plugin marketplace add xdataapi/xdataapi
claude plugin install xdataapi@xdataapi
Or the server on its own, in any MCP client:
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)
The TypeScript client has no runtime dependencies; npm install xdataapi pulls one package.
Both are generated from openapi.yaml by sdk/generate.sh; the source
is in sdk/typescript and 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 |
| LlamaIndex | pip install llama-index-tools-xdataapi | packages/llama-index |
| n8n | community node n8n-nodes-xdataapi | packages/n8n |
| Claude Code | claude plugin install xdataapi@xdataapi | plugins/xdataapi |
For anything else, see 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
Frequently asked questions
What is xdataapi: X (Twitter) data?
Read-only public X (Twitter) data: profiles, tweets, threads, followers, search. Pay per result.
How do I install xdataapi: X (Twitter) data?
It runs as a remote server. In Claude Code: claude mcp add --transport http xdataapi-x-twitter-data 'https://api.xdataapi.io/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does xdataapi: X (Twitter) data need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is xdataapi: X (Twitter) data open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains xdataapi: X (Twitter) data?
It is published by xdataapi. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.