Skip to main content

langchain-scavio

PyPI version PyPI - Downloads License: MIT Python 3.10+ LangChain

46 LangChain tools for real-time search across Google, Amazon, Walmart, YouTube, Reddit, TikTok, TikTok Shop, and Instagram -- structured data with knowledge graphs, all through a single package.

pip install langchain-scavio

Get your free API key at dashboard.scavio.dev.

Why Scavio over Tavily?

Scavio is a full Tavily alternative built for multi-platform agents — here is Tavily vs Scavio at a glance:

Scavio Tavily SerpAPI
Platforms Google, Amazon, Walmart, YouTube, Reddit, TikTok, TikTok Shop, Instagram Google only Google + others
Tools 46 1 1 per wrapper
Knowledge graphs Yes No Partial
Product data (price, rating, reviews) Yes No No
Pricing $0.005/credit $0.01/search $0.05/search
Amazon marketplace coverage 23 countries -- --
LangChain async Yes Yes Yes

What Can You Build?

  • Shopping agents -- search Amazon and Walmart, compare prices, find deals across 23 marketplaces
  • Product research agents -- Google reviews + Amazon listings + YouTube reviews + Reddit opinions in one query
  • Content research agents -- YouTube trends + Reddit sentiment + Google news in a single workflow
  • Brand monitoring -- track what Reddit and Google say about any topic in real time
  • Social media agents -- TikTok and Instagram profile analytics, hashtag tracking, post/video comments, and trend discovery

Quick Start

import os
from langchain_scavio import ScavioSearch

os.environ["SCAVIO_API_KEY"] = "sk_live_..."

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

All 46 Tools

Tool Description
ScavioSearch Google web search with knowledge graphs, PAA questions, news
ScavioAmazonSearch Search Amazon product listings across 23 marketplaces
ScavioAmazonProduct Fetch full details for an Amazon product by ASIN
ScavioWalmartSearch Search Walmart product listings with price/fulfillment filters
ScavioWalmartProduct Fetch full details for a Walmart product by ID
ScavioYouTubeSearch Search YouTube videos with duration/date/type/feature filters
ScavioYouTubeVideo Fetch full details for a YouTube video (chapters, captions)
ScavioYouTubeMetadata Deprecated alias of ScavioYouTubeVideo
ScavioYouTubeComments Fetch comments on a YouTube video with pagination
ScavioYouTubeTranscript Fetch a YouTube video transcript as text or SRT
ScavioYouTubeChannel Fetch channel details by ID, @handle, or URL
ScavioYouTubeChannelVideos Fetch a YouTube channel's uploaded videos
ScavioYouTubeStreams Fetch playable/downloadable stream URLs for a video
ScavioRedditSearch Search Reddit posts or comments with sort/pagination
ScavioRedditPost Fetch a Reddit post's metadata and comment thread by URL
ScavioTikTokProfile Look up a TikTok user profile by username or sec_user_id
ScavioTikTokUserPosts Fetch a TikTok user's posted videos with statistics
ScavioTikTokVideo Fetch details for a single TikTok video
ScavioTikTokVideoComments Fetch comments on a TikTok video
ScavioTikTokCommentReplies Fetch replies to a specific comment on a TikTok video
ScavioTikTokSearchVideos Search TikTok videos by keyword with sort/time filters
ScavioTikTokSearchUsers Search TikTok users by keyword
ScavioTikTokHashtag Look up TikTok hashtag info (video count, views)
ScavioTikTokHashtagVideos Fetch TikTok videos for a specific hashtag
ScavioTikTokUserFollowers Fetch a TikTok user's followers
ScavioTikTokUserFollowings Fetch accounts a TikTok user is following
ScavioTikTokShopSearch Search TikTok Shop products by keyword (US catalog) with exact prices
ScavioTikTokShopSearchSuggestions Keyword autocomplete for TikTok Shop across 8 regions
ScavioTikTokShopProduct Full TikTok Shop product detail (no price -- upstream masks it)
ScavioTikTokShopProductReviews Paginated TikTok Shop reviews, up to 200 per call
ScavioTikTokShopCategories The global TikTok Shop category tree (240 nodes, 2 levels)
ScavioTikTokShopCategoryProducts Products under a TikTok Shop category, with exact prices
ScavioTikTokShopShopProducts A TikTok Shop seller's catalog, with exact prices
ScavioTikTokShopResolve Resolve a TikTok Shop URL or share link to a product_id / shop_id
ScavioInstagramProfile Look up an Instagram user profile by username or user_id
ScavioInstagramUserPosts Fetch an Instagram user's posts with statistics
ScavioInstagramUserReels Fetch an Instagram user's reels with statistics
ScavioInstagramTaggedPosts Fetch posts an Instagram user is tagged in
ScavioInstagramStories Fetch an Instagram user's active stories
ScavioInstagramPost Fetch details for a single Instagram post or reel
ScavioInstagramPostComments Fetch comments on an Instagram post
ScavioInstagramCommentReplies Fetch replies to a specific comment on an Instagram post
ScavioInstagramSearchUsers Search Instagram users by keyword
ScavioInstagramSearchHashtags Search Instagram hashtags by keyword
ScavioInstagramUserFollowers Fetch an Instagram user's followers
ScavioInstagramUserFollowings Fetch accounts an Instagram user is following

