Agentic web search

One search.
Every source.

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.

14 search providers 8 extraction providers 5 install paths built by Robby Czesany @robbyczgw-cla
web_search_plus · routinglive
compare RAG papers 2026 intent research route tavily (research + key available) fallbacks brave → serper 0 taken canonical top result ✓ elapsed 742 ms
14search providers
8extraction providers
5install paths
1interface to learn

Product demo

Agent answers first. Operator receipts when you need them.

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.

agent preview · 16:9 · narrated · 112schat · routing · fallback · sources

Developer feature sheet

The whole tool surface at a glance.

A compact operator/developer map for the two-tool API, Routing v2 behavior, onboarding model, and the 14 search / 8 extraction provider mesh.

Web Search Plus developer feature sheet showing search, extraction, Routing v2, onboarding, public API, 14 search providers, and 8 extraction providers.
operator feature sheet · API · routing · providersdeveloper/operator reference

Why it exists

Stop hardcoding one search backend.

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.

01

Intent routing

Research, shopping, news, local, semantic discovery and extraction each get routed to providers that are actually good at that job.

02

Failure-tolerant

Missing key, provider hiccup or empty result? It falls through instead of making the agent faceplant like a demo on conference Wi‑Fi.

braveserpertavily ✓
03

Debuggable + safer

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.

One hardcoded backendWeb Search Plus
Provider outage = every agent run breaks
Automatic fallback chain keeps answers flowing
Same engine forced on news, research, shopping and code
Each intent routes to a provider that is actually good at it
New client or runtime = new provider glue code
One engine across Hermes, OpenClaw and any MCP client
Empty results fail silently mid-task
Quality reports show who answered, why and how fast
Mirrors and SEO sludge outrank primary sources
Canonical-source reranking boosts official docs, releases, policy and security sources
Huge pages and data-URI junk flood the agent context
Long extracts return a clean preview plus stored full text for page-on-demand
User-supplied URLs can wander into private networks
SSRF protection blocks loopback, private ranges and cloud metadata endpoints by default

Provider mesh

Start with one key. Add more when routing earns it.

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.

No-card starterTavilyClean recurring monthly credits for search + extract.
Cited extractLinkupGrounded search, fetch, citations and monthly eligible-account credits.
Scrape fallbackFirecrawlBest when pages need JS, scraping or crawl-style extraction.
Starter creditYou.comGenerous one-time credit for search, contents and research.
No-key testKeenableKeyless public tier for experiments; use explicit opt-in and API keys for production.
Compare free tiers + pricing →Verified snapshot: 2026-06-30. Re-check provider pages before production spend.
search + extract search only

Search + extract · 8 providers

Tavily research search + extract Exa semantic discovery search + extract Linkup grounded citations search + extract Firecrawl scrape-ready content search + extract Parallel explicit search search + extract You.com web + code search + extract Keenable independent index search + extract Serper Google-style results + news/extract search + extract

Search only · 6 providers

Brave broad web Querit multilingual Perplexity summarized web Kilo-Perplexity account bridge SerpBase Google SERP SearXNG self-hosted

Under the hood

Every query gets a plan.

No black box. Each request is classified, routed, retried, canonical-reranked when intent calls for it, and — if you ask — explained back to you.

01

Classify intent

The query is read first: research, news, shopping, local, semantic discovery or URL extraction.

02

Pick the provider

The best provider for that intent is chosen from the keys you actually have configured — one key works, more keys route smarter.

03

Fall through on failure

Missing key, provider error or empty result set? The chain moves to the next candidate instead of surfacing a dead end to the agent.

04

Return the receipts

Pass quality_report=true and the response explains provider choice, fallback chain, canonical-domain hits, timings and any reranking taken.

quality-report.json
{
  // 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

Pick your runtime.

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.

NanoClaw Utility Skill

GitHub

NanoClaw 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-plus

MCP Server

PyPI v0.17.0

Standalone 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-mcp

OpenClaw Skill

v3.3.0

Portable 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-plus

Quickstart

Paste once, search everywhere.

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

Fresh, not fossilized.

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.

Hermes v2.9.1July 10, 2026

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 →

Ecosystem acknowledgement@serpapi

Thanks to SerpApi for its continued work across the search API ecosystem.

Hermes v2.9.0July 2, 2026

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.

Hermes v2.7.0June 30, 2026

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.

Hermes v2.6.1June 26, 2026

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.

Hermes v2.6.0June 26, 2026

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.

Hermes v2.5.1June 16, 2026

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.

MCP v0.17.0July 10, 2026

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.

OpenClaw Skill v3.3.0July 5, 2026

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.

OpenClaw Plugin v3.2.0July 5, 2026

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.

OpenClaw Plugin v3.1.0June 10, 2026

Native plugin release adds research mode, authority reranking, quality signals and retry jitter; ClawHub artifact verified and install-smoked through OpenClaw.

NanoClaw utility skillGitHub

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

Quick answers.

Do I need API keys for all 14 providers?

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.

Which clients does it work with?

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.

What happens when a provider fails?

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.

Does it extract page content too, or just search?

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.

What does it cost?

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.