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.


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.
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.
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.
1Install and pair
Install the ClawLink plugin, then pair Hermes with a one-time browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable- 2
Connect Apify
Paste your API key in the dashboard.
- 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 testThen 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 loginlogin 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
| Tool | What it does |
|---|---|
Actor task run sync get apify_actor_task_run_sync_get | Run a task synchronously and get results |
Acts get apify_acts_get | List all Actors |
Create task apify_create_task | Create a new Actor task |
Datasets get apify_datasets_get | List all datasets |
Get actor apify_get_actor | Get Actor details |
Get dataset items apify_get_dataset_items | Get items from a dataset |
Get key value record apify_get_key_value_record | Get a record from a key-value store |
Get list of runs apify_get_list_of_runs | List Actor runs |
Get list of tasks apify_get_list_of_tasks | List all tasks |
Get log apify_get_log | Get Actor run logs |
Key value stores get apify_key_value_stores_get | List all key-value stores |
Request queues get apify_request_queues_get | List all request queues |
Run actor apify_run_actor | Run an Actor asynchronously |
Run actor sync apify_run_actor_sync | Run an Actor synchronously and get results |
Run task apify_run_task | Run a task asynchronously |
Schedules get apify_schedules_get | List all schedules |
Users me get apify_users_me_get | Get current user account data |
Users me usage monthly get apify_users_me_usage_monthly_get | Get monthly usage summary |
Act runs last get apify_act_runs_last_get | Get the most recent run of a specific Actor |
Act version env var get apify_act_version_env_var_get | Get environment variable details for a specific Actor version |
Act version env vars get apify_act_version_env_vars_get | Get the list of environment variables for a specific Actor version |
Act version get apify_act_version_get | Get details about a specific version of an Actor |
Act versions get apify_act_versions_get | Get the list of versions of a specific Actor |
Act webhooks get apify_act_webhooks_get | Get a list of webhooks for a specific Actor |
Actor build get apify_actor_build_get | Get detailed information about a specific Actor build |
Actor build log get apify_actor_build_log_get | Retrieve the log file for a specific Actor build |
Actor builds get apify_actor_builds_get | Get a paginated list of all builds for a user |
Actor run get apify_actor_run_get | Get details about a specific Actor run |
Actor task get apify_actor_task_get | Get complete details about an Actor task |
Actor task run sync get dataset items get apify_actor_task_run_sync_get_dataset_items_get | Run 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_actorstarts a run and returns;apify_run_actor_syncwaits 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_itemsreads 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_recordfetches those. apify_get_logexplains 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_getis 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_tasksandapify_run_taskre-run something already set up, which is more predictable than asking the agent to reconstruct the input each time.
ClawLink vs. building it yourself
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.
| Manual | ClawLink | |
|---|---|---|
| Credential handling | Collect, 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 maintenance | You 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 usability | You 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. |
ClawLink vs. Composio
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.
Related
Hermes SafetyCulture integration
SafetyCulture (formerly iAuditor) is a workplace operations platform that enables teams to conduct digital inspections, manage audits, track issues, schedule tasks, and maintain compliance through mobile and web applications.
Hermes LaunchDarkly integration
A feature management platform that helps teams build better software faster using feature flags.
Crowdin tools
Manage translations, localization projects, and language resources