Skip to main content

llama-index-tools-xdataapi

LlamaIndex tool spec for xdataapi.io: read-only public X (Twitter) data. Profiles, posts, threads, replies, quotes, reposters, followers, and search with the x.com operators.

Read-only by design. No posting, no likes, no direct messages, no private data. Not affiliated with X Corp.

pip install llama-index-tools-xdataapi

Use

from llama_index.tools.xdataapi import XdataapiToolSpec

# Reads XDATAAPI_KEY from the environment.
tool_spec = XdataapiToolSpec()
tools = tool_spec.to_tool_list()

With an agent:

from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.anthropic import Anthropic
from llama_index.tools.xdataapi import XdataapiToolSpec

agent = FunctionAgent(
    tools=XdataapiToolSpec(max_results=25).to_tool_list(),
    llm=Anthropic(model="claude-opus-5"),
)
print(await agent.run("What is @vercel posting about this week?"))

One call on its own:

XdataapiToolSpec().search_tweets(q="from:vercel since:2026-09-01", count=10)

Tools

Tool Reads Credits
search_tweets Search with the x.com operators 1 per result
get_user One profile 1
get_users Up to 100 profiles in one call 1 per profile
get_user_tweets Latest posts of a user 1 per post
get_tweet One post 1
get_tweets Up to 100 posts in one call 1 per post
get_thread A post with its thread and replies 1 per post
get_replies Direct replies to a post 1 per reply
get_quotes Posts that quote a post 1 per post
get_retweeters Accounts that reposted a post 0.5 per profile
get_followers Followers, as profiles 0.1 per profile
get_follower_ids Follower ids only 0.02 per id
get_following Accounts a user follows 0.1 per profile
get_balance Credits left and rate limit free

Empty results and failed requests cost nothing. A repeated read inside the cache window costs half. Every response carries credits_charged and balance_remaining, so the model can watch the budget and stop on its own.

Spending guards

max_results caps the page size of every paging tool:

tool_spec = XdataapiToolSpec(max_results=25)

Narrow the surface with the LlamaIndex argument:

tools = XdataapiToolSpec().to_tool_list(spec_functions=["search_tweets", "get_user", "get_balance"])

Errors

A failure the model can act on — no credits, not found, a search product X refused — comes back as a dict with error.code, so the model can change plan. None of those are charged. A missing or revoked key raises XdataapiAuthError, because no model can repair it. Rate limits and upstream faults raise XdataapiError.

MCP instead

An agent that speaks MCP needs no package. The hosted server is at https://api.xdataapi.io/mcp (Streamable HTTP, OAuth or x-api-key), on the official MCP Registry as io.xdataapi/xdataapi.

Keys and pricing

Get a key at xdataapi.io/dashboard. 5,000 credits to start, no card. Prepaid packs from $10; credits never expire. Live status: xdataapi.io/status.

MIT licensed.

Metadata

Release files for llama-index-tools-xdataapi 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llama-index-tools-xdataapi 0.1.0
File Size Uploaded
llama_index_tools_xdataapi-0.1.0.tar.gz 7.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-index-tools-xdataapi 0.1.0
File Interpreter ABI Platform
llama_index_tools_xdataapi-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / llama_index_tools_xdataapi-0.1.0.tar.gz

Download URL llama_index_tools_xdataapi-0.1.0.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a3cad5ad520f312ec8a019b7daa9218e3a900d0cea732ea79624ece224b2d458
BLAKE2b-256 checksum
How to use checksums
092d3fd54d81c3bacae0312000fd16140a83424e502c521cca7103ea4601facf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / llama_index_tools_xdataapi-0.1.0-py3-none-any.whl

Download URL llama_index_tools_xdataapi-0.1.0-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bacc4b7f1315124973d540ece12833ac8c35c191f2348dc2874935cda8ec5283
BLAKE2b-256 checksum
How to use checksums
5e9d84458ba60e9a5e466727fc4f95f58b43a9d326d0f2b393cf7900f1cf499d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page