diff --git a/docs/concepts/tools.mdx b/docs/concepts/tools.mdx index fa823d0b9..6910735ab 100644 --- a/docs/concepts/tools.mdx +++ b/docs/concepts/tools.mdx @@ -106,6 +106,7 @@ Here is a list of the available tools and their descriptions: | Tool | Description | | :------------------------------- | :--------------------------------------------------------------------------------------------- | +| **ApifyActorsTool** | A tool that integrates Apify Actors with your workflows for web scraping and automation tasks. | | **BrowserbaseLoadTool** | A tool for interacting with and extracting data from web browsers. | | **CodeDocsSearchTool** | A RAG tool optimized for searching through code documentation and related technical documents. | | **CodeInterpreterTool** | A tool for interpreting python code. | diff --git a/docs/mint.json b/docs/mint.json index 8e2e270f7..87cb26760 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -154,6 +154,7 @@ "group": "Tools", "pages": [ "tools/aimindtool", + "tools/apifyactorstool", "tools/bravesearchtool", "tools/browserbaseloadtool", "tools/codedocssearchtool", @@ -220,4 +221,4 @@ "linkedin": "https://www.linkedin.com/company/crewai-inc", "youtube": "https://youtube.com/@crewAIInc" } -} \ No newline at end of file +} diff --git a/docs/tools/apifyactorstool.mdx b/docs/tools/apifyactorstool.mdx new file mode 100644 index 000000000..0f0835b9f --- /dev/null +++ b/docs/tools/apifyactorstool.mdx @@ -0,0 +1,99 @@ +--- +title: Apify Actors +description: "`ApifyActorsTool` lets you call Apify Actors to provide your CrewAI workflows with web scraping, crawling, data extraction, and web automation capabilities." +# hack to use custom Apify icon +icon: "); -webkit-mask-image: url('https://upload.wikimedia.org/wikipedia/commons/a/ae/Apify.svg');/*" +--- + +# `ApifyActorsTool` + +Integrate [Apify Actors](https://apify.com/actors) into your CrewAI workflows. + +## Description + +The `ApifyActorsTool` connects [Apify Actors](https://apify.com/actors), cloud-based programs for web scraping and automation, to your CrewAI workflows. +Use any of the 4,000+ Actors on [Apify Store](https://apify.com/store) for use cases such as extracting data from social media, search engines, online maps, e-commerce sites, travel portals, or general websites. + +For details, see the [Apify CrewAI integration](https://docs.apify.com/platform/integrations/crewai) in Apify documentation. + +## Steps to get started + + + + Install `crewai[tools]` and `langchain-apify` using pip: `pip install 'crewai[tools]' langchain-apify`. + + + Sign up to [Apify Console](https://console.apify.com/) and get your [Apify API token](https://console.apify.com/settings/integrations).. + + + Set your Apify API token as the `APIFY_API_TOKEN` environment variable to enable the tool's functionality. + + + +## Usage example + +Use the `ApifyActorsTool` manually to run the [RAG Web Browser Actor](https://apify.com/apify/rag-web-browser) to perform a web search: + +```python +from crewai_tools import ApifyActorsTool + +# Initialize the tool with an Apify Actor +tool = ApifyActorsTool(actor_name="apify/rag-web-browser") + +# Run the tool with input parameters +results = tool.run(run_input={"query": "What is CrewAI?", "maxResults": 5}) + +# Process the results +for result in results: + print(f"URL: {result['metadata']['url']}") + print(f"Content: {result.get('markdown', 'N/A')[:100]}...") +``` + +### Expected output + +Here is the output from running the code above: + +```text +URL: https://www.example.com/crewai-intro +Content: CrewAI is a framework for building AI-powered workflows... +URL: https://docs.crewai.com/ +Content: Official documentation for CrewAI... +``` + +The `ApifyActorsTool` automatically fetches the Actor definition and input schema from Apify using the provided `actor_name` and then constructs the tool description and argument schema. This means you need to specify only a valid `actor_name`, and the tool handles the rest when used with agents—no need to specify the `run_input`. Here's how it works: + +```python +from crewai import Agent +from crewai_tools import ApifyActorsTool + +rag_browser = ApifyActorsTool(actor_name="apify/rag-web-browser") + +agent = Agent( + role="Research Analyst", + goal="Find and summarize information about specific topics", + backstory="You are an experienced researcher with attention to detail", + tools=[rag_browser], +) +``` + +You can run other Actors from [Apify Store](https://apify.com/store) simply by changing the `actor_name` and, when using it manually, adjusting the `run_input` based on the Actor input schema. + +For an example of usage with agents, see the [CrewAI Actor template](https://apify.com/templates/python-crewai). + +## Configuration + +The `ApifyActorsTool` requires these inputs to work: + +- **`actor_name`** + The ID of the Apify Actor to run, e.g., `"apify/rag-web-browser"`. Browse all Actors on [Apify Store](https://apify.com/store). +- **`run_input`** + A dictionary of input parameters for the Actor when running the tool manually. + - For example, for the `apify/rag-web-browser` Actor: `{"query": "search term", "maxResults": 5}` + - See the Actor's [input schema](https://apify.com/apify/rag-web-browser/input-schema) for the list of input parameters. + +## Resources + +- **[Apify](https://apify.com/)**: Explore the Apify platform. +- **[How to build an AI agent on Apify](https://blog.apify.com/how-to-build-an-ai-agent/)** - A complete step-by-step guide to creating, publishing, and monetizing AI agents on the Apify platform. +- **[RAG Web Browser Actor](https://apify.com/apify/rag-web-browser)**: A popular Actor for web search for LLMs. +- **[CrewAI Integration Guide](https://docs.apify.com/platform/integrations/crewai)**: Follow the official guide for integrating Apify and CrewAI.