Intent routing
Research, shopping, news, local, semantic discovery and extraction each get routed to providers that are actually good at that job.
Agentic web search
Web Search Plus gives agents one stable search and extraction interface, then routes each job across the provider mesh that fits: live search, research mode, URL extraction, freshness filters, long-page storage, fallbacks and operator receipts — without hardcoding one brittle backend.
Product demo
A two-minute walkthrough of Web Search Plus as an agent-operator layer: natural answers by default, inspectable routing and fallback for operators, and one stable API for developers.
Developer feature sheet
A compact operator/developer map for the two-tool API, Routing v2 behavior, onboarding model, and the 14 search / 8 extraction provider mesh.
Why it exists
Agents need different sources for different jobs. Web Search Plus picks the route, keeps fallbacks warm, and returns clean structured results without turning every project into provider glue code.
Research, shopping, news, local, semantic discovery and extraction each get routed to providers that are actually good at that job.
Missing key, provider hiccup or empty result? It falls through instead of making the agent faceplant like a demo on conference Wi‑Fi.
Quality reports explain provider choice, canonical-domain boosts, errors and timing; long extracts are stored page-on-demand, and SSRF guards block private and metadata URLs by default.
Provider mesh
Web Search Plus supports 14 search providers, with 8 providers also able to fetch or extract clean page content. The homepage gives the short version; the full guide tracks free tiers, pricing, caveats and source links.
Under the hood
No black box. Each request is classified, routed, retried, canonical-reranked when intent calls for it, and — if you ask — explained back to you.
The query is read first: research, news, shopping, local, semantic discovery or URL extraction.
The best provider for that intent is chosen from the keys you actually have configured — one key works, more keys route smarter.
Missing key, provider error or empty result set? The chain moves to the next candidate instead of surfacing a dead end to the agent.
Pass quality_report=true and the response explains provider choice, fallback chain, canonical-domain hits, timings and any reranking taken.
{
// example quality report
"query_intent": "research",
"provider_used": "tavily",
"reason": "research intent + key available",
"fallback_chain": ["brave", "serper"],
"fallbacks_taken": 0,
"results_returned": 8,
"metadata": { "intent_rerank": true },
"authority_signals": {
"canonical_top_result": true,
"canonical_domain_hits": 3
},
"elapsed_ms": 742
}
Install paths
Hermes Agent and OpenClaw Plugin are both primary flagship paths. NanoClaw gets its own utility-skill front-end, and the MCP server keeps every other client on the same routing engine.
Native OpenClaw tools: web_search_plus, web_extract_plus and web_routing_config_plus. v3.2.0 syncs the OpenClaw plugin with the current Web Search Plus engine: Keenable, freshness, news search, Serper extraction, locale routing, SSRF guards and long-page handling.
stable · OpenClaw native plugin · current engine sync
openclaw plugins install clawhub:web-search-plus-plugin-v2Hermes plugin exposing web_search_plus and web_extract_plus. v2.9.1 protects shared provider and usage state during cache operations, raises Parallel's default long-page budget to 60k characters per result, and keeps truncate-and-store extraction, freshness controls, provider benchmarking and private-target protection intact.
hermes plugins install robbyczgw-cla/hermes-web-search-plus --enableNanoClaw front-end for Web Search Plus: a self-contained utility skill that installs the wsp CLI into agent containers, no MCP required, no metered WebSearch pool.
/add-web-search-plusStandalone Python MCP server for Claude Desktop, Cursor, NanoBot and other clients. Current PyPI line tracks Web Search Plus v2.9.1 plus configurable extraction priority: 14 search providers, 8 extraction providers, cache-ownership safety, fair 60k-per-result / 120k-total Parallel extraction budgets, independent search and extraction routing, private/internal extract-target protection and registry-backed diagnostics.
uvx web-search-plus-mcpPortable OpenClaw skill synced with the Web Search Plus v2.5–v2.9 feature line: Keenable, unified freshness, news search, Serper extraction, locale routing, adaptive provider memory, stronger SSRF guards and long-page handling.
stable OpenClaw compatibility path · ClawHub latest
openclaw skills install web-search-plusQuickstart
Choose your client. Copy button included because typing config JSON on mobile is cruel and unusual punishment.
# OpenClaw Plugin openclaw plugins install clawhub:web-search-plus-plugin-v2 # Configure at least one provider key in plugin config plugins.entries.web-search-plus-plugin-v2.config.braveApiKey=your-brave-key plugins.entries.web-search-plus-plugin-v2.config.tavilyApiKey=your-tavily-key plugins.entries.web-search-plus-plugin-v2.config.exaApiKey=your-exa-key plugins.entries.web-search-plus-plugin-v2.config.linkupApiKey=your-linkup-key
# Hermes Agent hermes plugins install robbyczgw-cla/hermes-web-search-plus --enable python ~/.hermes/plugins/web-search-plus/setup.py setup # Restart/reload Hermes, then use: web_search_plus(query="latest AI model releases", quality_report=true) web_extract_plus(urls=["https://example.com/docs"])
{
"mcpServers": {
"web-search-plus": {
"command": "uvx",
"args": ["web-search-plus-mcp"],
"env": {
"YOU_API_KEY": "your-key",
"SERPER_API_KEY": "your-key",
"LINKUP_API_KEY": "your-key"
}
}
}
}{
"mcpServers": {
"web-search-plus": {
"command": "uvx",
"args": ["web-search-plus-mcp"],
"env": {
"YOU_API_KEY": "your-key",
"SERPER_API_KEY": "your-key",
"LINKUP_API_KEY": "your-key"
}
}
}
}{
"tools": {
"mcpServers": {
"web-search-plus": {
"command": "uvx",
"args": ["web-search-plus-mcp"],
"env": {
"YOU_API_KEY": "your-key",
"SERPER_API_KEY": "your-key",
"LINKUP_API_KEY": "your-key"
}
}
}
}
}Current state
The page tracks the current mainline surface: Hermes v2.9.1, OpenClaw Plugin v3.2.0, OpenClaw Skill v3.3.0 and MCP v0.17.0 — no fossilized release copy.
Shared cache operations now preserve provider health, performance and usage telemetry, invalid UTF-8 foreign JSON no longer crashes stats or clear, and Parallel extraction gets a fair 60k-per-result default budget for long pages. Release notes →
Thanks to SerpApi for its continued work across the search API ecosystem.
Patch release for Hermes Agent v0.18 standalone plugin discovery: Web Search Plus now loads from outside the plugin directory without cwd-sensitive sibling imports, while v2.8 keeps truncate-and-store extraction, unified freshness filters and provider benchmarking.
Private/internal extraction target URLs are blocked before provider dispatch, keyless-provider setup is smoother, and setup.py fastpath checks whether current public Hermes is routed through Web Search Plus cleanly.
GroktoCrawl can be used as a local Firecrawl-compatible backend through the existing firecrawl.api_url and firecrawl.scrape_url overrides; no separate provider or default backend required.
Keenable joins the Hermes provider lineup for search and extraction. Use KEENABLE_API_KEY for authenticated calls; the keyless public endpoint is opt-in and disabled by default.
Config-driven provider gating now covers both search and extraction. Firecrawl and any other provider can be disabled centrally in config.json without touching release code.
Standalone MCP package now tracks Web Search Plus v2.9.1 plus configurable extraction priority: cache clear preserves foreign/shared JSON state, Parallel receives fair 60k-per-result / 120k-total full-content budgets, and operators can tune extraction order independently from search routing.
Feature sync with Web Search Plus v2.5–v2.9 for the standalone skill runtime: Keenable, freshness controls, news search, Serper extraction, locale routing, adaptive provider memory, stronger SSRF guards and long-page handling.
Feature sync with the current Web Search Plus engine: Keenable, freshness controls, news search, Serper extraction, locale routing, SSRF target guards, long-page handling and Parallel extraction budget tuning.
Native plugin release adds research mode, authority reranking, quality signals and retry jitter; ClawHub artifact verified and install-smoked through OpenClaw.
Dedicated NanoClaw front-end packages the shared engine as a self-contained wsp CLI skill for agent containers — search and extract, no MCP bridge required.
FAQ
No. One provider key is enough to get started — routing adapts to whichever keys are present and simply gets smarter as you add more. SearXNG works self-hosted, and Keenable has an opt-in public tier, but provider keys are recommended for private or production use.
Hermes Agent and OpenClaw natively as flagship plugins, NanoClaw through a dedicated utility-skill front-end, plus Claude Desktop, Claude Code, Cursor, NanoBot and any other MCP-compatible client through the standalone web-search-plus-mcp server on PyPI.
The router falls through the chain: a missing key, provider error or empty result set moves the request to the next candidate automatically. The quality report records every fallback that was taken, so nothing fails silently.
Both. web_search_plus handles live search across 14 providers, and web_extract_plus pulls clean content from URLs across 8 extraction providers with the same fallback behavior.
The router itself is free and open source on GitHub. You only pay the providers you choose to configure — many offer generous free tiers, self-hosted SearXNG costs nothing, and Keenable's public tier is opt-in and disabled by default. For provider-by-provider pricing, see the free-tier guide.