Use with a LangChain Agent

Scavio tools plug into the current create_agent API from langchain.agents:

from langchain.agents import create_agent
from langchain_scavio import (
    ScavioSearch,
    ScavioAmazonSearch, ScavioAmazonProduct,
    ScavioWalmartSearch,
    ScavioYouTubeSearch, ScavioYouTubeVideo, ScavioYouTubeTranscript,
    ScavioRedditSearch, ScavioRedditPost,
    ScavioTikTokSearchVideos, ScavioTikTokProfile, ScavioTikTokVideo,
)

agent = create_agent(
    "openai:gpt-5.5",
    tools=[
        ScavioSearch(max_results=5),
        ScavioAmazonSearch(max_results=5),
        ScavioAmazonProduct(),
        ScavioWalmartSearch(max_results=5),
        ScavioYouTubeSearch(max_results=5),
        ScavioYouTubeVideo(),
        ScavioYouTubeTranscript(),
        ScavioRedditSearch(max_results=5),
        ScavioRedditPost(),
        ScavioTikTokSearchVideos(max_results=5),
        ScavioTikTokProfile(),
        ScavioTikTokVideo(),
    ],
)

response = agent.invoke({
    "messages": [{"role": "user", "content": "Find me a Python book on Amazon under $30"}]
})

Async Support

All tools support async invocation:

result = await tool.ainvoke({"query": "async python frameworks"})

Configuration

Google Search

from langchain_scavio import ScavioSearch

tool = ScavioSearch(
    scavio_api_key="sk_live_...",       # or SCAVIO_API_KEY env var
    max_results=5,
    light_request=None,                  # deprecated, ignored (v2 always full, 1 credit)
    include_knowledge_graph=True,
    include_questions=True,
    include_related=False,
    country_code="us",
    language="en",
    search_type="classic",               # classic|news|maps
    device="desktop",
)

Amazon

from langchain_scavio import ScavioAmazonSearch, ScavioAmazonProduct

search = ScavioAmazonSearch(
    max_results=5,
    pages=1,                             # number of result pages to fetch
    domain="com",                        # see supported marketplaces below
)

product = ScavioAmazonProduct()
result = product.invoke({"query": "B08N5WRWNW"})  # query = ASIN

Targeting a marketplace: use domain to pick which Amazon store to search -- do not use a country code. Supported domains: com (US), co.uk (UK), ca, de, fr, es, it, co.jp, in, com.au, com.br, com.mx, nl, pl, se, sg, ae, sa, eg, cn, com.be, com.tr.

Walmart

from langchain_scavio import ScavioWalmartSearch, ScavioWalmartProduct

search = ScavioWalmartSearch(max_results=5)
result = search.invoke({
    "query": "air fryer",
    "sort_by": "price_low",              # best_match|price_low|price_high|best_seller
    "max_price": 5000,                   # in cents
    "fulfillment_speed": "2_days",       # today|tomorrow|2_days|anytime
})

product = ScavioWalmartProduct()
result = product.invoke({"product_id": "123456789"})

YouTube

from langchain_scavio import (
    ScavioYouTubeSearch, ScavioYouTubeVideo, ScavioYouTubeComments,
    ScavioYouTubeTranscript, ScavioYouTubeChannel,
    ScavioYouTubeChannelVideos, ScavioYouTubeStreams,
)

