Skip to content
AI Primer
release

OpenRouter adds openrouter:web_search and Parallel results at $0.005 per request

OpenRouter replaced its old web plugin path with agentic web search and fetch tools that use a common schema across models. Migrate to the new tools if you need multi-search turns, domain filtering, or Parallel/exa-native routing.

3 min read
OpenRouter adds openrouter:web_search and Parallel results at $0.005 per request
OpenRouter adds openrouter:web_search and Parallel results at $0.005 per request

TL;DR

  • OpenRouter replaced its old web plugin flow with agentic openrouter:web_search and openrouter:web_fetch tools that any tool-calling model on the platform can invoke, according to OpenRouter's launch post and the linked announcement post.
  • The pitch is schema stability: as OpenRouter's schema note puts it, developers can specify {"type": "openrouter:web_search"} once instead of rewriting around each provider's search tool format.
  • Search now supports four engines, and OpenRouter's engine list says the new Parallel option from p0 costs $0.005 per request with up to 10 results included.
  • Because these are exposed as tools rather than a one-shot plugin, OpenRouter's multi-search example says models can issue multiple searches inside one request and cap spend with max_total_results.
  • Fetch is now a separate tool, and OpenRouter's fetch note says it can use OpenRouter's own direct HTTP path for free or Exa extraction for $0.001 per fetch, while OpenRouter's migration snippet shows the old plugins: [{ "id": "web" }] path is deprecated.

You can read the official announcement, jump straight to the old-to-new migration snippet in OpenRouter's migration post, and see that OpenRouter also exposed domain allowlists and blocklists in OpenRouter's domain-filtering note. The odd little detail is that this is less a new search endpoint than a portability layer over several search and fetch backends, including provider-native routing, Exa, OpenRouter's own fetch path, and p0 Parallel.

Common schema

The concrete change is not just “web search on OpenRouter.” OpenRouter is standardizing tool invocation across model providers that already ship incompatible built-in search tools.

That means the portability story lives at the tool schema layer. Per OpenRouter's schema note, the same openrouter:web_search tool type is meant to work across GPT-5.5, Claude, Kimi, and other tool-calling models without per-provider parsing logic.

Search engines and pricing

Search now exposes four routing modes:

  • Auto
  • Native, which uses the model provider's built-in search
  • Exa
  • Parallel, the new p0-backed option

According to OpenRouter's engine list, Parallel adds configurable context size, domain filtering, and structured results, and costs $0.005 per request for up to 10 results.

Multi-search turns

OpenRouter is explicitly framing these as real tools, which changes how a model can use them mid-run. In OpenRouter's multi-search example, the company says a model can launch multiple searches in a single request, such as parallel lookups across GPU cloud providers before synthesizing an answer.

That also introduces a new cost-control knob. The same post says developers can bound retrieval fan-out with max_total_results.

Fetch, filters, and migration

Fetch is split from search and comes with its own routing options. Per OpenRouter's fetch note, openrouter:web_fetch supports Auto, Native, OpenRouter direct HTTP, and Exa markdown extraction, with max_content_tokens to stop large pages from swallowing context.

The access controls show up in OpenRouter's domain-filtering note, which says both tools support allowed_domains and blocked_domains on non-native engines.

The migration path is short. As OpenRouter's migration post shows, the old plugins block becomes a tools entry, which is the real signal that OpenRouter wants web access to behave like the rest of the tool-calling stack, not like a legacy plugin add-on.

Further reading

Discussion across the web

Where this story is being discussed, in original context.

On X· 2 threads
Search engines and pricing1 post
Fetch, filters, and migration1 post
Share on X