How to integrate Apify MCP with Autogen

Connect Autogen to Apify MCP. Create a new dataset for scraped results, fetch items from a specific apify dataset, and more using natural language, with authentication handled for you.

Apify logoApify
Api Key

Apify is a cloud platform for building, deploying, and managing web scraping and automation tools called Actors. It lets you automate data extraction and workflow tasks at scale—no infrastructure headaches.

182 Tools

Introduction

This guide walks you through connecting Apify to AutoGen using the Composio tool router. By the end, you'll have a working Apify agent that can create a new dataset for scraped results, fetch items from a specific apify dataset, get details of your latest apify actor through natural language commands.

This guide will help you understand how to give your AutoGen agent real control over a Apify account through Composio's Apify MCP server.

Before we dive in, let's take a quick look at the key ideas and tools involved.

Also integrate Apify with

TL;DR

Here's what you'll learn:
  • Get and set up your OpenAI and Composio API keys
  • Install the required dependencies for Autogen and Composio
  • Initialize Composio and create a Tool Router session for Apify
  • Wire that MCP URL into Autogen using McpWorkbench and StreamableHttpServerParams
  • Configure an Autogen AssistantAgent that can call Apify tools
  • Run a live chat loop where you ask the agent to perform Apify operations

What is AutoGen?

Autogen is a framework for building multi-agent conversational AI systems from Microsoft. It enables you to create agents that can collaborate, use tools, and maintain complex workflows.

Key features include:

  • Multi-Agent Systems: Build collaborative agent workflows
  • MCP Workbench: Native support for Model Context Protocol tools
  • Streaming HTTP: Connect to external services through streamable HTTP
  • AssistantAgent: Pre-built agent class for tool-using assistants

What is the Apify MCP server, and what's possible with it?

The Apify MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Apify account. It provides structured and secure access to your Actors, tasks, runs, builds, datasets, and webhooks, so your agent can run automations, manage Actors, retrieve scraped data, monitor runs, and configure webhooks on your behalf.

  • Actor and task management: Have your agent create, inspect, update, or delete Actors and reusable Actor tasks.
  • Automation runs and monitoring: Let the agent run Actors or tasks, check recent run details, update run status messages, and abort or delete runs.
  • Build management: Direct your agent to build Actors, inspect available or default builds, and remove builds you no longer need.
  • Dataset access and organization: Instruct your agent to create datasets, retrieve scraped items, review dataset details, and rename datasets.
  • Webhooks and specialized data collection: Have your agent create task webhooks, list or delete existing webhooks, discover G2 products, or check and purchase CARFAX reports by VIN.

What is the Composio tool router, and how does it fit here?

What is Composio SDK?

Composio's Composio SDK helps agents find the right tools for a task at runtime. You can plug in multiple toolkits (like Gmail, HubSpot, and GitHub), and the agent will identify the relevant app and action to complete multi-step workflows. This can reduce token usage and improve the reliability of tool calls. Read more here: Getting started with Composio SDK

The tool router generates a secure MCP URL that your agents can access to perform actions.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step08 STEPS
1

Prerequisites