search = ScavioYouTubeSearch(max_results=5)
result = search.invoke({
    "query": "python tutorial",
    "duration": "medium",                # short|medium|long
    "upload_date": "this_month",         # last_hour|today|this_week|this_month|this_year
    "sort_by": "view_count",             # relevance|date|view_count|rating
    "video_type": "video",               # video|channel|playlist
    "features": ["hd", "subtitles"],     # hd|4k|subtitles|creative_commons|live|360|3d|hdr|vr180
})

# Paginate with the previous response's next_cursor
next_page = search.invoke({
    "query": "python tutorial",
    "cursor": result["data"]["next_cursor"],
})

# Full video details (chapters, captions, keywords)
video = ScavioYouTubeVideo()
result = video.invoke({"video_id": "dQw4w9WgXcQ"})  # video ID or watch URL

# Comments (paginate via data.next_cursor)
comments = ScavioYouTubeComments(max_results=10)
result = comments.invoke({"video_id": "dQw4w9WgXcQ"})

# Transcript as plain text or timed SRT (8 credits per call)
transcript = ScavioYouTubeTranscript()
result = transcript.invoke({"video_id": "dQw4w9WgXcQ", "format": "text"})

# Channel details and uploads
channel = ScavioYouTubeChannel()
result = channel.invoke({"channel_id": "@YouTube"})  # ID, @handle, or URL

channel_videos = ScavioYouTubeChannelVideos(max_results=5)
result = channel_videos.invoke({"channel_id": "UC_x5XG1OV2P6uZZ5FSM9Ttw"})

# Playable/downloadable stream URLs (3 credits per call)
streams = ScavioYouTubeStreams()
result = streams.invoke({"video_id": "dQw4w9WgXcQ"})

# ScavioYouTubeMetadata is a deprecated alias of ScavioYouTubeVideo

Reddit

Reddit endpoints cost 2 credits each and typically take 5-15 seconds (JS rendering required).

from langchain_scavio import ScavioRedditSearch, ScavioRedditPost

search = ScavioRedditSearch(max_results=5)
result = search.invoke({
    "query": "langchain",
    "sort": "top",                       # new|relevance|hot|top|comments
    "type": "posts",                     # posts|comments
})

# Paginate by passing back the previous response's nextCursor
next_page = search.invoke({
    "query": "langchain",
    "sort": "top",
    "cursor": result["data"]["nextCursor"],
})

post = ScavioRedditPost()
result = post.invoke({
    "url": "https://www.reddit.com/r/programming/comments/abc123/example_post/"
})
# result["data"]["post"] + result["data"]["comments"] (flat list with `depth`)

TikTok

from langchain_scavio import (
    ScavioTikTokProfile, ScavioTikTokUserPosts, ScavioTikTokVideo,
    ScavioTikTokVideoComments, ScavioTikTokCommentReplies,
    ScavioTikTokSearchVideos, ScavioTikTokSearchUsers,
    ScavioTikTokHashtag, ScavioTikTokHashtagVideos,
    ScavioTikTokUserFollowers, ScavioTikTokUserFollowings,
)

# Look up a user profile (returns sec_uid needed by other tools)
profile = ScavioTikTokProfile()
result = profile.invoke({"username": "tiktok"})
sec_uid = result["data"]["user"]["sec_uid"]

# Fetch their recent posts
posts = ScavioTikTokUserPosts(max_results=5)
result = posts.invoke({"sec_user_id": sec_uid, "sort_type": "1"})  # popular

# Search videos by keyword
search = ScavioTikTokSearchVideos(max_results=5)
result = search.invoke({
    "keyword": "python tutorial",
    "sort_type": "1",                        # 0=relevance, 1=most likes
    "publish_time": "30",                    # 0=all, 1=day, 7=week, 30=month
})

# Get video details and comments
video = ScavioTikTokVideo()
result = video.invoke({"video_id": "7123456789012345678"})

comments = ScavioTikTokVideoComments(max_results=10)
result = comments.invoke({"video_id": "7123456789012345678"})

# Hashtag research
hashtag = ScavioTikTokHashtag()
result = hashtag.invoke({"hashtag_name": "python"})
hashtag_id = result["data"]["challengeInfo"]["challenge"]["id"]

