How to Set Up Web Search in OpenClaw
OpenClaw's web_search tool supports 13 different search providers, from API-backed services like Brave and Tavily to free alternatives like DuckDuckGo and SearXNG. Auto-detection checks for API keys in a fixed priority order and defaults to Parallel Search (Free) when none are found. Choosing the right provider depends on your agent's workload, your budget, and whether you need structured snippets, full-page content, or AI-synthesized answers.
How OpenClaw's Web Search Actually Works
OpenClaw crossed 350,000 GitHub stars in under five months, reaching 3.2 million active users by April 2026. Yet one of the most common questions on the project's subreddit stays surprisingly basic: how do I get web search working? The gap between installing OpenClaw and running a useful web-connected agent usually comes down to one decision, which search provider to use.
OpenClaw's web access splits into two distinct tools. web_search queries a configured provider and returns structured results: titles, URLs, and text snippets. web_fetch takes a specific URL and extracts readable content as markdown. They work in sequence. Your agent searches for something, picks the most relevant URLs from the results, then fetches full page content from those URLs.
The web_search tool supports 13 different providers, spanning three categories. API-backed providers like Brave and Tavily return structured lists of results with titles, URLs, and snippets. AI-synthesized providers like Gemini and Grok return a single answer grounded in web sources, with citations. Free providers like DuckDuckGo and Parallel Search (Free) work without any API key at all.
When you don't specify a provider, OpenClaw auto-detects one by checking which API keys are present in your environment. If none are found, it falls back to Parallel Search (Free). Results are cached for 15 minutes by default to prevent duplicate API calls during a conversation.
The category distinction matters more than it looks. Structured providers give your agent raw material to reason over, letting it compare sources and pick the most relevant. Synthesized providers return a pre-digested answer that's faster to consume but harder to cross-reference. Free providers trade quality and consistency for zero-cost operation. The rest of this guide covers all 13 options and how to choose between them.
What Each of the 13 Providers Does
The 13 providers break into three groups based on what they return and what they cost. Knowing which group a provider falls into tells you most of what you need to decide.
API-Backed Providers (Structured Results)
These return a list of results with titles, URLs, and snippets. Your agent gets raw material to compare, filter, and reason over.
Brave Search is the most documented option in the OpenClaw ecosystem and has the highest auto-detection priority. It supports country, language, and freshness filtering, which helps when your agent needs results from a specific region or time window. The free tier covers roughly 1,000 queries per month.
Tavily was built for LLM workflows. Instead of raw HTML snippets, it returns clean, structured JSON with automatic answer extraction and full article content. The free tier covers 1,000 searches per month. If your agent chains search results into multi-step reasoning, Tavily's structured responses reduce parsing overhead.
Firecrawl handles JavaScript-rendered pages that other providers miss entirely. It can return full markdown content from each result in a single call. The free tier includes 1,000 credits per month. Firecrawl also has a separate CLI skill for advanced scraping workflows.
Exa uses neural search, matching by semantic similarity rather than keywords. Strong for conceptual queries where the exact terms might not appear in source material. It also supports built-in content summaries.
Perplexity offers domain filtering for restricting results to specific sites (up to 20 domains), which is useful when your agent researches within a known set of sources.
MiniMax provides structured search results through the Coding Plan API. It sits at auto-detection priority 15, just below Brave.
Parallel Search offers both a paid tier and a free tier. Both return dense excerpts rather than brief snippets. The free tier is OpenClaw's ultimate fallback: if no other provider is configured, Parallel Search (Free) activates automatically.
AI-Synthesized Providers
These don't return a list of links. They return a single AI-generated answer grounded in web sources, with citations pointing back to the original pages.
Gemini grounds its answers in Google Search results. It supports freshness and date-range filtering, similar to Brave.
Grok uses xAI's models to synthesize web answers. Configuring Grok also unlocks x_search, a separate tool that queries X (Twitter) posts with date filtering and handle-based allowlists.
Kimi by Moonshot AI supports dual-region deployment and returns synthesized answers.
Free Providers (No API Key Required)
DuckDuckGo works immediately with zero configuration. No API key, no account. The integration is experimental and scrapes HTML rather than using an official API, so results may be less consistent than API-backed alternatives. Useful for prototyping.
Ollama Web Search pairs with a local Ollama instance. A good fit if you already run Ollama for local model inference and want web search without external API calls.
SearXNG is a self-hosted metasearch engine that aggregates results from multiple engines. You run your own instance and no external API calls leave your network. It sits at the lowest auto-detection priority, so it only activates when explicitly configured or when no other provider is available. OpenClaw requires HTTPS for the SearXNG endpoint.
How Auto-Detection Picks a Provider
When you don't set a provider explicitly, OpenClaw checks for credentials in a fixed sequence. Brave is checked first, followed by MiniMax, Gemini, Grok, Kimi, Perplexity, Firecrawl, Exa, and Tavily. After the paid providers, it checks for Parallel Search (paid then free), DuckDuckGo, Ollama Web Search, and finally SearXNG. The first provider with valid credentials wins. If nothing matches, Parallel Search (Free) activates as the default fallback. The full priority table is in the official docs.
How to Configure Your Search Provider
OpenClaw supports three configuration approaches: environment variables, the interactive CLI, and direct config file editing. Each provider activates the same way. You either set the right environment variable, or you specify the provider explicitly in your config file.
Environment Variable (Fastest)
Export the API key for your chosen provider and OpenClaw detects it on next launch. For Brave, that means setting BRAVE_API_KEY. For Tavily, it's TAVILY_API_KEY. Each provider's key name follows the same pattern. Add the export to your shell profile for persistence.
Interactive CLI
OpenClaw's built-in configuration wizard walks you through provider selection and key entry. It saves your choice to the local config file, so auto-detection is bypassed from that point forward.
Direct Config File
For explicit control, edit the config file directly and set the provider name under tools.web.search. When you set a provider explicitly, auto-detection is bypassed entirely. You can also tune the cache TTL and timeout here. The docs show the full config structure.
Brave Setup (Recommended Starting Point)
- Create an account at the Brave Search API portal
- Generate an API key from the dashboard
- Set the key in your environment or config file
- Test with a simple query in your OpenClaw session
Brave's free tier includes a recurring monthly credit that covers roughly 1,000 searches. For most development and personal agent workflows, this is enough to get started without paying anything.
Tavily Setup
- Sign up at tavily.com
- Copy your API key from the dashboard
- Set the key in your environment
Tavily returns cleaner data than most providers because it was designed for LLM consumption. If your agent chains search results into multi-step reasoning, Tavily's structured responses reduce the amount of post-processing needed.
DuckDuckGo (Zero Setup)
Nothing to configure. DuckDuckGo works as a fallback if no API-backed provider is detected. You can also force it as your primary provider by setting the provider explicitly in your config, even when other API keys are present. Keep in mind that DuckDuckGo is an experimental integration that scrapes HTML pages rather than calling an official API. Results may occasionally be inconsistent.
SearXNG Setup (Self-Hosted)
SearXNG requires running your own instance, typically as a Docker container on your local network.
- Deploy a SearXNG instance using the official Docker image
- Verify the instance is accessible over HTTPS (OpenClaw requires HTTPS for SearXNG endpoints)
- Point OpenClaw at the instance URL through your environment or config file
SearXNG aggregates results from multiple search engines without sending queries through a third-party API. Every query stays on your network, making it the strongest option for privacy-sensitive deployments.
Give your OpenClaw agent persistent cloud storage
50GB free workspace with built-in semantic search and an MCP endpoint your agent can call directly. No credit card, no trial expiration.
Which Provider Fits Your Workflow
Different agent workflows call for different providers. Here's how to match your use case.
For general-purpose research, start with Brave. It has the highest auto-detection priority, a solid free tier, and returns structured results with filtering for country, language, and time range. Most OpenClaw tutorials default to Brave for good reason: it covers the broadest set of queries without surprises.
For LLM-optimized pipelines, Tavily returns data specifically structured for language model consumption. If your agent chains web search into multi-step reasoning or needs to extract specific facts from search results, Tavily's clean output reduces parsing overhead and lowers the risk of the model misinterpreting raw HTML snippets.
For deep content extraction, Firecrawl handles JavaScript-rendered pages that other providers miss entirely. If your agent needs to read full articles from modern web apps, scrape dynamic content, or pull structured data from single-page applications, Firecrawl's approach of rendering pages in a real browser before extraction makes a real difference. Pair it with other providers: use Brave for web_search and configure Firecrawl as the web_fetch fallback under tools.web.fetch.firecrawl.apiKey.
For privacy and compliance, SearXNG keeps all queries on your infrastructure. No API keys leave your network, no third-party service logs your queries. The tradeoff is operational: you run and maintain the instance yourself.
For quick prototyping, DuckDuckGo requires zero setup. No accounts, no API keys, no configuration. If you're testing an agent concept and don't want to spend time on search provider setup, DuckDuckGo gets you started in seconds.
For social signal tracking, Grok gives you standard web search plus x_search, a separate tool that queries X posts with handle filtering and date ranges. If your agent monitors public conversations or tracks sentiment around specific topics, the xAI stack covers both web and social in one configuration.
For Google-grounded answers, Gemini returns synthesis backed by Google Search. If your use case specifically needs answers that reflect Google's index, Gemini is the direct path. Note that Gemini, Grok, and Kimi all return a single synthesized answer rather than a list of links, so they work differently from traditional search providers.
Combining Providers
OpenClaw uses one provider at a time for web_search. You cannot fan out a single query across multiple providers simultaneously. However, you can pair providers across tools. A common pattern: Brave handles web_search for fast structured results, while Firecrawl serves as the web_fetch fallback for JavaScript-heavy pages where basic HTML extraction fails. This two-provider setup covers most research workflows without routing everything through a single premium API.
The web_search tool also exposes parameters that vary by provider. Brave supports freshness (day, week, month, year) and search_lang filtering. Perplexity supports domain_filter for restricting results to specific sites. Most providers accept count (1 to 10 results), country, and language. Check the OpenClaw web search docs for the full parameter matrix.
How to Persist Agent Research Across Sessions
When OpenClaw runs web searches during a conversation, results live in the agent's context window. End the session, and the research disappears. For one-off questions, that's fine. For agents running recurring research, building knowledge bases, or collaborating with a team, you need somewhere to put the output.
Local file storage is the simplest option. Your agent can write search results and summaries to disk using file system tools. This works for single-user, single-session setups but falls apart when multiple agents or team members need access to the same findings.
Cloud storage services like S3 or Google Drive add sharing and durability. Files persist across sessions and multiple people can access them. But these services are passive containers. There's no way to ask "what did we learn about competitor pricing last week?" without building a separate retrieval layer on top.
Fast.io adds an intelligence layer on top of storage. When you store research outputs in a Fast.io workspace, Intelligence Mode automatically indexes the content for semantic search. Team members and other agents can query the workspace through natural language and get answers with citations pointing back to the original documents. No separate vector database to configure, no indexing pipeline to maintain.
For OpenClaw agents specifically, the Fast.io MCP server provides direct workspace access through the Model Context Protocol. Your agent can store files, create branded shares for clients, manage workflow tasks, and hand off completed research to human collaborators. The server exposes 19 tools covering storage, AI queries, sharing, and workflow operations. Connection details and tool documentation are at mcp.fast.io/skill.md.
A practical setup: configure Brave or Tavily as your OpenClaw search provider for live web queries, then point your agent at a Fast.io workspace for output storage. The agent researches a topic, writes findings to the workspace, and Intelligence Mode makes those findings queryable by meaning. When someone on the team needs the research later, they search the workspace through chat instead of digging through files.
The free tier includes 50GB of storage, 5,000 monthly credits, and 5 workspaces. No credit card required, no trial expiration.
Frequently Asked Questions
What search providers does OpenClaw support?
OpenClaw supports 13 providers. API-backed options include Brave Search, Tavily, Exa, Firecrawl, Perplexity, MiniMax, and Parallel Search (paid tier). AI-synthesized providers include Gemini, Grok, and Kimi, which return a single answer with citations instead of a link list. Free options that need no API key include DuckDuckGo, Ollama Web Search, Parallel Search (free tier), and SearXNG (self-hosted).
How do I set up web search in OpenClaw?
The fast method is setting an environment variable for your chosen provider. For example, run "export BRAVE_API_KEY=your-key" to activate Brave Search. You can also run "openclaw configure --section web" for an interactive setup wizard, or edit ~/.openclaw/openclaw.json directly under the tools.web.search key. OpenClaw auto-detects providers based on which API keys are present, so setting the right environment variable is often all you need.
Does OpenClaw have free web search?
Yes. Three providers work without any API key or paid account. DuckDuckGo is experimental and scrapes HTML rather than using an official API. Parallel Search (Free) activates automatically when no other provider is configured. SearXNG is self-hosted and free to run, though it requires you to maintain your own instance. Several paid providers also offer free tiers, including Brave (roughly 1,000 queries per month), Tavily (1,000 searches per month), and Firecrawl (1,000 credits per month).
What is the best search provider for OpenClaw?
Brave Search is the best general-purpose option with wide coverage and a solid free tier. Tavily is better for LLM-focused workflows because it returns clean, structured data designed for language model consumption. Firecrawl is strongest for JavaScript-heavy pages and deep content extraction. For privacy, SearXNG keeps all queries on your own network. For zero-setup prototyping, DuckDuckGo works immediately with no configuration at all.
Can I use multiple search providers at the same time?
The web_search tool uses one provider per query. You cannot fan out a single search across multiple providers simultaneously. However, you can pair different providers for different tools. A common setup uses Brave for web_search and Firecrawl as the web_fetch fallback for JavaScript-rendered pages. To switch providers between sessions, change the provider value in your config file or swap environment variables.
How long are OpenClaw search results cached?
Search results are cached for 15 minutes by default. This prevents redundant API calls when your agent searches for the same query multiple times during a conversation. You can adjust the duration by setting cacheTtlMinutes in your tools.web.search configuration. Setting it to 0 disables caching entirely, though this will increase API usage for repeated queries.
Related Resources
Give your OpenClaw agent persistent cloud storage
50GB free workspace with built-in semantic search and an MCP endpoint your agent can call directly. No credit card, no trial expiration.