This guide demonstrates how to integrate and use Apify Actors within the Agno framework to enhance your AI agents with web scraping, crawling, data extraction, and web automation capabilities.

What is Apify?

Apify is a platform that provides:

  • Data collection services for AI Agents, specializing in extracting data from social media, search engines, online maps, e-commerce sites, travel portals, or general websites
  • A marketplace of ready-to-use Actors (specialized tools) for various data tasks
  • Infrastructure to run and monetize our own AI Agents

Prerequisites

  1. Sign up for an Apify account
  2. Obtain your Apify API token (can be obtained from Apify)
  3. Install the required packages:
pip install agno apify-client

Basic Usage

The Agno framework makes it easy to integrate Apify Actors into your agents. Here’s a simple example:

from agno.agent import Agent
from agno.tools.apify import ApifyTools

# Create an agent with ApifyTools
agent = Agent(
    tools=[
        ApifyTools(
            actors=["apify/rag-web-browser"],  # Specify which Apify Actors to use, use multiple ones if needed
            apify_api_token="your_apify_api_key"  # Or set the APIFY_API_TOKEN environment variable 
        )
    ],
    show_tool_calls=True,
    markdown=True
)

# Use the agent to get website content
agent.print_response("What information can you find on https://docs.agno.com/introduction ?", markdown=True)

Available Apify Tools

You can easily integrate any Apify Actor as a tool. Here are some examples:

1. RAG Web Browser

The RAG Web Browser Actor is specifically designed for AI and LLM applications. It searches the web for a query or processes a URL, then cleans and formats the content for your agent. This tool is enabled by default.

from agno.agent import Agent
from agno.tools.apify import ApifyTools

agent = Agent(
    tools=[
        ApifyTools(actors=["apify/rag-web-browser"])
    ],
    show_tool_calls=True,
    markdown=True
)

# Search for information and process the results
agent.print_response("What are the latest developments in large language models?", markdown=True)

2. Website Content Crawler

This tool uses Apify’s Website Content Crawler Actor to extract text content from websites, making it perfect for RAG applications.

from agno.agent import Agent
from agno.tools.apify import ApifyTools

agent = Agent(
    tools=[
        ApifyTools(actors=["apify/website-content-crawler"])
    ],
    markdown=True
)

# Ask the agent to process web content
agent.print_response("Summarize the content from https://docs.agno.com/introduction", markdown=True)

3. Google Places Crawler

The Google Places Crawler extracts data about businesses from Google Maps and Google Places.

from agno.agent import Agent
from agno.tools.apify import ApifyTools

agent = Agent(
    tools=[
        ApifyTools(actors=["compass/crawler-google-places"])
    ],
    show_tool_calls=True
)

# Find business information in a specific location
agent.print_response("What are the top-rated restaurants in San Francisco?", markdown=True)
agent.print_response("Find coffee shops in Prague", markdown=True)

Example Scenarios

RAG Web Browser + Google Places Crawler

This example combines web search with local business data to provide comprehensive information about a topic:

from agno.agent import Agent
from agno.tools.apify import ApifyTools

agent = Agent(
    tools=[
        ApifyTools(actors=[
            "apify/rag-web-browser",
            "compass/crawler-google-places"
        ])
    ],
    show_tool_calls=True
)

# Get general information and local businesses
agent.print_response(
    """
    I'm traveling to Tokyo next month.
    1. Research the best time to visit and major attractions
    2. Find one good rated sushi restaurants near Shinjuku
    Compile a comprehensive travel guide with this information.
    """,
    markdown=True
)

Toolkit Params

ParameterTypeDefaultDescription
apify_api_tokenstrNoneApify API token (or set via APIFY_API_TOKEN environment variable)
actorsstr or List[str]NoneSingle Actor ID or list of Actor IDs to register

Developer Resources

Resources