hashtag_videos = ScavioTikTokHashtagVideos(max_results=5)
result = hashtag_videos.invoke({"hashtag_id": hashtag_id})

TikTok Shop

Eight tools over the TikTok Shop catalog. Two things to know before you wire them together:

  1. ScavioTikTokShopProduct resolves only about 44% of the product ids that ScavioTikTokShopSearch returns. Upstream has no detail data for the rest, so a not-found result is a normal outcome rather than an error -- skip the product instead of retrying. Search is a listing source, not the first leg of a reliable search-then-detail pipeline.
  2. ScavioTikTokShopProduct does not return a price. Upstream masks the digits on the product page, so price.current and price.original come back null. Exact prices are on ScavioTikTokShopSearch, ScavioTikTokShopShopProducts and ScavioTikTokShopCategoryProducts.
from langchain_scavio import (
    ScavioTikTokShopSearch, ScavioTikTokShopSearchSuggestions,
    ScavioTikTokShopProduct, ScavioTikTokShopProductReviews,
    ScavioTikTokShopCategories, ScavioTikTokShopCategoryProducts,
    ScavioTikTokShopShopProducts, ScavioTikTokShopResolve,
)

# Search the US catalog -- this is where exact prices live
search = ScavioTikTokShopSearch(max_results=10)
result = search.invoke({"search": "phone case"})
for product in result["data"]["products"]:
    print(product["title"], product["price"]["current"], product["rating"]["score"])

# Paginate with the opaque cursor; dedupe by product_id across pages
if result["data"]["has_more"]:
    page2 = search.invoke({
        "search": "phone case",
        "cursor": result["data"]["next_cursor"],
    })

# Product detail: rich, but priceless (literally) and only ~44% resolvable
detail = ScavioTikTokShopProduct()
result = detail.invoke({"product_id": "1732293553906094315"})
if result.get("not_found"):
    pass                                     # normal: skip it, do not retry
else:
    result["data"]["variants"]               # stock per SKU
    result["data"]["shop"]["followers_count"]

# Reviews: page with has_more, never with total_reviews (it drifts)
reviews = ScavioTikTokShopProductReviews(max_results=20)
result = reviews.invoke({
    "product_id": "1732293553906094315",
    "page_size": 100,
    "sort": "relevant",                      # "recent" is fresher but text-sparse
    "has_media": True,
})

# Category browse (US and GB only)
categories = ScavioTikTokShopCategories()
tree = categories.invoke({})
category_id = tree["data"]["categories"][0]["category_id"]

listing = ScavioTikTokShopCategoryProducts(max_results=10)
result = listing.invoke({"category_id": category_id})

# A seller's whole catalog, with exact prices
shop = ScavioTikTokShopShopProducts(max_results=10)
result = shop.invoke({"shop_id": "7495514739648989419"})

# Turn any share link into an id
resolve = ScavioTikTokShopResolve()
result = resolve.invoke({"url": "https://vt.tiktok.com/ZT2AHoGsE/"})
result["data"]["product_id"], result["data"]["type"]

# Keyword expansion, the only endpoint with genuine 8-region coverage
suggestions = ScavioTikTokShopSearchSuggestions()
result = suggestions.invoke({"search": "wireless", "region": "GB"})
result["data"]["suggestions"]                # plain strings, no volume or score

Instagram

from langchain_scavio import (
    ScavioInstagramProfile, ScavioInstagramUserPosts, ScavioInstagramUserReels,
    ScavioInstagramTaggedPosts, ScavioInstagramStories,
    ScavioInstagramPost, ScavioInstagramPostComments,
    ScavioInstagramCommentReplies, ScavioInstagramSearchUsers,
    ScavioInstagramSearchHashtags,
    ScavioInstagramUserFollowers, ScavioInstagramUserFollowings,
)

# Look up a user profile (returns user_id usable by other tools)
profile = ScavioInstagramProfile()
result = profile.invoke({"username": "instagram"})
user_id = result["data"]["user"]["id"]

# Fetch their recent posts and reels
posts = ScavioInstagramUserPosts(max_results=5)
result = posts.invoke({"username": "instagram"})

reels = ScavioInstagramUserReels(max_results=5)
result = reels.invoke({"username": "instagram"})

# Get a single post's details and comments
post = ScavioInstagramPost()
result = post.invoke({"shortcode": "C1a2b3c4d5e"})

