What is AutoGen?
Microsoft's framework for building multi-agent conversational AI systems. Agents can converse, use tools, and collaborate autonomously.
Searching X (Twitter) with AutoGen
This integration lets your AutoGen 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 autogen-agentchat requestsCode Example
Here is a complete AutoGen agent that searches X (Twitter) using Scavio:
from autogen import ConversableAgent
import json
import os
import requests
# X takes search (not query). search_type is one of Top, Latest, People, Photos, Videos.
def scavio_search(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())
assistant = ConversableAgent(
"assistant",
llm_config={"model": "gpt-5.5"},
system_message="You are a helpful research assistant.",
)
user = ConversableAgent("user", human_input_mode="NEVER")
assistant.register_for_llm(name="search", description="Query X (Twitter)")(scavio_search)
user.register_for_execution(name="search")(scavio_search)
user.initiate_chat(assistant, message="Research: AI agents")Full Working Example
A production-ready example with error handling:
from autogen import ConversableAgent
import json
import os
import requests
# X takes search (not query). search_type is one of Top, Latest, People, Photos, Videos.
def scavio_search(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())
assistant = ConversableAgent(
"assistant",
llm_config={"model": "gpt-5.5"},
system_message="You are a helpful research assistant with real-time search.",
)
user = ConversableAgent("user", human_input_mode="NEVER", max_consecutive_auto_reply=3)
assistant.register_for_llm(name="search", description="Query X (Twitter)")(scavio_search)
user.register_for_execution(name="search")(scavio_search)
user.initiate_chat(assistant, message="Research: AI agents")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 AutoGen integration. Paid plans start at $30/month for higher volumes.