ClawLink

How to connect Apify to Hermes Agent

Connect Apify to Hermes with ClawLink: paste your Apify key once and 112 tools work from chat. No MCP server to run, nothing stored on your machine.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Apify
Apify
ApifyAPI KEYMCP

Run web scrapers, manage Actors, datasets, and schedules. Once connected, Hermes Agent can read and act on Apify from chat — pairing, token refresh, and tool wiring handled for you.

112 tools

Most guides for giving Hermes Agent Apify access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Apify setup: pair once in the browser and your always-on Hermes agent can act on Apify for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into Hermes to install the plugin and pair your account.

Prompt for Hermes
Set up ClawLink for Hermes and tell me when it's ready.

1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable

2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin

3. I'll approve it in my browser, then reply "approved".

4. When I say approved, finish setup:
hermes clawlink finish

5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

Setup

It takes three steps to connect Hermes to Apify.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect Apify

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Apify?"

Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test

Then connect Apify in the ClawLink dashboard — paste your Apify API key once.

Verify the connection by asking Hermes:

Start the Actor <actor id> with apify_run_actor_sync using this input: <input>. When it finishes, read the output with apify_get_dataset_items and give me the rows as a table.

Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Apify is connected in the dashboard, that agent calls the same 112 Apify tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Apify MCP for Hermes

Looking for a Apify MCP server for Hermes Agent? ClawLink connects Apify to Hermes Agent and exposes 112 Apify tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Apify integration works the same way.

Apify's API is one key, and the question is where that key lives. The usual answer is an environment variable on whatever machine runs your agent, plus an MCP server you keep running and updating. Here you paste the key once into a hosted setup page, ClawLink stores it server-side, and Hermes Agent — the MCP-native runtime from Nous Research — can call the 112 Apify tools below from chat. There is nothing running on your machine, no .env holding a token that outlives the laptop it was written on, and revoking is a click in the dashboard rather than a key you have to remember to rotate.

What the Hermes Agent Apify integration can do

112 Apify tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 112.

30 of 112 Apify tools for Hermes

ToolWhat it does
Actor task run sync get apify_actor_task_run_sync_getRun a task synchronously and get results
Acts get apify_acts_getList all Actors
Create task apify_create_taskCreate a new Actor task
Datasets get apify_datasets_getList all datasets
Get actor apify_get_actorGet Actor details
Get dataset items apify_get_dataset_itemsGet items from a dataset
Get key value record apify_get_key_value_recordGet a record from a key-value store
Get list of runs apify_get_list_of_runsList Actor runs
Get list of tasks apify_get_list_of_tasksList all tasks
Get log apify_get_logGet Actor run logs
Key value stores get apify_key_value_stores_getList all key-value stores
Request queues get apify_request_queues_getList all request queues
Run actor apify_run_actorRun an Actor asynchronously
Run actor sync apify_run_actor_syncRun an Actor synchronously and get results
Run task apify_run_taskRun a task asynchronously
Schedules get apify_schedules_getList all schedules
Users me get apify_users_me_getGet current user account data
Users me usage monthly get apify_users_me_usage_monthly_getGet monthly usage summary
Act runs last get apify_act_runs_last_getGet the most recent run of a specific Actor
Act version env var get apify_act_version_env_var_getGet environment variable details for a specific Actor version
Act version env vars get apify_act_version_env_vars_getGet the list of environment variables for a specific Actor version
Act version get apify_act_version_getGet details about a specific version of an Actor
Act versions get apify_act_versions_getGet the list of versions of a specific Actor
Act webhooks get apify_act_webhooks_getGet a list of webhooks for a specific Actor
Actor build get apify_actor_build_getGet detailed information about a specific Actor build
Actor build log get apify_actor_build_log_getRetrieve the log file for a specific Actor build
Actor builds get apify_actor_builds_getGet a paginated list of all builds for a user
Actor run get apify_actor_run_getGet details about a specific Actor run
Actor task get apify_actor_task_getGet complete details about an Actor task
Actor task run sync get dataset items get apify_actor_task_run_sync_get_dataset_items_getRun an actor task synchronously and retrieve its dataset items

Try it: find the Apify tool you need

Browse the 30 Apify tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Start the Actor <actor id> with apify_run_actor_sync using this input: <input>. When it finishes, read the output with apify_get_dataset_items and give me the rows as a table.

List my recent runs with apify_get_list_of_runs, find the last one for <actor>, and tell me its status, duration, and how many items it produced. Pull apify_get_log if it failed.

Show me my saved tasks with apify_get_list_of_tasks, then run "<task name>" with apify_run_task and tell me the run id.

Call apify_users_me_usage_monthly_get and tell me how much of my monthly Apify usage is consumed so far, before we start anything large.

How the Apify tools behave

The distinctions that decide whether a prompt returns data or an empty result.

  • Sync and async runs are different tools. apify_run_actor starts a run and returns; apify_run_actor_sync waits for completion and gives you the result. In chat, the synchronous one is usually what you want for quick Actors.
  • Results live in the dataset, not the run. apify_get_dataset_items reads the rows. Expecting the run tool to return scraped records is the most common wrong assumption on this provider.
  • Key-value stores are the other output shape. Some Actors write named records instead of dataset rows; apify_get_key_value_record fetches those.
  • apify_get_log explains a run that produced nothing. Before assuming the connection is broken, read the log for the run in question.
  • Runs cost compute units on your account. apify_users_me_usage_monthly_get is the check to run before launching something large, and a good habit to build into prompts.
  • Tasks are saved Actor configurations. apify_get_list_of_tasks and apify_run_task re-run something already set up, which is more predictable than asking the agent to reconstruct the input each time.

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Apify working from chat.