comments = ScavioInstagramPostComments(max_results=10)
result = comments.invoke({
    "shortcode": "C1a2b3c4d5e",
    "sort_order": "newest",                  # popular (default) or newest
})

# Search users and hashtags
search_users = ScavioInstagramSearchUsers(max_results=5)
result = search_users.invoke({"keyword": "cooking"})

search_hashtags = ScavioInstagramSearchHashtags(max_results=5)
result = search_hashtags.invoke({"keyword": "travel"})

Agent-Controllable Parameters

ScavioSearch

Parameter Type Description
query str Search query
search_type classic|news|maps Type of search
country_code str ISO 3166-1 alpha-2
language str ISO 639-1
device desktop|mobile Device type
page int Result page number

ScavioAmazonSearch

Parameter Type Description
query str Product search query
domain str Amazon marketplace -- the only way to select a store (com, co.uk, de, co.jp, ...)
sort_by str featured|most_recent|price_low_to_high|price_high_to_low|average_review|bestsellers
start_page int Page number
category_id str Category filter
merchant_id str Seller filter
language / currency str Localization
zip_code str Local pricing

ScavioWalmartSearch

Parameter Type Description
query str Product search query
sort_by str best_match|price_low|price_high|best_seller
min_price / max_price int Price range in cents
fulfillment_speed str today|tomorrow|2_days|anytime
delivery_zip str Delivery ZIP code

ScavioYouTubeSearch

Parameter Type Description
query str Search query
upload_date str last_hour|today|this_week|this_month|this_year
video_type str video|channel|playlist
duration str short|medium|long
sort_by str relevance|date|view_count|rating
hd / subtitles / live bool Content filters
features list[str] hd|4k|subtitles|creative_commons|live|360|3d|hdr|vr180
cursor str Pagination cursor from a prior response's next_cursor

ScavioYouTubeVideo / ScavioYouTubeMetadata

Parameter Type Description
video_id str YouTube video ID or watch URL

ScavioYouTubeComments

Parameter Type Description
video_id str YouTube video ID or watch URL
cursor str Pagination cursor from a prior response's next_cursor

ScavioYouTubeTranscript

Parameter Type Description
video_id str YouTube video ID or watch URL
language str Caption language code (ISO 639-1, default en)
format str text (default) or srt

ScavioYouTubeChannel

Parameter Type Description
channel_id str Channel ID, @handle, or channel URL

ScavioYouTubeChannelVideos

Parameter Type Description
channel_id str Channel ID
cursor str Pagination cursor from a prior response's next_cursor

ScavioYouTubeStreams

Parameter Type Description
video_id str YouTube video ID or watch URL

ScavioRedditSearch

Parameter Type Description
query str Reddit search query (1-500 chars)
type str posts|comments
sort str new|relevance|hot|top|comments
cursor str Opaque pagination cursor from prior response's nextCursor

ScavioRedditPost

Parameter Type Description
url str Full Reddit post URL (www., old., or new. subdomains accepted)

ScavioTikTokProfile

Parameter Type Description
username str TikTok handle without @ (provide this or sec_user_id)
sec_user_id str Secure user ID from a previous lookup

ScavioTikTokUserPosts

Parameter Type Description
sec_user_id str Secure user ID from a profile lookup
cursor str Pagination cursor (from data.max_cursor)
count int Results per page (1-30, default 20)
sort_type str 0=latest (default), 1=popular

ScavioTikTokVideo

Parameter Type Description
video_id str TikTok video identifier

ScavioTikTokVideoComments

Parameter Type Description
video_id str TikTok video identifier
cursor str Pagination cursor
count int Results per page (1-50, default 20)

ScavioTikTokCommentReplies

Parameter Type Description
video_id str TikTok video identifier
comment_id str Comment ID from the comments endpoint
cursor str Pagination cursor
count int Results per page (1-50, default 20)

ScavioTikTokSearchVideos

Parameter Type Description
keyword str Search query (1-500 chars)
cursor str Pagination offset
count int Results per page (1-30, default 20)
sort_type str 0=relevance (default), 1=most likes
publish_time str 0=all, 1=day, 7=week, 30=month, 90=3mo, 180=6mo

ScavioTikTokSearchUsers

Parameter Type Description
keyword str Search query (1-500 chars)
cursor str Pagination offset
count int Results per page (1-30, default 20)

