SearXNG alternatives in 2026
Its JSON with no server, $5 per 1,000.
SearXNG is free, and you run it: Docker or Podman, a Valkey database for the limiter, a reverse proxy, and json added to the formats. Upstream engines can send the instance CAPTCHAs or ban its IP.
SpecStream answers SearXNG's JSON at https://api.specstream.ai/searxng/<key>. Put that address where your app asks for the SearXNG URL and results[] comes back as before. Searches cost $5 per 1,000, and new accounts get $10 of credit, no card.
New accounts get $10 of credit, no card. It covers 2,000 searches.
SpecStream and a SearXNG instance side by side
| SpecStream | SearXNG | |
|---|---|---|
| What you run | Nothing. One address, https://api.specstream.ai/searxng/<key> | Your own instance: a working Docker or Podman installation, the compose stack with a Valkey container, and a reverse proxy that sets X-Forwarded-For and X-Real-IP |
| The request | GET or POST /searxng/search?q=...&format=json&pageno=1. time_range (day, week, month, year) and categories are read; language, safesearch and the rest are accepted | GET or POST /search with q, categories, language, pageno, time_range, format, safesearch and theme |
| JSON output | On for every key. format=json is the format the route answers | Only when the admin lists json under search: formats. An unset format returns a 403 Forbidden, and many public instances have these formats disabled |
| The reply | SearXNG's keys: query, number_of_results, results[] with title, url, content, engines, score and category, then answers, corrections, infoboxes, suggestions and unresponsive_engines | query, results, answers, corrections, infoboxes, suggestions and unresponsive_engines, as JSON |
| Blocked upstream | Answered 718 of 720 searches on production at 1 to 20 a second, with a median of 0.82 s to 1.07 s | Engines can enforce CAPTCHAs or ban the instance's IP. A CAPTCHA suspends an engine for 86,400 seconds by default, and a 429 for 3,600 |
| Who can call it | Whoever holds the key. The key goes in the address, in key=, in X-API-Key, as a Bearer token or as the Basic password | A public instance is open to everyone who has its URL. The limiter blocks by the client IP and needs a Valkey database |
| Price | $5 per 1,000 searches of 10 results. A call stopped by a 429 charges nothing, and credit you buy never expires | Free software. The docs require a working Docker or Podman installation for your own instance |
| Accuracy | 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) and 64.0 item F1 on all 200 WideSearch tasks | A metasearch engine that aggregates results from various search services and databases |
Why SearXNG users move to SpecStream
Change one setting, keep the rest
# Before: your own instance
curl "http://localhost:8080/search?q=open+source+vector+databases&format=json"
# After
curl "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=open+source+vector+databases&format=json"These apps were set up this way and passed our test on November 9, 2026, with only the address changed:
Open WebUI: Searxng Query URL (SEARXNG_QUERY_URL) set to https://api.specstream.ai/searxng/<key>/search. AnythingLLM: SearXNG API Base URL set to https://api.specstream.ai/searxng/<key>/search. Dify: the SearXNG plugin's base URL set to https://api.specstream.ai/searxng/<key>/search. LibreChat: SEARXNG_INSTANCE_URL=https://api.specstream.ai/searxng/<key>. n8n: the SearXNG credential's API URL set to https://api.specstream.ai/searxng/<key>. GPT Researcher: RETRIEVER=searx and SEARX_URL=https://:<key>@api.specstream.ai/searxng. LangChain: SearxSearchWrapper(searx_host="https://:<key>@api.specstream.ai/searxng").
Nothing to host
A SearXNG instance needs Docker or Podman, a Valkey database for its limiter, a reverse proxy that passes the client IP, and json in its formats list. When an upstream engine answers with a CAPTCHA, SearXNG suspends it for a day by default, and the docs' fix is an SSH tunnel to solve the CAPTCHA from the server's IP. SpecStream is one address with a key, and the search behind it is ours to run.
$5 per 1,000 searches
Each call returns up to 10 results and costs $0.005, and pageno continues the same ranked list. A call stopped by a 429 charges nothing, and credit you buy never expires. A new account gets $10 of credit, no card, which covers 2,000 searches. Every rate is on the pricing page.
The most accurate web search API, at about one second
SpecStream scores 97.9 F-score on all 1,000 official SimpleQA Verified questions (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 page.
On November 9, 2026 production took 1 to 20 searches a second through the fast search every drop-in route uses, and answered 718 of 720. The median was 0.82 s at 1 search a second and 1.07 s at 20 a second, and the 95th percentile stayed between 1.09 and 1.73 s. One account takes up to 8,800 searches a minute; a call over that gets a 429 with Retry-After and is not charged.
You decide what is kept
Zero retention is a field on each key. A search made with such a key keeps no request text and no answer after the reply. The charge keeps the account, the key, the request ID, the price and the time.
POST https://api.specstream.ai/v1/account/keys
{
"name": "production",
"scopes": ["account:read", "finds:spend"],
"spend_cap_cents": 500000,
"zero_retention": true
}Search, pages and rows on one key
The Extract API reads up to 20 pages or documents a call at $0.80 per 1,000 pages, and a page with no text is not charged. Deep Search returns every match on the live web as structured rows at 5¢, 15¢ or $1 a row, with the most a run can cost quoted before it starts. Agents connect to https://api.specstream.ai/mcp.
Other SearXNG alternatives
SpecStream
The live web data engine. It answers SearXNG's JSON at https://api.specstream.ai/searxng/<key> for $5 per 1,000 searches and scores 97.9 F-score on all 1,000 SimpleQA Verified questions. The Extract API costs $0.80 per 1,000 pages, and Deep Search returns every match as structured rows at 5¢, 15¢ or $1 a row.
A public SearXNG instance
Free and open to everyone who has its URL. The SearXNG docs say many public instances have the JSON format disabled, and that public use can lead upstream engines to enforce CAPTCHAs or ban the instance's IP. SpecStream answers format=json on every key.
Brave Search API
A search API on Brave's own index at $5 per 1,000 requests, with $5 in free credits every month, prepaid by card. Its reply has Brave's shape, so a SearXNG setting does not take it. SpecStream answers SearXNG's JSON, and Brave's call too, at https://api.specstream.ai/res/v1/web/search.
Tavily
A search API for agents at $0.008 a credit pay as you go, and a basic search costs 1 credit. SpecStream answers Tavily's call at https://api.specstream.ai/tavily/search and SearXNG's on the same key, at $0.005 a search.
Exa
A search API priced from $4 per 1,000 requests of up to 10 results, in Exa's own reply shape. SpecStream answers Exa's call at https://api.specstream.ai/exa/search and SearXNG's at https://api.specstream.ai/searxng.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to switch from SearXNG
1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.
2. Put https://api.specstream.ai/searxng/<key> where your app asks for the SearXNG URL. Where the setting takes the whole search address, use https://api.specstream.ai/searxng/<key>/search.
import requests
reply = requests.get(
"https://api.specstream.ai/searxng/search", # was http://localhost:8080/search
headers={"X-API-Key": SPECSTREAM_KEY},
params={"q": "open source vector databases", "format": "json", "pageno": 1},
).json()
for result in reply["results"]:
print(result["title"], result["url"], result["content"])const reply = await fetch(
"https://api.specstream.ai/searxng/search?" + new URLSearchParams({ q: "open source vector databases", format: "json" }),
{ headers: { "X-API-Key": process.env.SPECSTREAM_KEY } },
).then((r) => r.json());
for (const result of reply.results) console.log(result.title, result.url, result.content);3. Keep format=json, pageno and time_range as they are. Each call is one search of 10 results at $0.005 on your key, inside the spending limit you give it. Then shut the instance down.
Frequently asked questions
Something we didn't answer? Talk to a human
What is the best SearXNG alternative?
https://api.specstream.ai/searxng/<key>, so the app keeps its SearXNG setting, and it scores 97.9 F-score on all 1,000 SimpleQA Verified questions. New accounts get $10 of credit, no card.Why does SearXNG return 403 Forbidden for format=json?
json is not in the instance's formats list under search: in settings.yml. The SearXNG docs say requesting an unset format returns a 403, and that many public instances have these formats disabled. SpecStream answers format=json on every key.Is there a SearXNG alternative I don't have to self-host?
https://api.specstream.ai/searxng, with no Docker, no Valkey and no reverse proxy, at $0.005 a search of 10 results.Why is my SearXNG instance getting CAPTCHAs?
Which apps can use SpecStream in place of SearXNG?
https://api.specstream.ai/searxng/<key>.How much does SearXNG cost compared with SpecStream?
Sources
SpecStream wrote this page. Each SearXNG and rival figure comes from that project's or company's own page.
- SearXNG Search APIdocs.searxng.org/dev/search_api.html, read Nov 10, 2026
- SearXNG settings, searchdocs.searxng.org/admin/settings/settings_search.html, read Nov 10, 2026
- SearXNG limiterdocs.searxng.org/admin/searx.limiter.html, read Nov 10, 2026
- SearXNG, why use a private instancedocs.searxng.org/own-instance.html, read Nov 10, 2026
- SearXNG installation with Dockerdocs.searxng.org/admin/installation-docker.html, read Nov 10, 2026
- SearXNG, answer CAPTCHA from the server's IPdocs.searxng.org/admin/answer-captcha.html, read Nov 10, 2026
- SearXNG on GitHubgithub.com/searxng/searxng, read Nov 10, 2026
- Brave Search APIbrave.com/search/api/, read Nov 10, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits, read Nov 10, 2026
- Exa pricingexa.ai/pricing, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




