From 78dc1b42e814df44e8c3989b48be78963c534854 Mon Sep 17 00:00:00 2001 From: Gokdeniz Kaymak Date: Tue, 7 Apr 2026 17:01:08 +0200 Subject: [PATCH 1/6] docs: openclaw plugin docs --- sources/platform/integrations/ai/openclaw.md | 254 +++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 sources/platform/integrations/ai/openclaw.md diff --git a/sources/platform/integrations/ai/openclaw.md b/sources/platform/integrations/ai/openclaw.md new file mode 100644 index 0000000000..bdb245e64a --- /dev/null +++ b/sources/platform/integrations/ai/openclaw.md @@ -0,0 +1,254 @@ +--- +title: OpenClaw integration +sidebar_label: OpenClaw +description: Learn how to integrate Apify with OpenClaw to give your AI agents web scraping and data extraction capabilities using 20,000+ pre-built Actors. +sidebar_position: 14 +slug: /integrations/openclaw +toc_min_heading_level: 2 +toc_max_heading_level: 4 +--- + +import ThirdPartyDisclaimer from '@site/sources/_partials/_third-party-integration.mdx'; + +[OpenClaw](https://openclaw.io) is an open-source AI agent orchestration platform that enables you to build, deploy, and manage autonomous AI agents. The Apify plugin for OpenClaw gives your agents access to 20,000+ pre-built Actors for web scraping, data extraction, and automation through a single `apify` tool. + +For more details about OpenClaw, refer to the [official documentation](https://docs.openclaw.io/). + + + +## TLDR + +```bash +openclaw plugins install @apify/apify-openclaw-plugin +openclaw apify setup +openclaw gateway restart +``` + + + +## Prerequisites + +Before integrating Apify with OpenClaw, you'll need: + +- _An Apify account_ - If you don't have one, [sign up here](https://console.apify.com/sign-up). +- _Apify API token_ - Get your token from the **API & Integrations** section in [Apify Console](https://console.apify.com/settings/integrations). +- _OpenClaw_ - Version 2026.1.0 or later. Install from the [OpenClaw website](https://openclaw.io/). +- _Node.js 22+_ - Required to run the plugin. + +## Set up the Apify plugin + +### Install the plugin + +```bash +openclaw plugins install @apify/apify-openclaw-plugin +``` + +### Configure with interactive setup (recommended) + +Run the setup wizard to configure your API key: + +```bash +openclaw apify setup +``` + +The wizard prompts you for your Apify API token, verifies the connection, and writes the configuration to your OpenClaw config file. + +After setup, restart the gateway to load the plugin: + +```bash +openclaw gateway restart +``` + +### Configure manually + +Alternatively, add the plugin configuration directly to your `~/.openclaw/config.json`: + +```json +{ + "plugins": { + "entries": { + "apify": { + "enabled": true, + "config": { + "apiKey": "apify_api_..." + } + } + } + }, + "tools": { + "alsoAllow": ["apify"] + } +} +``` + +Then restart the gateway: + +```bash +openclaw gateway restart +``` + +:::caution Tool allowlisting required + +The `apify` tool must be listed in `tools.alsoAllow` in your config, or you can use `"group:plugins"` to allow all plugin tools. Without this, the tool won't be available to your agents. + +::: + +### Verify the setup + +Check your configuration and test the connection: + +```bash +openclaw apify status +openclaw apify test +``` + +## How the Apify tool works + +The plugin registers a single `apify` tool with three actions: + +| Action | Purpose | +|--------|---------| +| `discover` | Search the Apify Store for Actors by keyword, or fetch an Actor's input schema | +| `start` | Run an Actor asynchronously and get a `runId` back | +| `collect` | Retrieve results from completed Actor runs | + +### Two-phase async pattern + +The tool uses an asynchronous workflow. Your agent starts an Actor run and gets a `runId` immediately, then collects results later when the run completes. This lets agents do other work while Actors are running. + +```text +discover (search) -> discover (schema) -> start -> collect +``` + +### Batch multiple targets + +Most Actors accept arrays in their input (for example, `startUrls`, `queries`, `usernames`). Always batch multiple targets into a single run - one run with 5 URLs is cheaper and faster than 5 separate runs. + +## Examples + +### Search Google and collect results + +This example walks through the full discover, start, and collect workflow to scrape Google Search results. + +First, search for a suitable Actor: + +```javascript +const search = await apify({ + action: "discover", + query: "google search scraper", +}); +``` + +Get the Actor's input schema to understand what parameters it accepts: + +```javascript +const schema = await apify({ + action: "discover", + actorId: "apify~google-search-scraper", +}); +``` + +Start the Actor with your search queries: + +```javascript +const started = await apify({ + action: "start", + actorId: "apify~google-search-scraper", + input: { queries: ["web scraping tools", "data extraction API"], maxPagesPerQuery: 1 }, + label: "google-search", +}); +``` + +Collect the results when the run completes: + +```javascript +const results = await apify({ + action: "collect", + runs: started.runs, +}); +// results.completed contains the scraped data +``` + +### Analyze Instagram profiles + +Use batching to scrape multiple profiles in a single run: + +```javascript +const started = await apify({ + action: "start", + actorId: "apify~instagram-profile-scraper", + input: { usernames: ["natgeo", "nasa", "spacex"] }, + label: "instagram-profiles", +}); + +const results = await apify({ + action: "collect", + runs: started.runs, +}); +``` + +### Multi-source research + +Start multiple Actors in parallel for broader research, then collect all results together: + +```javascript +// Start Google Search and TikTok scrapers +const googleRun = await apify({ + action: "start", + actorId: "apify~google-search-scraper", + input: { queries: ["AI trends 2026"], maxPagesPerQuery: 1 }, + label: "google", +}); + +const tiktokRun = await apify({ + action: "start", + actorId: "clockworks~tiktok-scraper", + input: { searchQueries: ["AI trends"], resultsPerPage: 20 }, + label: "tiktok", +}); + +// Collect results from both runs +const results = await apify({ + action: "collect", + runs: [...googleRun.runs, ...tiktokRun.runs], +}); +``` + +:::note Actor runs may take some time + +Actor execution time varies depending on the task complexity. The `collect` action polls for completion and returns results when the runs finish. Check Actor run status in [Apify Console](https://console.apify.com/) if a run takes longer than expected. + +::: + +## Configuration options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `apiKey` | string | `APIFY_API_KEY` env var | Your Apify API token | +| `baseUrl` | string | `https://api.apify.com` | Apify API base URL | +| `maxResults` | number | `20` | Maximum items to return per dataset (1-1000) | +| `enabledTools` | string[] | `[]` (all enabled) | Restrict which tool actions are available | + +## Troubleshooting + +### Authentication errors + +- _Check your API token_ - Verify your Apify API token is correct by running `openclaw apify test`. You can find your token in the **API & Integrations** section of [Apify Console](https://console.apify.com/settings/integrations). +- _Environment variable_ - If you prefer not to store the key in config, set the `APIFY_API_KEY` environment variable instead. + +### Tool not available to agents + +- _Check allowlisting_ - Ensure `"apify"` is in the `tools.alsoAllow` array in your OpenClaw config, or use `"group:plugins"` to allow all plugin tools. +- _Restart the gateway_ - Config changes don't take effect until you run `openclaw gateway restart`. + +### Actor run failures + +- _Check run logs_ - If an Actor run fails, check the logs in [Apify Console](https://console.apify.com/) for details. +- _Verify input schema_ - Use `action: "discover"` with the `actorId` to check what input parameters the Actor expects. + +## Resources + +- [OpenClaw documentation](https://docs.openclaw.io/) - Official OpenClaw docs +- [Apify Actors documentation](https://docs.apify.com/platform/actors) - Learn about Apify Actors +- [Apify Store](https://apify.com/store) - Browse 20,000+ pre-built Actors +- [Apify API reference](https://docs.apify.com/api/v2) - Full API documentation From 41b9466ed84c2e3ed4bf9d26af56343c099d79b8 Mon Sep 17 00:00:00 2001 From: Gokdeniz Kaymak Date: Tue, 7 Apr 2026 17:10:25 +0200 Subject: [PATCH 2/6] docs: openclaw docs fix --- sources/platform/integrations/ai/openclaw.md | 101 ++----------------- 1 file changed, 10 insertions(+), 91 deletions(-) diff --git a/sources/platform/integrations/ai/openclaw.md b/sources/platform/integrations/ai/openclaw.md index bdb245e64a..98aa54cb65 100644 --- a/sources/platform/integrations/ai/openclaw.md +++ b/sources/platform/integrations/ai/openclaw.md @@ -95,11 +95,10 @@ The `apify` tool must be listed in `tools.alsoAllow` in your config, or you can ### Verify the setup -Check your configuration and test the connection: +Check your configuration: ```bash openclaw apify status -openclaw apify test ``` ## How the Apify tool works @@ -124,99 +123,19 @@ discover (search) -> discover (schema) -> start -> collect Most Actors accept arrays in their input (for example, `startUrls`, `queries`, `usernames`). Always batch multiple targets into a single run - one run with 5 URLs is cheaper and faster than 5 separate runs. -## Examples +## What you can do -### Search Google and collect results +Once the plugin is set up, your OpenClaw agents can: -This example walks through the full discover, start, and collect workflow to scrape Google Search results. - -First, search for a suitable Actor: - -```javascript -const search = await apify({ - action: "discover", - query: "google search scraper", -}); -``` - -Get the Actor's input schema to understand what parameters it accepts: - -```javascript -const schema = await apify({ - action: "discover", - actorId: "apify~google-search-scraper", -}); -``` - -Start the Actor with your search queries: - -```javascript -const started = await apify({ - action: "start", - actorId: "apify~google-search-scraper", - input: { queries: ["web scraping tools", "data extraction API"], maxPagesPerQuery: 1 }, - label: "google-search", -}); -``` - -Collect the results when the run completes: - -```javascript -const results = await apify({ - action: "collect", - runs: started.runs, -}); -// results.completed contains the scraped data -``` - -### Analyze Instagram profiles - -Use batching to scrape multiple profiles in a single run: - -```javascript -const started = await apify({ - action: "start", - actorId: "apify~instagram-profile-scraper", - input: { usernames: ["natgeo", "nasa", "spacex"] }, - label: "instagram-profiles", -}); - -const results = await apify({ - action: "collect", - runs: started.runs, -}); -``` - -### Multi-source research - -Start multiple Actors in parallel for broader research, then collect all results together: - -```javascript -// Start Google Search and TikTok scrapers -const googleRun = await apify({ - action: "start", - actorId: "apify~google-search-scraper", - input: { queries: ["AI trends 2026"], maxPagesPerQuery: 1 }, - label: "google", -}); - -const tiktokRun = await apify({ - action: "start", - actorId: "clockworks~tiktok-scraper", - input: { searchQueries: ["AI trends"], resultsPerPage: 20 }, - label: "tiktok", -}); - -// Collect results from both runs -const results = await apify({ - action: "collect", - runs: [...googleRun.runs, ...tiktokRun.runs], -}); -``` +- **Search for scrapers** - Ask your agent to find an Actor for any platform (for example, "find me an Instagram scraper") and it discovers the right one from the [Apify Store](https://apify.com/store). +- **Scrape any website** - Your agent can extract data from Google Search, Instagram, TikTok, YouTube, Google Maps, e-commerce sites, and more. +- **Batch multiple targets** - Scrape several URLs, profiles, or search queries in a single Actor run. One run with 5 targets is cheaper and faster than 5 separate runs. +- **Run multiple Actors in parallel** - Start scrapers for different platforms at the same time and collect all results together. +- **Delegate to sub-agents** - For complex research tasks, your agent can delegate scraping work to a sub-agent, keeping the parent agent's context focused on higher-level reasoning. :::note Actor runs may take some time -Actor execution time varies depending on the task complexity. The `collect` action polls for completion and returns results when the runs finish. Check Actor run status in [Apify Console](https://console.apify.com/) if a run takes longer than expected. +Actor execution time varies depending on the task complexity. Check Actor run status in [Apify Console](https://console.apify.com/) if a run takes longer than expected. ::: @@ -233,7 +152,7 @@ Actor execution time varies depending on the task complexity. The `collect` acti ### Authentication errors -- _Check your API token_ - Verify your Apify API token is correct by running `openclaw apify test`. You can find your token in the **API & Integrations** section of [Apify Console](https://console.apify.com/settings/integrations). +- _Check your API token_ - Verify your Apify API token is correct by running `openclaw apify status`. You can find your token in the **API & Integrations** section of [Apify Console](https://console.apify.com/settings/integrations). - _Environment variable_ - If you prefer not to store the key in config, set the `APIFY_API_KEY` environment variable instead. ### Tool not available to agents From 5daf96a35f99d3c5db1109bcf264ab9f83eb6f12 Mon Sep 17 00:00:00 2001 From: Gokdeniz Kaymak Date: Tue, 7 Apr 2026 17:17:13 +0200 Subject: [PATCH 3/6] fix: issue reporting --- sources/platform/integrations/ai/openclaw.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sources/platform/integrations/ai/openclaw.md b/sources/platform/integrations/ai/openclaw.md index 98aa54cb65..a9b0a00ce5 100644 --- a/sources/platform/integrations/ai/openclaw.md +++ b/sources/platform/integrations/ai/openclaw.md @@ -165,9 +165,14 @@ Actor execution time varies depending on the task complexity. Check Actor run st - _Check run logs_ - If an Actor run fails, check the logs in [Apify Console](https://console.apify.com/) for details. - _Verify input schema_ - Use `action: "discover"` with the `actorId` to check what input parameters the Actor expects. +### Report an issue + +If you encounter a bug or have a feature request, [open an issue](https://github.com/apify/apify-openclaw-plugin/issues) on the plugin's GitHub repository. + ## Resources - [OpenClaw documentation](https://docs.openclaw.io/) - Official OpenClaw docs - [Apify Actors documentation](https://docs.apify.com/platform/actors) - Learn about Apify Actors - [Apify Store](https://apify.com/store) - Browse 20,000+ pre-built Actors - [Apify API reference](https://docs.apify.com/api/v2) - Full API documentation +- [Apify OpenClaw plugin on GitHub](https://github.com/apify/apify-openclaw-plugin) - Source code and issue tracker From 6a4a5a26ff10c1214fccd93895582e8fbeefc3ab Mon Sep 17 00:00:00 2001 From: Gokdeniz Kaymak Date: Tue, 7 Apr 2026 17:24:29 +0200 Subject: [PATCH 4/6] fix: table md fix --- sources/platform/integrations/ai/openclaw.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/platform/integrations/ai/openclaw.md b/sources/platform/integrations/ai/openclaw.md index a9b0a00ce5..387ce4067f 100644 --- a/sources/platform/integrations/ai/openclaw.md +++ b/sources/platform/integrations/ai/openclaw.md @@ -106,7 +106,7 @@ openclaw apify status The plugin registers a single `apify` tool with three actions: | Action | Purpose | -|--------|---------| +| ------ | ------- | | `discover` | Search the Apify Store for Actors by keyword, or fetch an Actor's input schema | | `start` | Run an Actor asynchronously and get a `runId` back | | `collect` | Retrieve results from completed Actor runs | @@ -142,7 +142,7 @@ Actor execution time varies depending on the task complexity. Check Actor run st ## Configuration options | Option | Type | Default | Description | -|--------|------|---------|-------------| +| ------ | ---- | ------- | ----------- | | `apiKey` | string | `APIFY_API_KEY` env var | Your Apify API token | | `baseUrl` | string | `https://api.apify.com` | Apify API base URL | | `maxResults` | number | `20` | Maximum items to return per dataset (1-1000) | From ebff344d22290ad5392dfb75b99d3abcd5e302cd Mon Sep 17 00:00:00 2001 From: Gokdeniz Kaymak Date: Wed, 8 Apr 2026 16:36:55 +0200 Subject: [PATCH 5/6] docs: fix code review stuff --- sources/platform/integrations/ai/openclaw.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sources/platform/integrations/ai/openclaw.md b/sources/platform/integrations/ai/openclaw.md index 387ce4067f..bb04338ae8 100644 --- a/sources/platform/integrations/ai/openclaw.md +++ b/sources/platform/integrations/ai/openclaw.md @@ -1,7 +1,7 @@ --- title: OpenClaw integration sidebar_label: OpenClaw -description: Learn how to integrate Apify with OpenClaw to give your AI agents web scraping and data extraction capabilities using 20,000+ pre-built Actors. +description: Learn how to integrate Apify with OpenClaw to give your AI agents web scraping and data extraction capabilities using pre-built Actors. sidebar_position: 14 slug: /integrations/openclaw toc_min_heading_level: 2 @@ -10,9 +10,9 @@ toc_max_heading_level: 4 import ThirdPartyDisclaimer from '@site/sources/_partials/_third-party-integration.mdx'; -[OpenClaw](https://openclaw.io) is an open-source AI agent orchestration platform that enables you to build, deploy, and manage autonomous AI agents. The Apify plugin for OpenClaw gives your agents access to 20,000+ pre-built Actors for web scraping, data extraction, and automation through a single `apify` tool. +[OpenClaw](https://openclaw.io) is an open-source AI agent orchestration platform that enables you to build, deploy, and manage autonomous AI agents. The Apify plugin for OpenClaw gives your agents access to thousands of pre-built Actors for web scraping, data extraction, and automation through a single `apify` tool. -For more details about OpenClaw, refer to the [official documentation](https://docs.openclaw.io/). +For more details about OpenClaw, refer to the [official documentation](https://docs.openclaw.ai/). @@ -33,7 +33,7 @@ Before integrating Apify with OpenClaw, you'll need: - _An Apify account_ - If you don't have one, [sign up here](https://console.apify.com/sign-up). - _Apify API token_ - Get your token from the **API & Integrations** section in [Apify Console](https://console.apify.com/settings/integrations). - _OpenClaw_ - Version 2026.1.0 or later. Install from the [OpenClaw website](https://openclaw.io/). -- _Node.js 22+_ - Required to run the plugin. +- _Node.js 22+_ - Required to run the plugin. Install from [nodejs.org](https://nodejs.org/en/download/). ## Set up the Apify plugin @@ -171,8 +171,8 @@ If you encounter a bug or have a feature request, [open an issue](https://github ## Resources -- [OpenClaw documentation](https://docs.openclaw.io/) - Official OpenClaw docs +- [OpenClaw documentation](https://docs.openclaw.ai/) - Official OpenClaw docs - [Apify Actors documentation](https://docs.apify.com/platform/actors) - Learn about Apify Actors -- [Apify Store](https://apify.com/store) - Browse 20,000+ pre-built Actors +- [Apify Store](https://apify.com/store) - Browse pre-built Actors - [Apify API reference](https://docs.apify.com/api/v2) - Full API documentation - [Apify OpenClaw plugin on GitHub](https://github.com/apify/apify-openclaw-plugin) - Source code and issue tracker From 0359e22cce8d714236f523fcb2de8099ac644bbb Mon Sep 17 00:00:00 2001 From: Marcel Rebro Date: Mon, 13 Apr 2026 15:55:33 +0200 Subject: [PATCH 6/6] direct review --- sources/platform/integrations/ai/openclaw.md | 39 +++++++++++++------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/sources/platform/integrations/ai/openclaw.md b/sources/platform/integrations/ai/openclaw.md index bb04338ae8..46857bd402 100644 --- a/sources/platform/integrations/ai/openclaw.md +++ b/sources/platform/integrations/ai/openclaw.md @@ -1,11 +1,10 @@ --- title: OpenClaw integration sidebar_label: OpenClaw -description: Learn how to integrate Apify with OpenClaw to give your AI agents web scraping and data extraction capabilities using pre-built Actors. +description: Learn how to integrate Apify with OpenClaw to give your AI agents access to web scraping, data extraction, and automation using pre-built Actors. sidebar_position: 14 slug: /integrations/openclaw toc_min_heading_level: 2 -toc_max_heading_level: 4 --- import ThirdPartyDisclaimer from '@site/sources/_partials/_third-party-integration.mdx'; @@ -16,7 +15,9 @@ For more details about OpenClaw, refer to the [official documentation](https://d -## TLDR +## Quick start + +Install the plugin, run the setup wizard, and restart the gateway: ```bash openclaw plugins install @apify/apify-openclaw-plugin @@ -24,6 +25,8 @@ openclaw apify setup openclaw gateway restart ``` +Watch a quick demo of the Apify plugin for OpenClaw: + ## Prerequisites @@ -37,12 +40,22 @@ Before integrating Apify with OpenClaw, you'll need: ## Set up the Apify plugin +Setting up the plugin involves three steps: + +1. [Install the plugin](#install-the-plugin) +1. [Configure your API token](#configure-with-interactive-setup-recommended) (interactively or [manually](#configure-manually)) +1. [Verify the setup](#verify-the-setup) + ### Install the plugin +Use the OpenClaw CLI to install the Apify plugin from the plugin registry: + ```bash openclaw plugins install @apify/apify-openclaw-plugin ``` +This downloads the plugin and registers it with your OpenClaw installation. + ### Configure with interactive setup (recommended) Run the setup wizard to configure your API key: @@ -51,7 +64,7 @@ Run the setup wizard to configure your API key: openclaw apify setup ``` -The wizard prompts you for your Apify API token, verifies the connection, and writes the configuration to your OpenClaw config file. +The wizard prompts you for your Apify API token, verifies the connection, and writes the configuration to your OpenClaw config file. You can find your token in the **API & Integrations** section of [Apify Console](https://console.apify.com/settings/integrations). After setup, restart the gateway to load the plugin: @@ -61,7 +74,7 @@ openclaw gateway restart ### Configure manually -Alternatively, add the plugin configuration directly to your `~/.openclaw/config.json`: +If you prefer to skip the wizard, add the plugin configuration directly to your `~/.openclaw/config.json`: ```json { @@ -101,13 +114,13 @@ Check your configuration: openclaw apify status ``` -## How the Apify tool works +## Apify tool overview The plugin registers a single `apify` tool with three actions: | Action | Purpose | | ------ | ------- | -| `discover` | Search the Apify Store for Actors by keyword, or fetch an Actor's input schema | +| `discover` | Search Apify Store for Actors by keyword, or fetch an Actor's input schema | | `start` | Run an Actor asynchronously and get a `runId` back | | `collect` | Retrieve results from completed Actor runs | @@ -121,17 +134,17 @@ discover (search) -> discover (schema) -> start -> collect ### Batch multiple targets -Most Actors accept arrays in their input (for example, `startUrls`, `queries`, `usernames`). Always batch multiple targets into a single run - one run with 5 URLs is cheaper and faster than 5 separate runs. +Most Actors accept arrays in their input (for example, `startUrls`, `queries`, `usernames`). As a best practice, batch multiple targets into a single run - one run with 5 URLs is cheaper and faster than 5 separate runs. ## What you can do Once the plugin is set up, your OpenClaw agents can: -- **Search for scrapers** - Ask your agent to find an Actor for any platform (for example, "find me an Instagram scraper") and it discovers the right one from the [Apify Store](https://apify.com/store). -- **Scrape any website** - Your agent can extract data from Google Search, Instagram, TikTok, YouTube, Google Maps, e-commerce sites, and more. -- **Batch multiple targets** - Scrape several URLs, profiles, or search queries in a single Actor run. One run with 5 targets is cheaper and faster than 5 separate runs. -- **Run multiple Actors in parallel** - Start scrapers for different platforms at the same time and collect all results together. -- **Delegate to sub-agents** - For complex research tasks, your agent can delegate scraping work to a sub-agent, keeping the parent agent's context focused on higher-level reasoning. +- _Search for scrapers_ - Ask your agent to find an Actor for any platform (for example, "find me an Instagram scraper") and it discovers the right one from [Apify Store](https://apify.com/store). +- _Scrape any website_ - Your agent can extract data from Google Search, Instagram, TikTok, YouTube, Google Maps, e-commerce sites, and more. +- _Batch multiple targets_ - Scrape several URLs, profiles, or search queries in a single Actor run. One run with 5 targets is cheaper and faster than 5 separate runs. +- _Run multiple Actors in parallel_ - Start scrapers for different platforms at the same time and collect all results together. +- _Delegate to sub-agents_ - For complex research tasks, your agent can delegate scraping work to a sub-agent, keeping the parent agent's context focused on higher-level reasoning. :::note Actor runs may take some time