ScavioTikTokHashtag

Parameter Type Description
hashtag_name str Hashtag text without # (provide this or hashtag_id)
hashtag_id str Numeric hashtag identifier

ScavioTikTokHashtagVideos

Parameter Type Description
hashtag_id str Hashtag ID from the hashtag info endpoint
cursor str Pagination cursor
count int Results per page (1-30, default 20)

ScavioTikTokUserFollowers / ScavioTikTokUserFollowings

Parameter Type Description
sec_user_id str Secure user ID from a profile lookup
count int Results per page (1-20, default 20)
page_token str Pagination token from data.next_page_token
min_time int Pagination field from data.min_time

ScavioInstagramProfile / ScavioInstagramStories

Parameter Type Description
username str Instagram handle without @ (provide this or user_id)
user_id str Numeric user ID from a previous lookup

ScavioInstagramUserPosts / ScavioInstagramUserReels / ScavioInstagramTaggedPosts / ScavioInstagramUserFollowers / ScavioInstagramUserFollowings

Parameter Type Description
username str Instagram handle without @ (provide this or user_id)
user_id str Numeric user ID from a profile lookup
count int Results per page (1-50, default 12)
cursor str Pagination cursor from a prior response

ScavioInstagramPost

Parameter Type Description
url str Full Instagram post or reel URL
media_id str Numeric media identifier (provide one of url, media_id, shortcode)
shortcode str Shortcode from the post URL (after /p/ or /reel/)

ScavioInstagramPostComments

Parameter Type Description
shortcode str Post shortcode (provide this or url)
url str Full Instagram post or reel URL
cursor str Pagination cursor
sort_order str popular (default) or newest

ScavioInstagramCommentReplies

Parameter Type Description
media_id str Numeric media ID of the post
comment_id str Comment ID from the post comments endpoint
cursor str Pagination cursor

ScavioInstagramSearchUsers / ScavioInstagramSearchHashtags

Parameter Type Description
keyword str Search query (1-500 chars)
cursor str Pagination cursor

Error Handling

  • Empty results raise ToolException with actionable suggestions for the LLM
  • API errors return {"error": "message"} without crashing the agent
  • handle_tool_error=True ensures LangChain passes errors to the LLM as context

Architecture