ManualClawLink
Credential handlingCollect, validate, store, and rotate the Apify API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected Apify account becomes available to the agent without you building credential management.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Apify.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Apify actions to the runtime in a format your agent can reliably use.112 tools for Apify are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Apify to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Apify in the browser, and the 112 tools above work from chat. There is no SDK and no config file, and the Apify key you paste at setup is stored server-side rather than kept in your environment. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use Apify

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.

Connection succeeds but no tools appear

Reconnect Apify from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Apify tools

Apify tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Apify call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Apify returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

Apify returns 401 or 403 although the connection shows as connected

Because this is a token integration, start with the token itself rather than with account access. Apify tokens carry scopes, and a scoped token that can read datasets may be unable to start Actor runs, which produces a connection that looks healthy and fails only on writes — the answer is a token with the permissions the work needs, re-pasted from the dashboard. A rotated or deleted token in Apify produces a hard failure across every call instead, which is the easiest case to recognise. Once the token is ruled out, the remaining cause is resource ownership: Actors, tasks, and datasets belong to accounts, so a run or dataset id from someone else's account returns a permission error rather than a not-found, as does a placeholder id copied from documentation.

Ask the agent to diagnose it:

Call apify_users_me_get and tell me which Apify account this connection is acting as. Then run apify_get_list_of_tasks and tell me whether it succeeds. Do not retry the failed call yet.
An Apify tool is not found, or the tools do not appear in Hermes at all

Two different problems that look alike. If Hermes shows no Apify tools whatsoever, pairing or the connection is the issue: confirm the plugin is installed with --enable, that hermes clawlink begin and hermes clawlink finish both completed, and that Apify shows as connected in the dashboard. If some tools work and one name fails, that name is wrong rather than missing, and the error lists the closest real ones. There is also a timing case unique to this setup: tool schemas load on demand rather than shipping with the plugin, so the very first Apify call in a fresh session can arrive before the catalog does — retry once. None of this involves editing a client config file, which is what most search results for this symptom describe.

Ask the agent to diagnose it:

List the Apify tools you actually have access to. If there are none, tell me that plainly. If there are, tell me which one starts an Actor run and use that exact name.
An Actor run finishes but the agent says there is no data

Almost always the run-versus-dataset distinction. Starting an Actor and reading its output are separate calls, so an agent that runs apify_run_actor and stops has a successful run and no records. Ask it to take the run's dataset id and call apify_get_dataset_items. The second cause is timing: apify_run_actor returns as soon as the run starts, so reading the dataset immediately gives you an empty or partial set for anything that takes more than a moment. Either use apify_run_actor_sync, which waits, or poll the run's status before reading. If the dataset really is empty, apify_get_log for that run tells you what the Actor did.

Ask the agent to diagnose it:

Give me the run id and its status, then call apify_get_dataset_items for that run's dataset and tell me how many items came back. If it is zero, pull apify_get_log for the run.
API key setup works but results look incomplete

Double-check that the API key for Apify has the right scopes or account access. A valid key can still be too limited for some reads or writes.

FAQ

Is there a Hermes Agent Apify integration?

Yes. ClawLink is the fastest way to connect Hermes to Apify: link your Apify account once in the browser and Hermes Agent can call the Apify API through 112 ready-made tools — no custom code or token handling.

How do I connect Apify to Hermes with ClawLink?

Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Apify in the dashboard and Hermes can use it from the next message — no config files, and the Apify key you paste is stored server-side instead of in your environment.

How long does it take to connect Apify to Hermes Agent?

About two minutes. Sign in, click Connect next to Apify in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Apify up myself?

The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Apify working from chat.

Do I paste an Apify API key, or is this OAuth?

You paste a key, once, on the hosted setup page — Apify authenticates with an API token rather than OAuth, so anything promising a keyless Apify connection is describing something else. What changes is where the token ends up. Instead of sitting in an environment file on your machine, or in a config for an MCP server you run, it is stored server-side and used on your behalf when the agent calls a tool. You can revoke it from the ClawLink dashboard, and rotating it in Apify means updating it in one place rather than everywhere you deployed it.

Can the agent actually run Actors, or only read them?

Run them. There are separate tools for the two shapes that matter: googling this usually turns up only the async pattern, but here apify_run_actor starts a run and returns immediately, while apify_run_actor_sync waits for the run to finish and hands back the result. The synchronous one is what you want in chat when the Actor is quick, because the agent can act on the output in the same turn. For long scrapes, start the run, then poll with apify_get_list_of_runs and pull results from the dataset when it completes.

How does the agent get the scraped data back?

Through the dataset, not through the run. An Actor run produces a dataset, and apify_get_dataset_items is what reads the rows out of it — a common first mistake is expecting the run tool itself to return the scraped records. For Actors that write to a key-value store instead, apify_get_key_value_record fetches a named record. If a run looks successful but the agent reports no data, the dataset is the place to look before assuming the Actor failed.

Will the agent burn through my Apify credits?

It can, and this is the thing worth being deliberate about, because Actor runs consume compute units on your Apify account exactly as they would if you started them yourself. An agent asked an open-ended question may start several runs while exploring. Two habits help: name the Actor and the input explicitly rather than asking the agent to find something that scrapes X, and have it check apify_users_me_usage_monthly_get when you want to know where the month stands before launching anything large.

Hermes paired but still can't use Apify

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.