# Web Search Plus — One search. Every source.

## Landing page

Search and page extraction for AI agents. One router in front of the providers you already have: it returns the original links and the page text, never an answer it made up.

The routing visual follows a question to a configured provider, through fallback if needed, to sources with links, page text and an optional quality report. The sources stay attached, whichever provider runs.

- Picks a provider: sends each query to the provider that fits it, chosen from the keys you configured.
- Falls back: missing key, provider error or empty result, and the request moves to the next provider; you see that it did.
- Shows its work: every result carries its source; the quality report records which provider answered, which fell back, and how long it took.

15 search / 9 extract providers. One provider key is enough.
417★ on GitHub · in the official Hermes plugin catalog · 1.1k PyPI downloads last month (2026-09-23) · 5 runtimes, one engine.

Film (93 seconds, English, captions): https://websearchplus.xyz/assets/web-search-plus-film-v1.mp4 — auto-routing on real questions, fallback, page extraction, the receipt and the local option.

What comes back: every call returns the sources plus a record of how it got them — `routing_receipt` (candidate order, selected provider, fallback reason), `provider_attempts` (outcome and duration per provider), `cache_status` and `results` with URL, title and extracted text.
Hermes v4.3.1 · MCP v4.3.1 · OpenClaw plugin v4.3.1 · skill v4.0.0.

| Runtime | Install | Setup |
| --- | --- | --- |
| Hermes | `hermes plugins install web-search-plus --enable` | [Setup](https://github.com/robbyczgw-cla/hermes-web-search-plus#readme) |
| MCP | `uvx --from web-search-plus-mcp==4.3.1 web-search-plus-mcp` | [Setup](https://github.com/robbyczgw-cla/web-search-plus-mcp#readme) |
| OpenClaw | `openclaw plugins install clawhub:web-search-plus-plugin-v2` | [Setup](https://github.com/robbyczgw-cla/web-search-plus-plugin#readme) |
| NanoClaw | `/add-web-search-plus` | [Setup](https://github.com/robbyczgw-cla/nanoclaw-web-search-plus#readme) |
| Grok Build | `grok plugin install robbyczgw-cla/web-search-plus-mcp` | [Setup](https://github.com/robbyczgw-cla/web-search-plus-mcp#-grok-build-plugin) |

Routing, client configuration, release history and FAQ: [developer resources](/developers.md).
Provider capabilities, local boundaries and dated pricing: [provider guide](/providers.md).
DonSeTch 4.2.9 is separately installed, AGPL-3.0-only and explicit-only by default.

## Extended reference

Web Search Plus is a multi-provider web search and page-extraction router for AI agents. Start with one provider, add more when you need them, and keep the original links behind every result. If one service fails, the router can try another.

This page is the markdown twin of [https://websearchplus.xyz/](https://websearchplus.xyz/). Machine index: [/llms.txt](/llms.txt). Developer index: [/developers.md](/developers.md).

## What it does

- `web_search_plus` — live search across 15 source-only search providers
- `web_extract_plus` — clean page text across 9 extraction providers
- Automatic fallback when a key is missing, a provider errors, or the result set is empty
- Quality report records every fallback so failures are not silent
- Public tools stay source-only: links and extracted text, not model-written answers

Current baselines: Hermes plugin **v4.3.1**, MCP **web-search-plus-mcp==4.3.1**. OpenClaw plugin **v4.3.1** matches them; skill **v4.0.0** stays on its own train.

## Install paths

### Hermes Agent

Listed in the [Hermes plugin catalog](https://hermes-agent.nousresearch.com/docs/plugins/). Catalog install checks out the reviewed commit:

```bash
hermes plugins install web-search-plus --enable
```

GitHub source (not the catalog pin): `hermes plugins install robbyczgw-cla/hermes-web-search-plus --enable`

Repository: https://github.com/robbyczgw-cla/hermes-web-search-plus

Call `web_search_plus` / `web_extract_plus` (default). One provider key is enough. Optionally set Hermes `web.search_backend` / `web.extract_backend` to `wsp` so native `web_search` / `web_extract` use the same engine in-process — Hermes-only, not MCP. Tests DonSeTch 4.2.9. Later catalog pins: `hermes plugins update web-search-plus`.

### MCP (Claude Desktop, Claude Code, Cursor, NanoBot, any MCP client)

```bash
uvx --from web-search-plus-mcp==4.3.1 web-search-plus-mcp
```

Source: https://github.com/robbyczgw-cla/web-search-plus-mcp
PyPI: https://pypi.org/project/web-search-plus-mcp/

MCP 4.3.1 matches Hermes 4.3.1: both reuse keep-alive provider connections, and MCP runs the search engine in-process (auto-routing median 1.70 s → 0.99 s). 4.3.0 made adaptive routing learn again and `web_search` honours `defaults.max_results`. It does not include the Hermes Desktop settings form, the Hermes native backend, or the Hermes-only automatic recency cache cap.

### OpenClaw and NanoClaw

- Skill v4.0.0: https://github.com/robbyczgw-cla/web-search-plus
- Plugin v4.3.1: https://github.com/robbyczgw-cla/web-search-plus-plugin
- NanoClaw: https://github.com/robbyczgw-cla/nanoclaw-web-search-plus

## Providers

See the dated [provider guide](/providers.md) for search/extract support, free tiers, starting prices, and the privacy/terms matrix. Snapshot date is printed at the top of that page.

Local / no-key options include self-hosted SearXNG, opt-in Keenable public access, and separately installed DonSeTch (`DONSETCH_BIN`, AGPL-3.0-only).

## FAQ

**Do I need API keys for all 15 providers?**
No. One provider is enough. Commercial APIs use their own keys.

**Which clients work?**
Hermes Agent and OpenClaw as flagship plugins, NanoClaw through a dedicated front-end, plus any MCP-compatible client through `web-search-plus-mcp`.

**What happens when a provider fails?**
The router falls through the chain. The quality report records every fallback.

**Does it extract pages or only search?**
Both. Search and extract share the same fallback behavior.

**What does it cost?**
The router is free and open source. You pay the providers you configure. Self-hosted SearXNG and local DonSeTch avoid provider request fees but still cost your machine, bandwidth, and maintenance.

## Site map

- [/](/) / [/index.md](/index.md) — this homepage
- [/developers](/developers) / [/developers.md](/developers.md) — developer resources
- [/providers](/providers) / [/providers.md](/providers.md) — provider guide
- [/legal](/legal) / [/legal.md](/legal.md) — Impressum and privacy
- [/llms.txt](/llms.txt) — agent index
- [/sitemap.xml](/sitemap.xml)

Author: [Robby Czesany](https://robbyczesany.com/)
