How to connect Firecrawl to Hermes Agent
Connect Firecrawl to Hermes with ClawLink: paste your Firecrawl key once and 29 tools work from chat. No MCP server to run, nothing stored on your machine.


Scrape websites, crawl pages, extract structured data, and search the web. Once connected, Hermes Agent can read and act on Firecrawl from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent Firecrawl 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 Firecrawl setup: pair once in the browser and your always-on Hermes agent can act on Firecrawl 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 Firecrawl.
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 Firecrawl
Paste your API key in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with Firecrawl?"
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 Firecrawl in the ClawLink dashboard — paste your Firecrawl API key once.
Verify the connection by asking Hermes:
Run firecrawl_credit_usage_get first and tell me the team credit state, then scrape <url> with firecrawl_scrape and summarize the main content in under 300 words.
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 Firecrawl is connected in the dashboard, that agent calls the same 29 Firecrawl tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
Firecrawl MCP for Hermes
Looking for a Firecrawl MCP server for Hermes Agent? ClawLink connects Firecrawl to Hermes Agent and exposes 29 Firecrawl tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Firecrawl integration works the same way.
Search results for connecting Firecrawl to Hermes mostly describe a different Hermes than this page. They mean Nous Research's Hermes Agent, configured with FIRECRAWL_API_KEY in ~/.hermes/.env and hermes setup tools. This page is for Hermes Agent as the CLI agent from the OpenClaw family, the one that pairs through hermes plugins install and hermes clawlink begin, and it connects Firecrawl with one pasted key instead of an environment file. And that key has a new competitor: Firecrawl Keyless, Firecrawl's own no-key mode, which gives every account 1,000 free credits a month with agents self-onboarding. Keyless is real and it is free, but it is a capped tier: a monthly credit grant, a rate-limited surface, and features gated behind the paid product. The 29 tools here run on your own Firecrawl key and balance, so a scrape-heavy agent is not capped by the free grant, and the key lives server-side rather than in a file on your machine.
What the Hermes Agent Firecrawl integration can do
29 Firecrawl tools are ready for Hermes Agent once the account is connected. The 28 below are the ones people reach for most; your agent can call all 29.
28 of 29 Firecrawl tools for Hermes
| Tool | What it does |
|---|---|
Batch scrape firecrawl_batch_scrape | Scrape multiple URLs in batch with concurrent processing |
Batch scrape cancel firecrawl_batch_scrape_cancel | Cancel a running batch scrape job |
Crawl firecrawl_crawl | Initiate a web crawl from a given URL with filtering and extraction rules |
Crawl cancel firecrawl_crawl_cancel | Cancel an active or queued web crawl job |
Crawl get firecrawl_crawl_get | Retrieve the status and results of a crawl job |
Crawl v2 firecrawl_crawl_v2 | Initiate a Firecrawl v2 web crawl with enhanced features and natural language configuration |
Credit usage get firecrawl_credit_usage_get | Get current team credit usage information |
Extract firecrawl_extract | Extract structured data from web pages using natural language or a JSON schema |
Extract get firecrawl_extract_get | Retrieve the status and results of an extract job |
Get agent status firecrawl_get_agent_status | Get the status and results of an agent job |
Llms txt generate firecrawl_llms_txt_generate | Generate an LLMs.txt file for a website |
Map multiple URLS based on options firecrawl_map_multiple_urls_based_on_options | Map a website by discovering URLs from a starting base URL |
Scrape firecrawl_scrape | Scrape a publicly accessible URL and retrieve content in specified formats |
Search firecrawl_search | Search the web and scrape content from top results |
Start agent firecrawl_start_agent | Start an agent job for agentic web extraction with multi-page navigation |
Batch scrape get firecrawl_batch_scrape_get | Retrieves the current status and results of a batch scrape job using the job ID |
Batch scrape get errors firecrawl_batch_scrape_get_errors | Retrieve error details from a batch scrape job, including failed URLs and URLs blocked by |
Crawl get errors firecrawl_crawl_get_errors | Retrieve errors from a Firecrawl crawl job |
Crawl list active firecrawl_crawl_list_active | Retrieve all active crawl jobs for the authenticated team |
Crawl params preview firecrawl_crawl_params_preview | Preview crawl parameters before starting a crawl by generating optimal configuration from |
Credit usage get historical firecrawl_credit_usage_get_historical | Retrieve historical team credit usage on a monthly basis |
Get deep research status firecrawl_get_deep_research_status | Retrieves the status and results of a deep research job by its ID |
Get the status of a crawl job firecrawl_get_the_status_of_a_crawl_job | Retrieves the current status, progress, and details of a web crawl job, using the job ID |
Llms txt get firecrawl_llms_txt_get | Get the status and results of an LLMs.txt generation job |
Queue get firecrawl_queue_get | Retrieve metrics about the team's scrape queue |
Token usage get firecrawl_token_usage_get | Retrieve the current team's token usage and balance information for Firecrawl's Extract feature |
Token usage get historical firecrawl_token_usage_get_historical | Retrieve historical team token usage on a monthly basis |
Agent cancel firecrawl_agent_cancel | Cancel an in-progress agent job by its ID |
Try it: find the Firecrawl tool you need
Browse the 28 Firecrawl tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Run firecrawl_credit_usage_get first and tell me the team credit state, then scrape <url> with firecrawl_scrape and summarize the main content in under 300 words.
Use firecrawl_search for <query> with a max_results of 10, then summarize what the top results say and give me the URLs so I can follow up.
Use firecrawl_extract on <url> with a schema for product name, price, and availability. If the extraction fails, quote the error and which field broke it.
Run firecrawl_map_multiple_urls_based_on_options on <domain> with maxUrls 50 and show me the URL tree grouped by path. Do not start a crawl yet.
How the Firecrawl tools behave
Details that decide whether a Firecrawl prompt is a cheap answer or a credit-burning job.
- Credits are the currency, and the agent can read its own balance.
firecrawl_credit_usage_getreports the team's remaining credits, andfirecrawl_token_usage_getreports the Extract token balance. Put a credit check before any large job in the prompt. - Crawl and batch are job-shaped, not request-shaped.
firecrawl_crawl,firecrawl_crawl_v2, andfirecrawl_batch_scrapereturn job ids; results are fetched withfirecrawl_crawl_getandfirecrawl_batch_scrape_get. An agent that waits synchronously for a big crawl will stall. - Job errors are readable.
firecrawl_crawl_get_errorsandfirecrawl_batch_scrape_get_errorsreturn which URLs failed and why, which turns "the crawl failed" into a list. - Extract takes a schema or natural language.
firecrawl_extractaccepts a JSON schema or a natural-language description of the data; a schema returns consistent fields, plain language returns whatever the model decides, so the schema is the reliable shape for structured data. - Cancellation exists.
firecrawl_crawl_cancelandfirecrawl_batch_scrape_cancelstop running jobs, which is the correct response to an agent that started a job too big, not waiting for it to finish. - The agent surface exists in the tool set.
firecrawl_start_agentandfirecrawl_get_agent_statusrun multi-page agentic extraction;firecrawl_get_deep_research_statusmonitors deep research jobs. These are the credit-heavy tools, so they want explicit permission in the prompt.
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 Firecrawl working from chat.
| Manual | ClawLink | |
|---|---|---|
| Credential handling | Collect, validate, store, and rotate the Firecrawl API key yourself, then make sure every tool call uses the right account. | Users complete the hosted ClawLink setup once and the connected Firecrawl 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 Firecrawl. | 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 Firecrawl actions to the runtime in a format your agent can reliably use. | 29 tools for Firecrawl are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes Firecrawl 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 Firecrawl in the browser, and the 29 tools above work from chat. There is no SDK and no config file, and the Firecrawl 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 Firecrawl
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 Firecrawl 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 Firecrawl tools
Firecrawl 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 Firecrawl 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.
Firecrawl 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.
Firecrawl returns 403 or "insufficient permissions" although the account shows as connected
Search results teach three causes for this provider, and they are all real against a hosted connection. The first is the key itself: Firecrawl expects it as a Bearer token, and a key that is invalid, missing, or regenerated after setup fails everything from that moment, so re-paste the current key from the dashboard. The second is the account's credit or plan state: out of monthly credits, or a request that needs an endpoint the current plan does not include, both surface as a permissions-shaped error. The third is the target site: Firecrawl being blocked by the site it is trying to scrape reads as a 403 from the outside. The hosted-flow causes remain on top of those: a placeholder argument such as YOUR_ID reaching the API literally, and a stale connected account. The agent should quote the full error and which URL it was scraping before you change anything.
Ask the agent to diagnose it:
Run firecrawl_credit_usage_get and tell me the team credit state, then quote the exact error from the failed call including which URL was involved. Do not retry it yet.Firecrawl calls start failing or the agent reports being rate-limited
Firecrawl rate-limits its API and the limit interacts with the account's credit tier, and an agent that crawls aggressively is exactly the traffic shape that meets it. Keyless connections hit the capped tier fastest, which is the practical limit of the no-key route. The response is to change the shape of the work: one crawl job with clear filtering instead of many scrape calls, firecrawl_batch_scrape instead of a loop of single scrapes, and a check of firecrawl_credit_usage_get before a large job. Waiting a few minutes and retrying the same shape usually produces the same result.
Ask the agent to diagnose it:
Tell me how many Firecrawl calls you made in the last few minutes and what the crawl pattern was. Quote the exact error text. Do not call Firecrawl again until I reply.Firecrawl tools are missing, or one tool name is not found
Two failures share this symptom. If no Firecrawl tools appear at all, the connection or pairing is incomplete: confirm the plugin was installed with --enable, that hermes clawlink begin and hermes clawlink finish both ran, and that Firecrawl shows as connected in the dashboard. If most tools work and one name fails, the name is wrong rather than missing, and the error lists the closest real ones. There is also a first-call timing case: schemas load on demand, so the opening Firecrawl call in a fresh session can arrive before the catalog and needs one retry. The frame search results teach for this symptom, an MCP init failure in a client's mcpServers JSON, does not apply to a hosted setup with no local server.
Ask the agent to diagnose it:
List the Firecrawl tools you actually have access to. If there are none, say so plainly and tell me whether Firecrawl shows as connected. Do not guess tool names.API key setup works but results look incomplete
Double-check that the API key for Firecrawl 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 Firecrawl integration?
Yes. ClawLink is the fastest way to connect Hermes to Firecrawl: link your Firecrawl account once in the browser and Hermes Agent can call the Firecrawl API through 29 ready-made tools — no custom code or token handling.
How do I connect Firecrawl 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 Firecrawl in the dashboard and Hermes can use it from the next message — no config files, and the Firecrawl key you paste is stored server-side instead of in your environment.
How long does it take to connect Firecrawl to Hermes Agent?
About two minutes. Sign in, click Connect next to Firecrawl in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring Firecrawl 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 Firecrawl working from chat.
Why paste a key when Firecrawl Keyless exists?
Keyless is Firecrawl's no-key mode: 1,000 free credits a month, agents self-onboard, no key to copy. It is a real option and Google now teaches it as the answer to the no-key query. The tradeoffs are the tier itself: the credit grant is monthly, the mode is rate-limited, and advanced features are gated behind the paid product, which is why the free tier is not the shape for a standing agent that scrapes daily. A pasted key through ClawLink runs on your own Firecrawl balance and plan, so the monthly grant is not the ceiling, and the key is stored server-side rather than sitting in an environment file on a machine. Start with Keyless if the volume is light; connect the key when the agent outgrows it.
Which key does this need?
A Firecrawl API key from your Firecrawl dashboard, pasted once on the hosted setup page and held server-side. It is the same key you would put in ~/.hermes/.env in the env-file route; the difference is where it lives afterwards. Because it is server-side, rotating it in Firecrawl means updating one place, and disconnecting from the dashboard revokes the agent's use of it immediately.
Can the agent check how many credits it has left?
Yes, which is the useful part for this provider. firecrawl_credit_usage_get and firecrawl_credit_usage_get_historical read the team's credit usage, and firecrawl_token_usage_get reads the token balance for the Extract feature, so the agent can report its own budget instead of guessing. That is worth putting in a prompt before any large crawl.
What can the agent do in Firecrawl?
Scrape single pages and batches, crawl sites with filtering, extract structured data with a schema, search the web and scrape the top results, map a site's URLs, generate llms.txt files, and run agentic extraction jobs with status tracking. The crawl and batch tools are the power surface and the credit surface at once: firecrawl_crawl and firecrawl_batch_scrape are where a big job spends credits, so the credit-check tools above are the right preamble.
Hermes paired but still can't use Firecrawl
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.