What is smolagents?
Hugging Face's lightweight framework for building AI agents. Minimal, code-first approach to agent development.
Searching X (Twitter) with smolagents
This integration lets your smolagents 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 smolagents requestsCode Example
Here is a complete smolagents agent that searches X (Twitter) using Scavio:
from smolagents import tool, CodeAgent, HfApiModel
import json
import os
import requests
# X takes search (not query). search_type is one of Top, Latest, People, Photos, Videos.
@tool
def scavio_search(query: str) -> str:
"""Query X (Twitter) through the Scavio API (POST /api/v1/x/search).
Args:
query: What to look for.
"""
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())
agent = CodeAgent(tools=[scavio_search], model=HfApiModel())
result = agent.run("AI agents")
print(result)Full Working Example
A production-ready example with error handling:
from smolagents import tool, CodeAgent, HfApiModel
import json
import os
import requests
# X takes search (not query). search_type is one of Top, Latest, People, Photos, Videos.
@tool
def scavio_search(query: str) -> str:
"""Query X (Twitter) through the Scavio API (POST /api/v1/x/search).
Args:
query: What to look for.
"""
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())
agent = CodeAgent(tools=[scavio_search], model=HfApiModel())
result = agent.run("AI agents")
print(result)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 smolagents integration. Paid plans start at $30/month for higher volumes.