OpenClaw bundles two Parallel web_search providers:
- Parallel Search (Free) (
parallel-free) -- Parallel's free Search MCP. Requires no account or API key. Select it explicitly when you want Parallel's hosted key-free search path. - Parallel Search (
parallel) -- Parallel's paid Search API. Requires aPARALLEL_API_KEYand offers higher rate limits and objective tuning.
Both return ranked, LLM-optimized excerpts from a web index built for AI agents. Set tools.web.search.provider to parallel-free or parallel to choose one explicitly.
Note
OpenAI Responses models use OpenAI's native web search when tools.web.search.provider is unset, so they bypass the Parallel providers. Set tools.web.search.provider to parallel-free or parallel to route them through Parallel.
API key (paid provider)
parallel-free requires no API key, but it still must be selected as the managed provider. The paid parallel provider needs an API key:
Create an account
Sign up at [platform.parallel.ai](https://platform.parallel.ai) and
generate an API key from your dashboard.
Store the key
Set `PARALLEL_API_KEY` in the Gateway environment, or configure via:
```bash
openclaw configure --section web
```
Config
{
plugins: {
entries: {
parallel: {
config: {
webSearch: {
apiKey: "par-...", // optional if PARALLEL_API_KEY is set
baseUrl: "https://api.parallel.ai", // optional; OpenClaw appends /v1/search
},
},
},
},
},
tools: {
web: {
search: {
// Use "parallel-free" for the free Search MCP, or "parallel" for
// the paid API-backed provider shown here.
provider: "parallel",
},
},
},
}Environment alternative: set PARALLEL_API_KEY in the Gateway environment. For a gateway install, put it in ~/.openclaw/.env.
Base URL override
The base URL override applies to the paid parallel provider only. The free parallel-free provider always uses https://search.parallel.ai/mcp.
Set plugins.entries.parallel.config.webSearch.baseUrl when Parallel requests should go through a compatible proxy or alternate Parallel endpoint (for example, the Cloudflare AI Gateway). OpenClaw normalizes bare hosts by prepending https:// and appends /v1/search unless the path already ends there. The resolved endpoint is included in the search cache key, so results from different Parallel endpoints are not shared.
Tool parameters
OpenClaw exposes Parallel's native search shape so the model can fill in both the natural-language goal and a few short keyword queries — the pairing Parallel recommends for best results.
param
Natural-language description of the underlying question or goal (max 5000 chars). Should be self-contained.
param
Concise keyword search queries, 3-6 words each (1-5 entries, max 200 chars each). Provide 2-3 diverse queries for best results.
param
Results to return (1-40).
param
Optional Parallel session id (max 1000 chars on parallel; the free parallel-free Search MCP caps it at 100). Pass the sessionId from a previous Parallel result on follow-up searches that are part of the same task so Parallel can group related calls and improve subsequent results. An id past the limit is dropped and a fresh one is generated.
param
Optional identifier of the model making the call (e.g. claude-opus-4-7, gpt-5.5). Lets Parallel tailor default settings for your model's capabilities. Pass the exact active model slug; do not shorten to a family alias.
Notes
- Parallel ranks and compresses results based on LLM reasoning utility, not human click-through; expect dense excerpts in each result rather than full-page content
- Result excerpts come back as the
excerptsarray and are also joined into thedescriptionfield for compatibility with the genericweb_searchcontract - Parallel returns a
session_idon every response; OpenClaw surfaces it assessionIdin the tool payload so callers can group follow-up searches searchId,warnings, andusagefrom Parallel are passed through when present- OpenClaw always forwards a resolved result count to Parallel as
advanced_settings.max_results. The caller'scountarg wins, then the top-leveltools.web.search.maxResultssetting, otherwise OpenClaw's genericweb_searchdefault (5). This keeps result volume consistent when switching between providers; Parallel on its own defaults to 10 - Results are cached for 15 minutes by default (configurable via
cacheTtlMinutes) - The free
parallel-freeprovider accepts the same parameters. It appliescountclient-side and generates asession_idper call when one is not supplied.
Related
- Web Search overview -- all providers and auto-detection
- Exa search -- neural search with content extraction
- Perplexity Search -- structured results with domain filtering