Skip to main content

Overview

OmniRoute is an open-source AI gateway that puts hundreds of model and tool providers behind one local endpoint. It runs on your own machine, stores provider credentials, and routes each request with automatic fallback. For web search and fetch, fallback applies only when a request leaves out provider. Setting it to nimble-search keeps the request on Nimble. Nimble ships as the nimble-search provider, built into OmniRoute itself. It is registered once and serves two surfaces:
  • Web search through POST /v1/search, backed by Nimble’s Search API.
  • Page fetching through POST /v1/web/fetch, backed by Extract.
One Nimble API key covers both. The provider ships in OmniRoute v3.8.51 and later.

What this integration covers

Search and Extract only. Map, Crawl, and the Web Search Agent are not reachable through OmniRoute today. For those, call the Nimble SDK directly or connect the Nimble MCP server.

Quick Start

1. Get a Nimble API key

Get your API key from Nimble’s dashboard. A free trial is available.

2. Install and start OmniRoute

OmniRoute needs Node.js 22 (22.22.2 or later) or Node.js 24. Node.js 23 is not supported. Check the engines field in OmniRoute’s package.json for the exact range.
The dashboard runs at http://localhost:20128. The API is served at http://localhost:20128/v1.

3. Add the Nimble credential

In the dashboard, go to Providers, find Nimble Search, and paste your Nimble API key. Test the connection from the dashboard to check the key.

4. Search the web

Requests to OmniRoute use your OmniRoute API key, not your Nimble key. Create or copy it from Dashboard → API Keys. The gateway holds the Nimble credential server-side, so callers never see it. Select the provider by id in the request body:

5. Fetch a page

The same provider id selects Nimble for extraction:
The response returns the page content in the requested format, the list of links found on the page, and the title and description when include_metadata is set.

Configuration

Use nimble-search in the provider field of both /v1/search and /v1/web/fetch. The dashboard also shows a short alias, nimble, but the API doesn’t accept it.
Searches run at lite depth and return plain text. Deeper extraction per result is not exposed through the gateway. For that, call Search directly and set search_depth.
format accepts markdown (the default), html, links, and screenshot.A screenshot comes back as a base64 PNG data URL. The list of page links is always returned alongside the content, whatever format you asked for. Rendering is set to auto, so Nimble decides per domain whether a browser is needed.
Nimble gets 10 seconds per search and 30 seconds per fetch. OmniRoute’s overall search budget is 15 seconds.If a request leaves out provider, OmniRoute can retry a failed call with another configured provider. Set provider to nimble-search to keep the request on Nimble and see Nimble’s errors directly.

Additional Resources

OmniRoute Provider Reference

The nimble-search entry in OmniRoute’s own documentation.

OmniRoute on GitHub

The open-source AI gateway.

Nimble Search

Focus modes, search depth, and filtering explained.

Nimble Extract

The extraction endpoint behind the fetch surface.