<!-- twin of https://specstream.ai/web-search/anymodelbot -->
# AnyModelBot web search without a SearXNG server: one setting

Compared on Nov 10, 2026. The page: https://specstream.ai/web-search/anymodelbot

AnyModelBot's SearXNG setting works without a SearXNG server: SpecStream answers SearXNG's JSON search at its own address. AnyModelBot's own search code read 10 results from it on November 10, 2026.

In Settings, Web search, choose SearXNG and set the SearXNG address to `https://api.specstream.ai/searxng/<key>`, with your SpecStream key in the path. AnyModelBot adds `/search` and sends its usual call.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and costs $5 per 1,000 searches, with no daily limit. A new account gets $10 of credit, no card.

[Get an API key](https://specstream.ai/signup?src=alternatives-web-search-anymodelbot&utm_source=alternatives-md&utm_campaign=web-search-anymodelbot&returnTo=%2Fworkspace%2Fagents%3Ftab%3Dkeys) New accounts get $10 of credit, no card. It covers 2,000 searches.

## AnyModelBot web search providers and SpecStream, from AnyModelBot's source and each company's own pages on Nov 10, 2026

| | SpecStream | Auto (AnyModelBot's default) | SearXNG (self-hosted) | Tavily | Exa |
|---|---|---|---|---|---|
| AnyModelBot setting | Web search: SearXNG. SearXNG address: `https://api.specstream.ai/searxng/<key>` | Web search: Auto, with no key | Web search: SearXNG, with your instance's address | Web search: Tavily, with a Tavily key | Web search: Exa, with an Exa key |
| What you run | Nothing. SpecStream answers at `api.specstream.ai` | Nothing. AnyModelBot asks Exa's public MCP server, then reads Bing's and DuckDuckGo's result pages | Your own instance on Docker or Podman, with the json format turned on and a Valkey database for its limiter | Nothing. AnyModelBot calls `https://api.tavily.com/search` | Nothing. AnyModelBot calls `https://api.exa.ai/search` |
| Price | $5 per 1,000 searches of up to 10 results | Free search, AnyModelBot's default | No API price. You pay to host the instance | $0.008 a credit on pay as you go, 1 credit a basic search, so $8 per 1,000 | $7 per 1,000 for the auto search, the type AnyModelBot sends |
| Free start | $10 of credit, no card, which covers 2,000 searches | No key and no account | Free software you install | 1,000 credits a month, no card | $10 of credits every month plus a $10 onboarding bonus, no payment method |
| Limit | No limit per key and no daily limit. A busy call gets a `429` with `Retry-After` and is not charged | A backend that times out, is rate limited or answers with a human check is set aside for 10 minutes | What your instance and its upstream engines allow. Engines can answer a public instance with CAPTCHAs or ban its IP address | On a monthly plan, requests stop when the month's credits run out | 10 search queries per second |
| What AnyModelBot sends | `q` and `format=json` to `/search`. SpecStream answers page 1 with 10 results, and AnyModelBot keeps its count, 8 by default | The query, to each free backend in turn | `q` and `format=json` to `/search` | The query and `max_results`, up to 20, with the key as a Bearer token | The query, `numResults`, `type: "auto"` and highlights of up to 300 characters, with the key in `x-api-key` |
| What comes back to AnyModelBot | SearXNG's `results[]` with `title`, `url`, `content` and `publishedDate`, the fields AnyModelBot reads | Titles, links and snippets read from Exa's reply and from Bing's and DuckDuckGo's pages | SearXNG's `results[]` from the engines it queries | Tavily's `results[]` with `title`, `content` and `published_date` | Exa's `results[]`, with the highlights as each snippet |
| What answers the search | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions | Exa's public MCP server, Bing and DuckDuckGo | The external search services your instance passes the query to | Tavily's search API | Exa's search API |

## Why AnyModelBot users point its SearXNG address at SpecStream

### The change is one field in Settings

AnyModelBot is "a team of AI bots for Windows, macOS, and Linux, running on your computer", and its bots search the web for research. Its Web search settings say "Free search by default. A key you add is used first", and one of the choices is SearXNG, with a SearXNG address field. Before and after:

```
# Settings, Web search, before: AnyModelBot's free search
Web search: Auto
```

```
# Settings, Web search, after: SpecStream, no instance to run
Web search: SearXNG
SearXNG address: https://api.specstream.ai/searxng/<your SpecStream key>
```

The setting holds for every bot in the app. AnyModelBot sends no key of its own to a SearXNG address, and it drops anything after a `?` when it saves the address, so the SpecStream key goes in the path, and SpecStream reads it from there. A trailing `/search` is removed too, so `.../searxng/<key>/search` works the same.

### A key in an address, made for this one use

A key in an address can end up in logs, such as a proxy's access log or a debug line. So make a key for AnyModelBot alone under Agents & API in the workspace, with a spending limit. If the address leaks, revoke that key: a revoked key gets a `401` from then on.

```
curl -X POST https://api.specstream.ai/v1/account/keys \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
  -d '{"name": "anymodelbot", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 2000, "zero_retention": true}'
```

`spend_cap_cents` is the most the key can spend, here $20, and with `zero_retention` a search made with it keeps no request text and no answer after the reply.

### SearXNG's JSON, so AnyModelBot's parser reads it

AnyModelBot calls `<address>/search?q=<query>&format=json` with an `accept: application/json` header and nothing else. SpecStream reads `q`, answers `format=json`, and returns page 1. AnyModelBot keeps each result with an http address and reads its `title`, `url`, `content` and `publishedDate`.

The same call in JavaScript, the way AnyModelBot sends it:

```
const key = process.env.SPECSTREAM_API_KEY;
const query = "Series A funding announcements this week";
const reply = await fetch(
  `https://api.specstream.ai/searxng/${key}/search?q=${encodeURIComponent(query)}&format=json`,
  { headers: { accept: "application/json" } },
).then((r) => r.json());

for (const result of reply.results.slice(0, 8)) {
  console.log(result.title, result.url, result.content);
}
```

Every parameter and field of the route is in the [SearXNG migration guide](https://specstream.ai/migrate/searxng?utm_source=alternatives&utm_campaign=web-search-anymodelbot), and how SpecStream compares with running SearXNG is on the [SearXNG page](https://specstream.ai/alternatives/searxng?utm_source=alternatives&utm_campaign=web-search-anymodelbot).

### $5 per 1,000 searches, with no daily limit

AnyModelBot sends no page number, so each search is page 1: 10 results at $0.005, of which it keeps 8 by default. There is no monthly plan and no daily limit. Credit you buy never expires, and a new account starts with $10 of credit, which covers 2,000 searches. A call stopped by a `429` charges nothing.

### The most accurate web search API, in about one second

The SpecStream Search API scores 97.9 F-score on all 1,000 official SimpleQA Verified questions, with 978 correct, and 64.0 item F1 and 43.4 row F1 on all 200 official WideSearch tasks. The Extract API scores 0.908 F1 on WCXB. Each score and its method is on the [benchmarks](https://specstream.ai/benchmarks?utm_source=alternatives&utm_campaign=web-search-anymodelbot) page.

Every drop-in call runs the fast search. On production on November 9, 2026, its median was 0.82 s at 1 search a second and 1.07 s at 20 a second, its 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720 calls.

### Search, pages and rows on one key

The same account reads up to 20 pages or documents a call with the [Extract API](https://specstream.ai/extract-api?utm_source=alternatives&utm_campaign=web-search-anymodelbot) at $0.80 per 1,000 pages, and a page with no text is not charged. [Deep Search](https://specstream.ai/deep-search?utm_source=alternatives&utm_campaign=web-search-anymodelbot) returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value, and the most a run can cost is approved before it starts.

## Other web search providers in AnyModelBot

### Auto, the free default

With no key, AnyModelBot asks Exa's public MCP server, then reads Bing's and DuckDuckGo's result pages, and puts the last one that worked first. A backend that times out, is rate limited or answers with a human check is set aside for 10 minutes. SpecStream answers every search from one address, with no daily limit, at $0.005.

### Your own SearXNG instance

The same SearXNG address pointed at a server you run on Docker or Podman, with the json format turned on and a Valkey database for the limiter. Its results are those of the engines it queries. SpecStream answers the same call with no server, at $0.005 a search.

### Tavily

AnyModelBot sends the query and up to 20 results to `https://api.tavily.com/search`. Tavily gives 1,000 credits a month, then bills $0.008 a credit on pay as you go, 1 credit a basic search. SpecStream costs $0.005 a search, and its credit never expires.

### Exa

AnyModelBot asks Exa for the auto search with highlights of up to 300 characters. Exa bills $7 per 1,000 auto searches after $10 of free credits a month, and allows 10 search queries per second. SpecStream costs $5 per 1,000 and has no limit per key.

### Keenable, Bocha and Zhipu

Each takes its own key in the same settings. AnyModelBot asks Keenable for up to 20 results, Bocha for up to 50 with a summary, and Zhipu's standard search with the query cut to 70 characters. SpecStream reads the whole query and answers it from the live web, at $0.005 a search.

## How to give AnyModelBot web search with SpecStream

1. Create a key for AnyModelBot under Agents & API in the SpecStream workspace, with a spending limit. A new account gets $10 of credit, no card, which covers 2,000 searches.

2. Check the address with the call AnyModelBot will send. A `200` with `results` means AnyModelBot gets the same.

```
curl -H "accept: application/json" "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=test&format=json"
```

3. In AnyModelBot, open Settings, Web search, choose SearXNG and set the SearXNG address:

```
https://api.specstream.ai/searxng/<your SpecStream key>
```

4. Ask a bot something that needs the web. Each search shows in your SpecStream request log with its price.

## Frequently asked questions

### How do I set up web search in AnyModelBot?

Open Settings, Web search, choose SearXNG and set the SearXNG address to `https://api.specstream.ai/searxng/<key>`. AnyModelBot's own search code read 10 results this way on November 10, 2026, with no SearXNG server running.

### Do I need a SearXNG server for AnyModelBot's SearXNG option?

No. SpecStream answers SearXNG's JSON search at `https://api.specstream.ai/searxng`, so AnyModelBot gets results at $0.005 a search with nothing to install.

### Where are AnyModelBot's search settings?

In Settings, Web search, which holds for every bot: a provider (Auto, Tavily, Exa, Bocha, Zhipu, Keenable or SearXNG), a key field for the keyed providers, and the SearXNG address. The SpecStream key goes in the path of the SearXNG address.

### Why is AnyModelBot web search not working with my SearXNG address?

When the address fails, AnyModelBot uses its free search and sets the address aside for 10 minutes, so a wrong address or key looks like Auto results. The address must start with `https://`, the key must be in the path because AnyModelBot drops anything after `?`, and the curl call in step 2 above should return `200`.

### What is the best search provider for AnyModelBot?

SpecStream, at $5 per 1,000 searches with no daily limit and 97.9 F-score on all 1,000 SimpleQA Verified questions. It plugs into the SearXNG address AnyModelBot already has.

### How much does AnyModelBot web search cost with SpecStream?

$0.005 a search of 10 results, or $5 per 1,000. A new account starts with $10 of credit, no card, and credit you buy never expires.

### Is it safe to put my SpecStream key in the SearXNG address?

Use a key made for AnyModelBot alone, with a spending limit, because a key in an address can end up in logs. If it leaks, revoke it: a revoked key gets a `401` from then on.

## Sources

SpecStream wrote this page. AnyModelBot's settings come from its source and README on GitHub, and each provider's figure from that company's own page.

- [AnyModelBot README](https://raw.githubusercontent.com/modelflare-ai/AnyModelBot/master/README_en.md), read Nov 10, 2026
- [AnyModelBot, src/tools/search.ts](https://raw.githubusercontent.com/modelflare-ai/AnyModelBot/master/src/tools/search.ts), read Nov 10, 2026
- [AnyModelBot, settings labels](https://raw.githubusercontent.com/modelflare-ai/AnyModelBot/master/ui/locales/en/settings.js), read Nov 10, 2026
- [AnyModelBot, web messages](https://raw.githubusercontent.com/modelflare-ai/AnyModelBot/master/src/i18n/messages/web.ts), read Nov 10, 2026
- [SearXNG, own instance](https://docs.searxng.org/own-instance.html), read Nov 10, 2026
- [SearXNG, Docker installation](https://docs.searxng.org/admin/installation-docker.html), read Nov 10, 2026
- [SearXNG, limiter](https://docs.searxng.org/admin/searx.limiter.html), read Nov 10, 2026
- [SearXNG Search API](https://docs.searxng.org/dev/search_api.html), read Nov 10, 2026
- [Tavily pricing](https://tavily.com/pricing), read Nov 10, 2026
- [Tavily API credits](https://docs.tavily.com/documentation/api-credits.md), read Nov 10, 2026
- [Exa pricing](https://exa.ai/pricing), read Nov 10, 2026
- [SpecStream benchmarks](https://specstream.ai/benchmarks), read Nov 10, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 10, 2026
