ScavioScavio
ToolsPricingDocs
Sign InGet Started
Quick StartAPI & SDKsEcosystem

LangChain Integration

Scavio ships as a ready-made tool package for LangChain, the most widely used framework for building LLM applications. Install langchain-scavio and hand any tool to a LangChain agent to give it real-time search across Google, Amazon, Walmart, YouTube, Reddit, TikTok, TikTok Shop, and Instagram — a cost-effective Tavily and SerpAPI alternative, with one package, one API key, and no custom HTTP code.

46 tools, one package

langchain-scavio gives any LangChain or LangGraph agent real-time search across eight platforms. Every tool is a LangChain BaseTool with a typed Pydantic argument schema, sync and async support, and structured results.

Introduction

The langchain-scavio package exposes 46 tools across 8 providers, all following the Scavio<Provider><Action> naming convention. Each tool subclasses LangChain's BaseTool and declares an args_schema, so the model gets accurate argument hints and LangChain validates every call before it runs.

You need Python 3.10 or later and a Scavio API key from dashboard.scavio.dev. The package depends only on langchain-core, so it works with LangChain, LangGraph, or any framework that speaks the BaseTool interface — you do not need the full langchain package unless you use create_agent.

Step-by-Step Integration Guide

Step 1: Install

Bash
pip install langchain-scavio

This pulls in langchain-core. Install langchain as well if you want the create_agent helper shown below. Requires Python 3.10 or later.

Step 2: Set your API key

Get a key at dashboard.scavio.dev (50 free credits to start, no card), then set it as an environment variable:

Bash
export SCAVIO_API_KEY=sk_live_your_key

Every tool reads SCAVIO_API_KEY from the environment. You can also pass it explicitly per tool with the scavio_api_key keyword argument: ScavioSearch(scavio_api_key="sk_live_...").

Step 3: Invoke a tool directly

Every tool works standalone, which is the fastest way to check your key and see the response shape before wiring up an agent:

Python
from langchain_scavio import ScavioSearch

tool = ScavioSearch(max_results=5)

result = tool.invoke({"query": "best python web frameworks 2026"})
print(result)

Step 4: Use with an agent

Scavio tools plug into the current create_agent API from langchain.agents. Pass as many or as few tools as the agent needs:

Python
from langchain.agents import create_agent
from langchain_scavio import ScavioSearch, ScavioRedditSearch

agent = create_agent(
    "openai:gpt-5.5",
    tools=[
        ScavioSearch(max_results=5),
        ScavioRedditSearch(max_results=5),
    ],
    system_prompt="You are a research assistant. Cite your sources.",
)

response = agent.invoke(
    {"messages": [{"role": "user", "content": "What are people saying about Bun in 2026?"}]}
)
print(response["messages"][-1].content)

Available Tools

46 tools across 8 providers. All follow the Scavio<Provider><Action> naming convention — note there is no Tool suffix. Import only the tools an agent needs:

Python
from langchain_scavio import (
    ScavioSearch,             # Google web search
    ScavioAmazonSearch,       # Amazon product search
    ScavioYouTubeSearch,      # YouTube video search
    ScavioRedditSearch,       # Reddit post search
)
ProviderTools
GoogleScavioSearch
AmazonScavioAmazonSearch, ScavioAmazonProduct
WalmartScavioWalmartSearch, ScavioWalmartProduct
YouTubeScavioYouTubeSearch, ScavioYouTubeVideo, ScavioYouTubeComments, ScavioYouTubeTranscript, ScavioYouTubeChannel, ScavioYouTubeChannelVideos, ScavioYouTubeStreams, ScavioYouTubeMetadata (deprecated alias of ScavioYouTubeVideo)
RedditScavioRedditSearch, ScavioRedditPost
TikTokScavioTikTokProfile, ScavioTikTokUserPosts, ScavioTikTokVideo, ScavioTikTokVideoComments, ScavioTikTokCommentReplies, ScavioTikTokSearchVideos, ScavioTikTokSearchUsers, ScavioTikTokHashtag, ScavioTikTokHashtagVideos, ScavioTikTokUserFollowers, ScavioTikTokUserFollowings
TikTok ShopScavioTikTokShopSearch, ScavioTikTokShopSearchSuggestions, ScavioTikTokShopProduct, ScavioTikTokShopProductReviews, ScavioTikTokShopCategories, ScavioTikTokShopCategoryProducts, ScavioTikTokShopShopProducts, ScavioTikTokShopResolve
InstagramScavioInstagramProfile, ScavioInstagramUserPosts, ScavioInstagramUserReels, ScavioInstagramTaggedPosts, ScavioInstagramStories, ScavioInstagramPost, ScavioInstagramPostComments, ScavioInstagramCommentReplies, ScavioInstagramSearchUsers, ScavioInstagramSearchHashtags, ScavioInstagramUserFollowers, ScavioInstagramUserFollowings