ScavioBaseAPIWrapper                      # Auth, headers, sync/async HTTP POST
  +-- ScavioSearchAPIWrapper              # -> /api/v2/google (+ news, maps)
  +-- ScavioAmazonSearchAPIWrapper        # -> /api/v1/amazon/search
  +-- ScavioAmazonProductAPIWrapper       # -> /api/v1/amazon/product
  +-- ScavioWalmartSearchAPIWrapper       # -> /api/v1/walmart/search
  +-- ScavioWalmartProductAPIWrapper      # -> /api/v1/walmart/product
  +-- ScavioYouTubeSearchAPIWrapper       # -> /api/v1/youtube/search
  +-- ScavioYouTubeVideoAPIWrapper        # -> /api/v1/youtube/video
  +-- ScavioYouTubeMetadataAPIWrapper     # -> /api/v1/youtube/video (deprecated alias)
  +-- ScavioYouTubeCommentsAPIWrapper     # -> /api/v1/youtube/comments
  +-- ScavioYouTubeTranscriptAPIWrapper   # -> /api/v1/youtube/transcript
  +-- ScavioYouTubeChannelAPIWrapper      # -> /api/v1/youtube/channel
  +-- ScavioYouTubeChannelVideosAPIWrapper# -> /api/v1/youtube/channel/videos
  +-- ScavioYouTubeStreamsAPIWrapper      # -> /api/v1/youtube/streams
  +-- ScavioRedditSearchAPIWrapper        # -> /api/v1/reddit/search
  +-- ScavioRedditPostAPIWrapper          # -> /api/v1/reddit/post
  +-- ScavioTikTokProfileAPIWrapper       # -> /api/v1/tiktok/profile
  +-- ScavioTikTokUserPostsAPIWrapper     # -> /api/v1/tiktok/user/posts
  +-- ScavioTikTokVideoAPIWrapper         # -> /api/v1/tiktok/video
  +-- ScavioTikTokVideoCommentsAPIWrapper # -> /api/v1/tiktok/video/comments
  +-- ScavioTikTokCommentRepliesAPIWrapper# -> /api/v1/tiktok/video/comments/replies
  +-- ScavioTikTokSearchVideosAPIWrapper  # -> /api/v1/tiktok/search/videos
  +-- ScavioTikTokSearchUsersAPIWrapper   # -> /api/v1/tiktok/search/users
  +-- ScavioTikTokHashtagAPIWrapper       # -> /api/v1/tiktok/hashtag
  +-- ScavioTikTokHashtagVideosAPIWrapper # -> /api/v1/tiktok/hashtag/videos
  +-- ScavioTikTokUserFollowersAPIWrapper # -> /api/v1/tiktok/user/followers
  +-- ScavioTikTokUserFollowingsAPIWrapper# -> /api/v1/tiktok/user/followings
  +-- ScavioInstagramProfileAPIWrapper        # -> /api/v1/instagram/profile
  +-- ScavioInstagramUserPostsAPIWrapper      # -> /api/v1/instagram/user/posts
  +-- ScavioInstagramUserReelsAPIWrapper      # -> /api/v1/instagram/user/reels
  +-- ScavioInstagramTaggedPostsAPIWrapper    # -> /api/v1/instagram/user/tagged
  +-- ScavioInstagramStoriesAPIWrapper        # -> /api/v1/instagram/user/stories
  +-- ScavioInstagramPostAPIWrapper           # -> /api/v1/instagram/post
  +-- ScavioInstagramPostCommentsAPIWrapper   # -> /api/v1/instagram/post/comments
  +-- ScavioInstagramCommentRepliesAPIWrapper # -> /api/v1/instagram/post/comments/replies
  +-- ScavioInstagramSearchUsersAPIWrapper    # -> /api/v1/instagram/search/users
  +-- ScavioInstagramSearchHashtagsAPIWrapper # -> /api/v1/instagram/search/hashtags
  +-- ScavioInstagramUserFollowersAPIWrapper  # -> /api/v1/instagram/user/followers
  +-- ScavioInstagramUserFollowingsAPIWrapper # -> /api/v1/instagram/user/followings

Each tool splits parameters into init-only (developer-controlled, e.g. max_results, domain) and LLM-controllable (passed via args_schema at invocation time, e.g. query, sort_by).

Migrating from Tavily

- from langchain_tavily import TavilySearch
+ from langchain_scavio import ScavioSearch

- tool = TavilySearch(max_results=5)
+ tool = ScavioSearch(max_results=5)

See the full migration guide for parameter mapping and feature comparison, or read more on migrating from Tavily.

License

MIT

About Scavio

Scavio is a unified search API for AI agents — one API key, structured JSON, no scraping or proxies. A real-time Tavily alternative and SerpAPI alternative with data from:

Get a free API key and explore the documentation.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_scavio-2.13.tar.gz (47.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_scavio-2.13-py3-none-any.whl (50.4 kB view details)

Uploaded Python 3

File details

Details for the file langchain_scavio-2.13.tar.gz.

File metadata

  • Download URL: langchain_scavio-2.13.tar.gz
  • Upload date:
  • Size: 47.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for langchain_scavio-2.13.tar.gz
Algorithm Hash digest
SHA256 788b4e47f3ea8784afd82e1df18b9ad62e743242fe21cd3d8eb77b39b3ab61c9
MD5 33a473eb1006faff761e4296199f2f82
BLAKE2b-256 1b58bb6571e04b55d6a949a20bb7a1c0dada35d11c908531b59a4c5c08085787

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_scavio-2.13.tar.gz:

Publisher: publish.yml on scavio-ai/langchain-scavio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file langchain_scavio-2.13-py3-none-any.whl.

File metadata

  • Download URL: langchain_scavio-2.13-py3-none-any.whl
  • Upload date:
  • Size: 50.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for langchain_scavio-2.13-py3-none-any.whl
Algorithm Hash digest
SHA256 10593f170f76eca5a1986e3d051d06456d61e3c4dec98181e85fe9554fff5d71
MD5 f43ec0788ff3918c6157105faf43f574
BLAKE2b-256 ceed3df45baaa1be95eec650a080097380e6ea8587d68b9b681c153c48fbfc8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_scavio-2.13-py3-none-any.whl:

Publisher: publish.yml on scavio-ai/langchain-scavio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page