What is LlamaIndex?
Data framework for building RAG pipelines and LLM applications over custom data. Connects LLMs to external data sources.
Searching X (Twitter) with LlamaIndex
This integration lets your LlamaIndex agent search X (Twitter) in real time via the Scavio API. The agent gets back structured JSON with post text, author handles, created_at timestamps, favorites, retweets, replies, quotes -- ready for reasoning and decision-making.
Setup
pip install llama-index requestsCode Example
Here is a complete LlamaIndex agent that searches X (Twitter) using Scavio:
from llama_index.core.tools import FunctionTool
from llama_index.llms.openai import OpenAI
from llama_index.core.agent import ReActAgent
import json
import os
import requests
# X takes search (not query). search_type is one of Top, Latest, People, Photos, Videos.
def search_x_twitter(query: str) -> str:
"""Query X (Twitter) through the Scavio API (POST /api/v1/x/search)."""
response = requests.post(
"https://api.scavio.dev/api/v1/x/search",
headers={
"Authorization": "Bearer " + os.environ["SCAVIO_API_KEY"],
"Content-Type": "application/json",
},
json={"search": query, "search_type": "Latest"},
timeout=60,
)
response.raise_for_status()
return json.dumps(response.json())
tool = FunctionTool.from_defaults(fn=search_x_twitter)
llm = OpenAI(model="gpt-5.5")
agent = ReActAgent.from_tools([tool], llm=llm, verbose=True)
response = agent.chat("AI agents")
print(response)Full Working Example
A production-ready example with error handling:
from llama_index.core.tools import FunctionTool
from llama_index.llms.openai import OpenAI
from llama_index.core.agent import ReActAgent
import json
import os
import requests
# X takes search (not query). search_type is one of Top, Latest, People, Photos, Videos.
def search_x_twitter(query: str) -> str:
"""Query X (Twitter) through the Scavio API (POST /api/v1/x/search)."""
response = requests.post(
"https://api.scavio.dev/api/v1/x/search",
headers={
"Authorization": "Bearer " + os.environ["SCAVIO_API_KEY"],
"Content-Type": "application/json",
},
json={"search": query, "search_type": "Latest"},
timeout=60,
)
response.raise_for_status()
return json.dumps(response.json())
tool = FunctionTool.from_defaults(fn=search_x_twitter)
llm = OpenAI(model="gpt-5.5")
agent = ReActAgent.from_tools([tool], llm=llm, verbose=True)
response = agent.chat("AI agents")
print(response)Pricing
Scavio offers a free tier with 50 credits on signup (1 credit per search). No credit card required. This is enough to build and test your LlamaIndex integration. Paid plans start at $30/month for higher volumes.