Configuring a tool

Tool options split into two groups, which is what keeps agent behaviour predictable:

  • Instantiation-only options are fixed by you when you construct the tool and the model cannot change them. These control cost and payload size — max_results, include_knowledge_graph, include_questions, include_related, include_ai_overviews, and the other include_* flags.
  • Model-controlled arguments live in the tool's args_schema and are chosen per call — query, search_type, country_code, language, device, and page. Set any of them at construction time to pin a default the model can still override.
Python
from langchain_scavio import ScavioSearch

tool = ScavioSearch(
    max_results=10,
    include_knowledge_graph=True,
    include_questions=True,
    country_code="gb",      # default the model may still override
)

Async

Every tool supports async invocation, so agents can fan out across platforms concurrently:

Python
import asyncio
from langchain_scavio import ScavioSearch, ScavioRedditSearch

async def main():
    google, reddit = ScavioSearch(), ScavioRedditSearch()
    web, threads = await asyncio.gather(
        google.ainvoke({"query": "vector database benchmarks 2026"}),
        reddit.ainvoke({"query": "vector database benchmarks"}),
    )
    print(web, threads)

asyncio.run(main())

Advanced Example

A single agent that cross-checks retail listings against real community sentiment — the kind of multi-platform research a Google-only search tool cannot do:

Python
from langchain.agents import create_agent
from langchain_scavio import (
    ScavioSearch,
    ScavioAmazonSearch,
    ScavioAmazonProduct,
    ScavioRedditSearch,
    ScavioYouTubeSearch,
)

agent = create_agent(
    "openai:gpt-5.5",
    tools=[
        ScavioAmazonSearch(max_results=5),
        ScavioAmazonProduct(),
        ScavioRedditSearch(max_results=5),
        ScavioYouTubeSearch(max_results=3),
        ScavioSearch(max_results=5),
    ],
    system_prompt=(
        "You are a product research analyst. Compare listings, then check what "
        "real users say on Reddit and YouTube before recommending anything."
    ),
)

response = agent.invoke(
    {
        "messages": [
            {
                "role": "user",
                "content": (
                    "Compare the top mechanical keyboards on Amazon and tell me "
                    "what r/MechanicalKeyboards actually thinks of them."
                ),
            }
        ]
    }
)
print(response["messages"][-1].content)

How it works

Each tool is a LangChain BaseTool with a Pydantic args_schema, so the model gets accurate argument hints and LangChain validates calls before they run. Requests go to the Scavio API over HTTPS with your key as a bearer token; the shared API wrapper handles auth, headers, client-side rate limiting, and sync and async transport. Errors are raised as ToolException with a remediation hint, and because handle_tool_error is enabled the agent sees the message and can retry rather than crashing the run.

Credit costs

Most calls cost 1 credit, including every Google, Amazon, Walmart, YouTube, Reddit, TikTok, and TikTok Shop tool. Instagram is priced per endpoint because upstream costs differ: 10 credits for profile, reels, tagged posts, stories, post comments, follower and following, and user and hashtag search; 8 credits for ScavioInstagramPost and ScavioInstagramCommentReplies; and 2 credits for ScavioInstagramUserPosts. See the rate limits reference for plan limits and the errors reference for retry guidance.

Benefits of Scavio + LangChain

  • 46 tools, one package: hand any Scavio<Provider><Action> tool to a LangChain or LangGraph agent.
  • Typed argument schemas: every tool is a BaseTool with a Pydantic args_schema, so calls are validated before they run.
  • Eight platforms, one key: Google, Amazon, Walmart, YouTube, Reddit, TikTok, TikTok Shop, and Instagram behind a single API key.
  • Sync and async: invoke and ainvoke on every tool, so agents can fan out across platforms concurrently.
  • Cost-effective: most calls cost a single credit — a Tavily and SerpAPI alternative with far broader platform coverage.

Next Steps

  • Scavio API quickstart — keys, credits, and your first request
  • Google Search API reference — the endpoint behind ScavioSearch
  • MCP Integration — every Scavio endpoint as a tool
  • langchain-scavio on PyPI
  • langchain-scavio on GitHub
  • LangChain documentation
PreviousScavio MCP ServerNextAgno
ScavioScavio

One scraper API for every social, search and ecommerce platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy