InstantClaw

Enable Web Search

Give your agent access to up-to-date information. No more relying on training data alone.

Copy the prompt below and send it to your agent in Telegram or Slack. Your agent will guide you step by step.

Web search lets your OpenClaw agent answer questions about the real world—news, weather, stocks, facts—instead of relying only on its training data. OpenClaw supports several providers: Brave, Perplexity, Gemini, Grok, and Kimi. Pick one and add your API key.

No OpenClaw yet?

We spin it up in under a minute. No SSH. Then you add web search.

01

Choose a provider and get an API key

OpenClaw supports these web search providers. Click any to get an API key:

Brave: choose "Data for Search" (not "Data for AI"). Gemini uses GEMINI_API_KEY, Grok uses XAI_API_KEY, Kimi uses KIMI_API_KEY or MOONSHOT_API_KEY.

02

Send the prompt to your agent

Security: Anything you type in Telegram or Slack can stay in chat history and provider logs (including observability). If you can edit ~/.openclaw/.env on the gateway yourself, put the key there and only ask the agent to verify web search. Otherwise use the prompts below so the agent follows the real config schema and does not write broken keys.

Open your Telegram or Slack chat with your OpenClaw agent and send one block for your provider:

Brave
I want web search configured on this gateway.

Step 0: Open the real gateway config on disk (do not guess the path). The usual location is ~/.openclaw/openclaw.json for the account that runs the gateway. If this workspace has AGENTS.md, read any "OpenClaw gateway config" section for the exact path on this host.

Step 1: Run the gateway tool's config.schema.lookup on tools.web.search, then tools.web, then plugins.entries.<provider> (e.g. plugins.entries.brave for Brave). Only patch keys the schema lists for this OpenClaw version.

Secrets: Prefer the provider standard env var in ~/.openclaw/.env with chmod 600 when the gateway loads dotenv; otherwise embed only schema-valid JSON fields via config.patch.

Finish: Exactly one gateway restart after a valid patch; wait until healthy (journalctl / openclaw doctor). Then run one minimal web_search test. Do not stack overlapping restarts.
Brave-specific:
- If schema.lookup shows apiKey as a sibling of provider under tools.web.search, use the flat shape: tools.web.search.enabled=true, provider="brave", apiKey set on tools.web.search (same level as provider), and tools.web.search.brave as empty object {}.
- The API key belongs on tools.web.search, not under tools.web.search.brave.apiKey, unless the schema explicitly documents that nested path (it usually does not). Wrong nesting breaks config reload or gateway start.
- If the schema lists Brave only under plugins.entries.brave (e.g. config.webSearch.*), patch those paths only and do not invent tools.web.search.brave.apiKey.
- Optional: tools.web.fetch.enabled=true helps follow-up page reads.
Provider: Brave Search API ("Data for Search"). My API key: [paste your key once here]
Perplexity
I want web search configured on this gateway.

Step 0: Open the real gateway config on disk (do not guess the path). The usual location is ~/.openclaw/openclaw.json for the account that runs the gateway. If this workspace has AGENTS.md, read any "OpenClaw gateway config" section for the exact path on this host.

Step 1: Run the gateway tool's config.schema.lookup on tools.web.search, then tools.web, then plugins.entries.<provider> (e.g. plugins.entries.brave for Brave). Only patch keys the schema lists for this OpenClaw version.

Secrets: Prefer the provider standard env var in ~/.openclaw/.env with chmod 600 when the gateway loads dotenv; otherwise embed only schema-valid JSON fields via config.patch.

Finish: Exactly one gateway restart after a valid patch; wait until healthy (journalctl / openclaw doctor). Then run one minimal web_search test. Do not stack overlapping restarts.
Provider: Perplexity. Run config.schema.lookup on plugins.entries aligned with Perplexity if tools.web differs. Prefer PERPLEXITY_API_KEY in ~/.openclaw/.env (or schema-correct JSON only). My API key: [paste your key once here]
Gemini
I want web search configured on this gateway.

Step 0: Open the real gateway config on disk (do not guess the path). The usual location is ~/.openclaw/openclaw.json for the account that runs the gateway. If this workspace has AGENTS.md, read any "OpenClaw gateway config" section for the exact path on this host.

Step 1: Run the gateway tool's config.schema.lookup on tools.web.search, then tools.web, then plugins.entries.<provider> (e.g. plugins.entries.brave for Brave). Only patch keys the schema lists for this OpenClaw version.

Secrets: Prefer the provider standard env var in ~/.openclaw/.env with chmod 600 when the gateway loads dotenv; otherwise embed only schema-valid JSON fields via config.patch.

Finish: Exactly one gateway restart after a valid patch; wait until healthy (journalctl / openclaw doctor). Then run one minimal web_search test. Do not stack overlapping restarts.
Provider: Gemini (Google Search grounding path). Prefer GEMINI_API_KEY in ~/.openclaw/.env (or schema-correct JSON only). My API key: [paste your key once here]
Grok
I want web search configured on this gateway.

Step 0: Open the real gateway config on disk (do not guess the path). The usual location is ~/.openclaw/openclaw.json for the account that runs the gateway. If this workspace has AGENTS.md, read any "OpenClaw gateway config" section for the exact path on this host.

Step 1: Run the gateway tool's config.schema.lookup on tools.web.search, then tools.web, then plugins.entries.<provider> (e.g. plugins.entries.brave for Brave). Only patch keys the schema lists for this OpenClaw version.

Secrets: Prefer the provider standard env var in ~/.openclaw/.env with chmod 600 when the gateway loads dotenv; otherwise embed only schema-valid JSON fields via config.patch.

Finish: Exactly one gateway restart after a valid patch; wait until healthy (journalctl / openclaw doctor). Then run one minimal web_search test. Do not stack overlapping restarts.
Provider: Grok. Prefer XAI_API_KEY in ~/.openclaw/.env (or schema-correct JSON only). My API key: [paste your key once here]
Kimi
I want web search configured on this gateway.

Step 0: Open the real gateway config on disk (do not guess the path). The usual location is ~/.openclaw/openclaw.json for the account that runs the gateway. If this workspace has AGENTS.md, read any "OpenClaw gateway config" section for the exact path on this host.

Step 1: Run the gateway tool's config.schema.lookup on tools.web.search, then tools.web, then plugins.entries.<provider> (e.g. plugins.entries.brave for Brave). Only patch keys the schema lists for this OpenClaw version.

Secrets: Prefer the provider standard env var in ~/.openclaw/.env with chmod 600 when the gateway loads dotenv; otherwise embed only schema-valid JSON fields via config.patch.

Finish: Exactly one gateway restart after a valid patch; wait until healthy (journalctl / openclaw doctor). Then run one minimal web_search test. Do not stack overlapping restarts.
Provider: Kimi. Prefer KIMI_API_KEY or MOONSHOT_API_KEY in ~/.openclaw/.env (or schema-correct JSON only). My API key: [paste your key once here]

If the agent still stalls, send a short follow-up: run config.schema.lookup on tools.web.search and plugins.entries.brave. For Brave, if the schema lists apiKey next to provider under tools.web.search, use that flat shape; do not nest under tools.web.search.brave.apiKey unless the schema explicitly shows it. Swap brave for your provider for non-Brave setups.

Pro tip

You can copy this entire tutorial and send it to your agent. Your agent will walk you through the setup step by step.

No OpenClaw yet?

We spin it up in under a minute. No SSH. Then you add web search.

InstantClaw