> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](https://scavio.dev) Search API.

## Prerequisites

The following examples require the `agno`, `scavio`, and `openai` libraries and an API key from [Scavio](https://dashboard.scavio.dev/sign-up).

```shell theme={null}
uv pip install -U agno scavio openai
```

```shell theme={null}
export SCAVIO_API_KEY=***
export OPENAI_API_KEY=***
```

## Example

The following agent will search Google via Scavio and print the response.

```python cookbook/91_tools/scavio_tools.py theme={null}
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:

```python theme={null}
# 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. |

## Developer Resources

* [Tools](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/scavio.py)
* [Cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/91_tools/scavio_tools.py)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.