You will need:

  • A Composio API key
  • An OpenAI API key (used by Autogen's OpenAIChatCompletionClient)
  • A Apify account you can connect to Composio
  • Some basic familiarity with Autogen and Python async
2

Getting API Keys for OpenAI and Composio

OpenAI API Key
  • Go to the OpenAI dashboard and create an API key. You'll need credits to use the models, or you can connect to another model provider.
  • Keep the API key safe.
Composio API Key
  • Log in to the Composio dashboard.
  • Navigate to your API settings and generate a new API key.
  • Store this key securely as you'll need it for authentication.
3

Install dependencies

bash
pip install composio python-dotenv
pip install autogen-agentchat autogen-ext-openai autogen-ext-tools

Install Composio, Autogen extensions, and dotenv.

What's happening:

  • composio connects your agent to Apify via MCP
  • autogen-agentchat provides the AssistantAgent class
  • autogen-ext-openai provides the OpenAI model client
  • autogen-ext-tools provides MCP workbench support

4

Set up environment variables

bash
COMPOSIO_API_KEY=your-composio-api-key
OPENAI_API_KEY=your-openai-api-key
USER_ID=your-user-identifier@example.com

Create a .env file in your project folder.

What's happening:

  • COMPOSIO_API_KEY is required to talk to Composio
  • OPENAI_API_KEY is used by Autogen's OpenAI client
  • USER_ID is how Composio identifies which user's Apify connections to use
5

Import dependencies and create Tool Router session

python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio

from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import McpWorkbench, StreamableHttpServerParams

load_dotenv()

async def main():
    # Initialize Composio and create a Apify session
    composio = Composio(api_key=os.getenv("COMPOSIO_API_KEY"))
    session = composio.create(
        user_id=os.getenv("USER_ID"),
        toolkits=["apify"]
    )
    url = session.mcp.url
What's happening:
  • load_dotenv() reads your .env file
  • Composio(api_key=...) initializes the SDK
  • create(...) creates a Tool Router session that exposes Apify tools
  • session.mcp.url is the MCP endpoint that Autogen will connect to
6

Configure MCP parameters for Autogen

python
# Configure MCP server parameters for Streamable HTTP
server_params = StreamableHttpServerParams(
    url=url,
    timeout=30.0,
    sse_read_timeout=300.0,
    terminate_on_close=True,
    headers={"x-api-key": os.getenv("COMPOSIO_API_KEY")}
)

Autogen expects parameters describing how to talk to the MCP server. That is what StreamableHttpServerParams is for.

What's happening:

  • url points to the Tool Router MCP endpoint from Composio
  • timeout is the HTTP timeout for requests
  • sse_read_timeout controls how long to wait when streaming responses
  • terminate_on_close=True cleans up the MCP server process when the workbench is closed
7

Create the model client and agent

python
# Create model client
model_client = OpenAIChatCompletionClient(
    model="gpt-5",
    api_key=os.getenv("OPENAI_API_KEY")
)

# Use McpWorkbench as context manager
async with McpWorkbench(server_params) as workbench:
    # Create Apify assistant agent with MCP tools
    agent = AssistantAgent(
        name="apify_assistant",
        description="An AI assistant that helps with Apify operations.",
        model_client=model_client,
        workbench=workbench,
        model_client_stream=True,
        max_tool_iterations=10
    )

What's happening:

  • OpenAIChatCompletionClient wraps the OpenAI model for Autogen
  • McpWorkbench connects the agent to the MCP tools
  • AssistantAgent is configured with the Apify tools from the workbench
8

Run the interactive chat loop

python
print("Chat started! Type 'exit' or 'quit' to end the conversation.\n")
print("Ask any Apify related question or task to the agent.\n")

# Conversation loop
while True:
    user_input = input("You: ").strip()

    if user_input.lower() in ["exit", "quit", "bye"]:
        print("\nGoodbye!")
        break

    if not user_input:
        continue

    print("\nAgent is thinking...\n")

    # Run the agent with streaming
    try:
        response_text = ""
        async for message in agent.run_stream(task=user_input):
            if hasattr(message, "content") and message.content:
                response_text = message.content

        # Print the final response
        if response_text:
            print(f"Agent: {response_text}\n")
        else:
            print("Agent: I encountered an issue processing your request.\n")

    except Exception as e:
        print(f"Agent: Sorry, I encountered an error: {str(e)}\n")
What's happening:
  • The script prompts you in a loop with You:
  • Autogen passes your input to the model, which decides which Apify tools to call via MCP
  • agent.run_stream(...) yields streaming messages as the agent thinks and calls tools
  • Typing exit, quit, or bye ends the loop

Complete Code

Here's the complete code to get you started with Apify and AutoGen:

python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio

from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import McpWorkbench, StreamableHttpServerParams

load_dotenv()

async def main():
    # Initialize Composio and create a Apify session
    composio = Composio(api_key=os.getenv("COMPOSIO_API_KEY"))
    session = composio.create(
        user_id=os.getenv("USER_ID"),
        toolkits=["apify"]
    )
    url = session.mcp.url

    # Configure MCP server parameters for Streamable HTTP
    server_params = StreamableHttpServerParams(
        url=url,
        timeout=30.0,
        sse_read_timeout=300.0,
        terminate_on_close=True,
        headers={"x-api-key": os.getenv("COMPOSIO_API_KEY")}
    )

    # Create model client
    model_client = OpenAIChatCompletionClient(
        model="gpt-5",
        api_key=os.getenv("OPENAI_API_KEY")
    )

    # Use McpWorkbench as context manager
    async with McpWorkbench(server_params) as workbench:
        # Create Apify assistant agent with MCP tools
        agent = AssistantAgent(
            name="apify_assistant",
            description="An AI assistant that helps with Apify operations.",
            model_client=model_client,
            workbench=workbench,
            model_client_stream=True,
            max_tool_iterations=10
        )

        print("Chat started! Type 'exit' or 'quit' to end the conversation.\n")
        print("Ask any Apify related question or task to the agent.\n")

        # Conversation loop
        while True:
            user_input = input("You: ").strip()

            if user_input.lower() in ['exit', 'quit', 'bye']:
                print("\nGoodbye!")
                break

            if not user_input:
                continue

            print("\nAgent is thinking...\n")

            # Run the agent with streaming
            try:
                response_text = ""
                async for message in agent.run_stream(task=user_input):
                    if hasattr(message, 'content') and message.content:
                        response_text = message.content

                # Print the final response
                if response_text:
                    print(f"Agent: {response_text}\n")
                else:
                    print("Agent: I encountered an issue processing your request.\n")

            except Exception as e:
                print(f"Agent: Sorry, I encountered an error: {str(e)}\n")

if __name__ == "__main__":
    asyncio.run(main())

Conclusion

You now have an Autogen assistant wired into Apify through Composio's Tool Router and MCP. From here you can:
  • Add more toolkits to the toolkits list, for example notion or hubspot
  • Refine the agent description to point it at specific workflows
  • Wrap this script behind a UI, Slack bot, or internal tool
Once the pattern is clear for Apify, you can reuse the same structure for other MCP-enabled apps with minimal code changes.
TOOLS

Supported Tools

Every Apify action and event your agent gets out of the box.

Build Actor

Tool to build an Actor with specified configuration.

Abort Actor Build

Tool to abort an Actor build that is starting or running.

Delete Actor Build

Tool to delete an Actor build permanently.

Get Actor Build

Tool to get detailed information about a specific Actor build.

Get Actor Build Log

Tool to retrieve the log file for a specific Actor build.

Get user builds list

Tool to get a paginated list of all builds for a user.

Abort Actor Run

Tool to abort a running or starting Actor run.

Delete Actor Run

Tool to delete a finished Actor run.

Get Actor Run

Tool to get details about a specific Actor run.

Update Actor Run Status Message

Tool to update the status message of an Actor run.

Delete Actor Task

Tool to delete an Actor task permanently.

Get Actor Task

Tool to get complete details about an Actor task.

Update Actor Task

Tool to update Actor task settings using JSON payload.

Get last actor task run

Tool to get the most recent run of a specific Actor task.

Run Task Sync (GET)

Tool to run a specific task synchronously and return its output.

Run Task Sync & Get Dataset Items

Tool to run an actor task synchronously and retrieve its dataset items.

Run Task Sync with Input Override & Get Dataset Items

Tool to run an actor task synchronously with input overrides and retrieve its dataset items.

Run Task Sync (POST)

Tool to run an Actor task synchronously with input override and return its output.

Update Actor

Tool to update Actor settings using JSON payload.

Get last actor run

Tool to get the most recent run of a specific Actor.

Run Actor Sync without Input (GET)

Tool to run a specific Actor synchronously without input and return its output.

Run Actor Sync & Get Dataset Items

Tool to run Actor synchronously and get dataset items.

Get list of Actors

Tool to get the list of all Actors that the user created or used.

Delete Actor Version

Tool to delete a specific version of an Actor's source code.

Delete Actor Version Environment Variable

Tool to delete an environment variable from a specific Actor version.

Get Actor Version Environment Variable

Tool to get environment variable details for a specific Actor version.

Update Actor Version Environment Variable

Tool to update environment variable for a specific Actor version using JSON payload.

Get list of Actor version environment variables

Tool to get the list of environment variables for a specific Actor version.

Create Actor Version Environment Variable

Tool to create an environment variable for a specific Actor version.

Get Actor version

Tool to get details about a specific version of an Actor.

Update Actor Version

Tool to update an Actor version's configuration and source code.

Get list of Actor versions

Tool to get the list of versions of a specific Actor.

Create Actor Version

Tool to create a new version of an Actor.

Get list of Actor webhooks

Tool to get a list of webhooks for a specific Actor.

Create Actor

Tool to create a new Actor with specified configuration.

Create Dataset

Tool to create a new dataset.

Create Actor Task

Tool to create a new Actor task with specified settings.

Create Task Webhook

Tool to create a webhook for an Actor task.

Delete Dataset

Tool to delete a dataset permanently.

Get Dataset

Tool to retrieve dataset metadata by dataset ID.

Update Dataset

Tool to update a dataset's name via JSON payload.

Get list of datasets

Tool to get list of datasets for a user.

Get Dataset Statistics

Tool to get dataset field statistics by dataset ID.

Delete Actor

Tool to delete an Actor permanently.

Delete Webhook

Tool to delete a webhook by its ID.

Discover G2 Products

Discover G2 software products with fixed Actor BkxudbF8MgHuC8WfI in product-search mode only; this action never requests reviews or reviewer data.

Get Actor Details

Tool to get details of a specific Actor.

Get Actor Last Run Dataset Items

Tool to get dataset items from the last run of an Actor.

Get all webhooks

Tool to get a list of all webhooks created by the user.

Get CARFAX Report by VIN

Check CARFAX report availability or purchase PDFs with easytools/carfax-report-by-vin.

Get dataset items

Tool to retrieve items from a dataset.

Get Default Build

Tool to get the default build for an Actor.

Get Key-Value Record

Tool to retrieve a record from a key-value store.

Get list of builds

Tool to get a list of builds for a specific Actor.

Get list of runs

Tool to get a list of runs for a specific Actor.

Get list of task runs

Tool to get a list of runs for a specific Actor task.

Get list of tasks

Tool to fetch a paginated list of tasks belonging to the authenticated user.

Get list of task webhooks

Tool to get a list of webhooks for a specific Actor task.

Get log

Tool to retrieve logs for a specific Actor run or build.

Get OpenAPI Definition

Tool to get the OpenAPI definition for a specific Actor build.

Get Run Dataset Items

Tool to get dataset items from a specific Actor run.

Get Run Default Dataset

Get metadata for an Actor run's default dataset, not its items.

Get Run Default Key-Value Store

Get metadata for an Actor run's default key-value store, not record values.

Get Run Default Request Queue

Get metadata for an Actor run's default request queue, not queued requests.

Get Task Input

Tool to retrieve the input configuration of a specific task.

Get Task Last Run Dataset Items

Tool to get dataset items from the last run of an Actor task.

Get US Fuel Price Averages

Get one national US fuel-price average record from the third-party crawlerbros/fuel-prices-scraper; this is not an official AAA API.

Delete Key-Value Store

Tool to delete a key-value store permanently.

Get Key-Value Store

Tool to retrieve key-value store metadata by store ID.

Get Key-Value Store Keys

Tool to retrieve a list of keys from a key-value store.

Delete Key-Value Store Record

Tool to delete a record from a key-value store.

Check Key-Value Store Record Exists

Tool to check if a record exists in a key-value store.

Get list of key-value stores

Tool to get the list of key-value stores owned by the user.

Create Key-Value Store

Tool to create a new key-value store or retrieve an existing one by name.

List User Actor Runs

Tool to get a paginated list of all Actor runs for the authenticated user.

Delete Request Queue

Tool to delete a request queue permanently.

Get Request Queue

Tool to retrieve request queue metadata by queue ID.

Get Request Queue Head

Tool to retrieve first requests from the queue for inspection.

Get Head and Lock Queue Requests

Tool to get and lock head requests from the queue.

Update Request Queue

Tool to update request queue name using JSON payload.

Delete Request from Queue

Tool to delete a specific request from a request queue.

Get Request from Queue

Tool to retrieve a specific request from a request queue by its ID.

Delete Request Lock

Tool to delete a request lock from a request queue.

Prolong Request Lock

Tool to prolong request lock in a request queue.

Update Request in Queue

Tool to update a request in a request queue.

Batch Delete Requests from Queue

Tool to batch-delete up to 25 requests from a queue.

Batch Add Requests to Queue

Tool to batch-add up to 25 requests to a request queue.

List Request Queue Requests

Tool to list requests in a request queue with pagination support.

Add Request to Queue

Tool to add a request to the queue.

Unlock Queue Requests

Tool to unlock requests in a request queue that are currently locked by the client.

Get list of request queues

Tool to get list of request queues for a user.

Create Request Queue

Tool to create a new request queue or retrieve an existing one by name.

Run Actor Asynchronously

Tool to run a specific Actor asynchronously.

Run Actor Sync

Tool to run a specific Actor synchronously with input and return its output record.

Run Actor Sync & Get Dataset Items

Tool to run an Actor synchronously and retrieve its dataset items.

Run Task Asynchronously

Tool to run a specific Actor task asynchronously.

Delete Schedule

Tool to delete a schedule by its ID.

Get Schedule

Tool to get schedule details by ID.

Get Schedule Log

Tool to get schedule log by ID.

Update Schedule

Tool to update an existing schedule with new settings.

Get list of schedules

Tool to get list of schedules created by the user.

Create Schedule

Tool to create a new schedule with specified settings.

Scrape Amazon Product Details

Scrape detailed Amazon product pages by ASIN or URL with delicious_zebu/amazon-product-details-scraper.

Scrape Amazon Reviews

Scrape Amazon customer reviews with axesso_data/amazon-reviews-scraper.

Scrape Booking Reviews

Scrape public Booking.

Scrape Meta/Facebook Ads

Scrape public Facebook, Instagram, WhatsApp, Threads, Messenger, and Audience Network ads with apify/facebook-ads-scraper.

Scrape Facebook Comments

Scrape public Facebook post comments with apify/facebook-comments-scraper.

Scrape Facebook Events

Search and scrape public Facebook events with apify/facebook-events-scraper.

Scrape Facebook Group Posts

Scrape posts from public Facebook groups with apify/facebook-groups-scraper.

Scrape Facebook Pages

Scrape public Facebook page/profile metadata with apify/facebook-pages-scraper.

Scrape Facebook Photos

Scrape public Facebook photo metadata and OCR text with apify/facebook-photos-scraper.

Scrape Facebook Posts

Scrape public Facebook page and profile posts with apify/facebook-posts-scraper.

Scrape Facebook Reels

Scrape public Facebook reel metadata with apify/facebook-reels-scraper.

Scrape Facebook Reviews

Scrape public Facebook page reviews with apify/facebook-reviews-scraper.

Scrape G2 Reviews

Scrape G2 software reviews with fixed Actor BkxudbF8MgHuC8WfI.

Scrape Google Maps Places

Scrape Google Maps place listings with damilo/google-maps-scraper.

Scrape Google Maps Reviews

Scrape Google Maps reviews with compass/google-maps-reviews-scraper.

Scrape Indeed Jobs

Scrape Indeed jobs with valig/indeed-jobs-scraper without Indeed credentials.

Scrape Instagram Comments

Scrape public Instagram post and Reel comments with apify/instagram-comment-scraper.

Scrape Instagram Hashtag Content

Scrape public Instagram posts or reels by hashtag or keyword with Apify's fixed Actor.

Scrape Instagram Mentions

Find public Instagram posts that tag or mention known accounts with apify/instagram-tagged-scraper.

Scrape Instagram Posts

Scrape public Instagram posts with Apify's fixed Actor.

Scrape Instagram Profiles

Scrape public Instagram profile details with Apify's fixed Profile Scraper Actor.

Scrape Instagram Reels

Scrape public Instagram Reels with apify/instagram-reel-scraper.

Scrape LinkedIn Companies

Scrape public LinkedIn company details with harvestapi/linkedin-company, without LinkedIn cookies or caller credentials.

Scrape LinkedIn Company Employees

Enumerate and filter employees of specified LinkedIn companies; use broad profile search for cross-company discovery rather than exhaustive rosters.

Scrape LinkedIn Profile Posts

Fetch posts from specified LinkedIn profiles, companies, posts, or activities; use LinkedIn post search when the intent starts from keywords instead of known authors/URLs.

Scrape LinkedIn Profiles

Scrape known LinkedIn profiles in bulk with harvestapi/linkedin-profile-scraper; unlike people search, this action requires profile URLs or identifiers and needs no LinkedIn credentials or cookies.

Scrape Snapchat Profiles

Scrape Snapchat profiles with automation-lab/snapchat-scraper.

Scrape Snapchat Spotlight

Scrape public Snapchat Spotlight items with tri_angle/snapchat-spotlight-scraper.

Scrape TikTok Ads

Search public TikTok Ad Library records with lexis-solutions/tiktok-ads-scraper.

Scrape TikTok Comments

Scrape top-level comments from public TikTok videos with clockworks/tiktok-comments-scraper.

Scrape TikTok Posts

Scrape public TikTok posts with apidojo/tiktok-scraper.

Scrape TikTok Video

Scrape specified public TikTok videos with clockworks/tiktok-video-scraper.

Scrape Tripadvisor Reviews

Scrape public Tripadvisor reviews with maxcopell/tripadvisor-reviews.

Scrape Trustpilot Reviews

Scrape public Trustpilot reviews with fixed Actor 6q70QEFc2Zk0ObldU without exposing reviewer-enrichment or contact controls.

Scrape X/Twitter Posts

Search bulk public X posts from one to five advanced-search queries; this Actor does not support a specified single post or conversation.

Scrape Website Traffic Insights

Collect base website traffic estimates with radeance/similarweb-scraper.

Scrape Yelp Reviews

Scrape public Yelp reviews with web_wanderer/yelp-reviews-scraper.

Scrape YouTube Comments

Scrape public YouTube comments with streamers/youtube-comments-scraper.

Scrape YouTube Videos

Search and scrape YouTube with the fixed streamers/youtube-scraper Actor.

Scrape YouTube Video Transcripts

Extract timestamped YouTube transcripts with starvibe/youtube-video-transcript.

Scrape Zillow Property Details

Fetch full Zillow property details with fixed Actor ENK9p4RZHg0iVso52.

Search AliExpress Products

Search AliExpress listing cards with khadinakbar/aliexpress-all-in-one-scraper.

Search Amazon Products

Search Amazon product listings with axesso_data/amazon-search-scraper.

Search Booking Properties

Search public Booking.

Search Eventbrite Events

Search public Eventbrite events with aitorsm/eventbrite.

Search Facebook Marketplace

Search public Facebook Marketplace listings with apify/facebook-marketplace-scraper.

Search Google

Search ordinary Google SERPs with Apify's Google Search Results Scraper.

Search Google Images

Search Google Images with hooli/google-images-scraper while preserving source-page provenance.

Search Google News

Search Google News by keyword, predefined topic, or custom topic URL with data_xplorer/google-news-scraper-fast.

Search Google Shopping

Search localized Google Shopping products and offers with burbn/google-shopping-scraper.

Search Instagram

Discover Instagram places, profiles, hashtags, or popular reels by keyword.

Search Jobs Across Sites

Search public employer-hosted jobs across Greenhouse, Lever, and Ashby with agentx/all-jobs-scraper.

Search LinkedIn Companies

Search for public LinkedIn companies with harvestapi/linkedin-company-search in short mode, without LinkedIn cookies.

Search LinkedIn Jobs

Search LinkedIn jobs and return job, application, salary, and company details without requiring LinkedIn credentials.

Search LinkedIn Posts

Run harvestapi/linkedin-post-search for public LinkedIn posts.

Search LinkedIn Profiles

Run HarvestAPI's broad LinkedIn people search.

Search LinkedIn Profiles by Name

Find LinkedIn profiles by first name, last name, or both; this name-based intent is distinct from fuzzy profile or services search.

Search LinkedIn Profiles by Services

Find LinkedIn profiles by services or keywords with HarvestAPI's lower-filter search intent; use broad profile search for extensive employment filters and name search for a known person.

Search Local Fuel Prices

Search public crowd-reported local US station fuel prices with the independent johnvc/fuelprices Actor; this is not an official GasBuddy API.

Search TikTok Users

Discover public TikTok creator profiles by keyword with clockworks/tiktok-user-search-scraper.

Search Tripadvisor Places

Search public Tripadvisor hotels, restaurants, and attractions with maxcopell/tripadvisor.

Search Upwork Jobs

Search public Upwork jobs with neatrat/upwork-job-scraper without accepting caller cookies or raw search URLs.

Search Yandex Market Products

Search public Yandex Market listings with zen-studio/yandex-market-scraper-parser.

Search Zillow Properties

Discover Zillow listings with fixed Actor X46xKaa20oUA1fRiP.

Store Data in Dataset

Tool to store data items in a dataset.

Store Data in Key-Value Store

Tool to create or update a record in a key-value store.

Get list of Actors in Store

Tool to get list of public Actors from Apify Store.

Update Key-Value Store

Tool to update a key-value store's properties.

Update Task Input

Tool to update the input configuration of a specific Actor task.

Get Public User Data

Tool to get public user data.

Get Current User Account Data

Tool to get private user account information.

Get Account Limits

Tool to get a complete summary of account limits and usage.

Update Account Limits

Tool to update account limits manageable on the Limits page.

Get Monthly Usage

Tool to get monthly usage summary with daily breakdown.

Get list of webhook dispatches

Tool to get list of webhook dispatches for the user.

Get Webhook Dispatch

Tool to get webhook dispatch object with all details.

Get webhook

Tool to get webhook object with all details.

Update Webhook

Tool to update webhook using JSON payload.

Test Webhook

Tool to test a webhook by creating a test dispatch with a dummy payload.

Get webhook dispatches

Tool to get list of webhook dispatches for a specific webhook.

FAQ

Frequently asked questions

With a standalone Apify MCP server, the agents and LLMs can only access a fixed set of Apify tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Apify and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Autogen fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Apify tools.

Yes, absolutely. You can configure which Apify scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Apify data and credentials are handled as safely as possible.

Start with Apify.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Apify tool your agent needs.Free to start.

Start building