Scavio
Search Google, YouTube, marketplaces, and social platforms through the Scavio API.
ScavioTools gives an agent access to Google, YouTube, Amazon, Walmart, Reddit, TikTok, and Instagram through the Scavio Search API.
Prerequisites
The following examples require the agno, scavio, and openai libraries and an API key from Scavio.
uv pip install -U agno scavio openaiexport SCAVIO_API_KEY=***
export OPENAI_API_KEY=***Example
The following agent will search Google via Scavio and print the response.
from agno.agent import Agent
from agno.tools.scavio import ScavioTools
web_agent = Agent(
tools=[
ScavioTools(
enable_google=True,
enable_youtube=True,
enable_reddit=True,
enable_amazon=False,
enable_walmart=False,
enable_tiktok=False,
enable_instagram=False,
)
]
)
web_agent.print_response(
"Search Google for the latest news on AI agent frameworks",
markdown=True,
stream=True,
)Every provider is enabled by default. Use the enable_* flags to expose only the tools you need:
# Web-only agent: Google, YouTube, Reddit
agent = Agent(
tools=[
ScavioTools(
enable_google=True,
enable_youtube=True,
enable_reddit=True,
enable_amazon=False,
enable_walmart=False,
enable_tiktok=False,
enable_instagram=False,
)
],
markdown=True,
)Toolkit Params
| Parameter | Type | Default | Description |
|---|---|---|---|
api_key | Optional[str] | None | Scavio API key. If not provided, uses the SCAVIO_API_KEY environment variable. |
enable_google | bool | True | Register the Google web search tool. |
enable_amazon | bool | True | Register the Amazon search and product tools. |
enable_walmart | bool | True | Register the Walmart search and product tools. |
enable_youtube | bool | True | Register the YouTube search and metadata tools. |
enable_reddit | bool | True | Register the Reddit search and post tools. |
enable_tiktok | bool | True | Register the TikTok tools. |
enable_instagram | bool | True | Register the Instagram tools. |
all | bool | False | Register every available tool, ignoring the individual flags. |
Toolkit Functions
Each function returns the Scavio response as a JSON string. Errors are returned as {"error": "..."} rather than raised.
| Function | Description |
|---|---|
google_search | Search Google for real-time organic web results. Parameters include query (str), gl (two-letter country code), hl (two-letter UI language), start (result offset: 0, 10, 20, ...), device ("desktop" or "mobile"), nfpr (disable spelling auto-correction), google_domain, location, safe ("active" filters adult content), and time_period ("last_hour", "last_day", "last_week", "last_month", or "last_year"). |
amazon_search | Search Amazon for products matching a query. Parameters include query (str), domain, country, language, currency, device ("desktop" or "mobile"), sort_by, start_page, pages, category_id, merchant_id, zip_code, and autoselect_variant. |
amazon_product | Get full details for a single Amazon product by ASIN. Parameters include asin (str), domain, country, language, currency, device ("desktop" or "mobile"), zip_code, and autoselect_variant. |
walmart_search | Search Walmart for products matching a query. Parameters include query (str), domain, device ("desktop" or "mobile"), sort_by, start_page, min_price, max_price, fulfillment_speed, fulfillment_type, delivery_zip, and store_id. |
walmart_product | Get full details for a single Walmart product by product ID. Parameters include product_id (str), domain, device ("desktop" or "mobile"), delivery_zip, and store_id. |
youtube_search | Search YouTube for videos matching a query. Parameters include query (str), upload_date, type ("video", "channel", or "playlist"), duration, sort_by, hd, subtitles, creative_commons, and live. |
youtube_metadata | Get structured metadata for a single YouTube video. Parameters include video_id (str). |
reddit_search | Search Reddit for posts or communities matching a query. Parameters include query (str), type ("posts" or "communities"), sort, and cursor (from a previous response). |
reddit_post | Fetch a Reddit post with its threaded comments. Parameters include url (str), the full URL of the post. |
tiktok_profile | Get a TikTok user profile. Parameters include username (without "@") and sec_user_id. Provide one. |
tiktok_user_posts | List the videos posted by a TikTok user. Parameters include sec_user_id (str), cursor, count, and sort_type. |
tiktok_video | Get details for a single TikTok video. Parameters include video_id (str). |
tiktok_video_comments | List the comments on a TikTok video. Parameters include video_id (str), cursor, and count. |
tiktok_comment_replies | List the replies to a TikTok comment. Parameters include video_id (str), comment_id, cursor, and count. |
tiktok_search_videos | Search TikTok for videos matching a keyword. Parameters include keyword (str), cursor, count, sort_type, and publish_time. |
tiktok_search_users | Search TikTok for users matching a keyword. Parameters include keyword (str), cursor, and count. |
tiktok_hashtag | Get information about a TikTok hashtag. Parameters include hashtag_name (without "#") and hashtag_id. Provide one. |
tiktok_hashtag_videos | List videos for a TikTok hashtag. Parameters include hashtag_id (from tiktok_hashtag), cursor, and count. |
tiktok_user_followers | List the followers of a TikTok user. Parameters include sec_user_id (str), count, page_token, and min_time. |
tiktok_user_followings | List the accounts a TikTok user follows. Parameters include sec_user_id (str), count, page_token, and min_time. |
instagram_profile | Get an Instagram user profile. Parameters include username (without "@") and user_id. Provide one. |
instagram_user_posts | List the posts of an Instagram user. Parameters include username (without "@"), user_id, count, and cursor. Provide a username or user ID. |
instagram_user_reels | List the reels of an Instagram user. Parameters include username (without "@"), user_id, count, and cursor. Provide a username or user ID. |
instagram_user_tagged | List posts an Instagram user is tagged in. Parameters include username (without "@"), user_id, count, and cursor. Provide a username or user ID. |
instagram_user_stories | Get the active stories of an Instagram user. Parameters include username (without "@") and user_id. Provide one. |
instagram_post | Get a single Instagram post. Parameters include url, media_id, and shortcode. Provide one. |
instagram_post_comments | List the comments on an Instagram post. Parameters include shortcode, url, cursor, and sort_order. Provide a shortcode or URL. |
instagram_comment_replies | List the replies to an Instagram comment. Parameters include media_id (str), comment_id, and cursor. |
instagram_search_users | Search Instagram for users matching a keyword. Parameters include keyword (str) and cursor. |
instagram_search_hashtags | Search Instagram for hashtags matching a keyword. Parameters include keyword (str) and cursor. |
instagram_user_followers | List the followers of an Instagram user. Parameters include username (without "@"), user_id, count, and cursor. Provide a username or user ID. |
instagram_user_followings | List the accounts an Instagram user follows. Parameters include username (without "@"), user_id, count, and cursor. Provide a username or user ID. |