Skip to main content

The WebRouter router mascot, an orange cable plugged into its search port

WebRouter connects your agent to the internet’s primitives (search, extract, answer, research and browser sessions) through one interface, across many providers.
  • No vendor lock-in. The same call and result shape on every provider that serves a method; switching is one argument. Apache 2.0, and you hold your own keys.
  • Routing and fallback. auto tries the providers you hold keys for, best benchmarked first, and falls back to the next. An experimental router can pick the tool and provider for each task within a cost and time budget.
  • Many providers. Tavily, Exa, Brave, Firecrawl, Nimble and more: see Providers.
  • Security by default. WebRouter never logs or stores your keys, and sends each key only to its own provider. An option a provider cannot honour raises instead of being dropped.
quickstart.py

Get started

Quickstart

Install, then your first search and extract, with no key.

How it works

One call shape, normalized results, nothing dropped.

Providers

Which provider serves which method, and its key.

Methods

Search

Web results from any search provider.

Extract

Page contents for URLs you already have.

Answer

A written answer with its sources.

Research

An agentic run that reasons over several turns.

Browser

Drive a browser session, or hand a task to an agent.

Get help

  • Discord: questions in #help, chatting with other builders and the maintainers, and showing what you built in #showcase.
  • GitHub Issues: bugs and gaps in a provider’s support.
  • GitHub Discussions: proposals and design ideas.
  • SECURITY.md: vulnerabilities. Never in a public channel.