The Problem
LangGraph agents default to retrieval from static vector stores or cached data. When the workflow requires current market data, live competitor info, or real-time pricing, the agent has no built-in way to fetch fresh results from the web.
The Scavio Solution
Add a Scavio search node to your LangGraph state graph. The node accepts a query from upstream nodes, fetches live SERP results, and passes structured data downstream for the LLM to synthesize into its response.
Before
LangGraph agents limited to stale vector store data, unable to answer questions about current events, live pricing, or recent product launches.
After
A dedicated search node in the LangGraph graph fetches live results on demand, giving the agent access to real-time web data at any point in the workflow.
Who It Is For
LangGraph developers building research and analysis pipelines.
Key Benefits
- Drop-in search node for any LangGraph state graph
- Real-time web data available at any workflow step
- Structured output compatible with LangGraph state schema
- Multi-platform search across Google, Reddit, YouTube
Python Example
import requests
from typing import TypedDict
class SearchState(TypedDict):
query: str
search_results: list
grounded_answer: str
def scavio_search_node(state: SearchState) -> dict:
"""LangGraph node that fetches live search results."""
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": SCAVIO_API_KEY, "Content-Type": "application/json"},
json={"query": state["query"], "platform": "google", "limit": 8}
)
results = resp.json().get("results", [])
return {
"search_results": [
{"title": r["title"], "url": r["link"], "snippet": r.get("snippet", "")}
for r in results
]
}
# Usage in LangGraph:
# graph.add_node("search", scavio_search_node)
# graph.add_edge("planner", "search")
# graph.add_edge("search", "synthesizer")JavaScript Example
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
fetch('https://api.scavio.dev/api/v1/search', {method: 'POST', headers: H, body: JSON.stringify({query: 'example', country_code: 'us'})}).then(r => r.json()).then(d => console.log(d.organic_results?.length + ' results'));Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Community, posts & threaded comments from any subreddit
YouTube
Video search with transcripts and metadata