> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc.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)
