LobeHub web search without hosting SearXNG
One variable.
LobeHub's default search provider is searxng, so a self-hosted LobeChat searches only when SEARXNG_URL points at an instance with the JSON format turned on. SpecStream answers SearXNG's JSON at its own address, with no container to run.
Set SEARXNG_URL=https://api.specstream.ai/searxng/YOUR_KEY in .env and restart. To read pages on the same key, add CRAWLER_IMPLS=firecrawl, FIRECRAWL_URL=https://api.specstream.ai/firecrawl/v2 and the key in FIRECRAWL_API_KEY.
SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions. A search of up to 10 results costs $0.005, with no daily limit. A new account gets $10 of credit, no card, which covers 2,000 searches.
New accounts get $10 of credit, no card. It covers 2,000 searches.
The web search providers LobeHub offers, from each company's own pages on Nov 10, 2026
| SpecStream | SearXNG, self-hosted | Firecrawl | Tavily | Exa | Brave | |
|---|---|---|---|---|---|---|
| Role in LobeHub | Search provider through SEARXNG_URL or FIRECRAWL_URL, and page reader through FIRECRAWL_URL, on one key | The default search provider when SEARCH_PROVIDERS is not set | Search provider and page reader | Search provider and page reader | Search provider and page reader | Search provider |
| Price of a search | $5 per 1,000 searches, with up to 10 results a search | No fee. You run the server, and the engines it queries may enforce CAPTCHAs or ban its IP address | 2 credits per 10 results | $0.008 a credit on pay as you go. A basic search is 1 credit | $7 per 1,000 requests on auto, $4 per 1,000 on lite | $5 per 1,000 requests |
| Price of reading pages | $0.80 per 1,000 pages through /firecrawl/v2/scrape, and a page with no text is not charged | Reads no pages. LobeHub's default readers are jina, naive, search1api and browserless | The free plan reads 1,000 pages a month. The Hobby plan is $19 a month | A basic extract costs 1 credit for every 5 successful URLs | $1 per 1,000 pages per content type | Not a page reader in LobeHub |
| How you start | $10 of credit, no card. It covers 2,000 searches | A working Docker or Podman installation, and the JSON format turned on | A free plan of 500 searches or 1,000 pages | 1,000 free credits every month | $10 in credits on sign up, no payment method required | $5 in free credits every month |
| How long credit lasts | Credit you buy never expires | No credit to buy | Monthly plans, from $19 a month for Hobby | On a monthly plan, requests stop when the month's credits run out | The free balance resets to $10 on the first of every month | Prepaid credits |
| Address setting in LobeHub | SEARXNG_URL and FIRECRAWL_URL in .env | SEARXNG_URL | FIRECRAWL_URL, default https://api.firecrawl.dev/v2 | None. LobeHub's code fixes the address at https://api.tavily.com | None. LobeHub's code fixes the address at https://api.exa.ai | None. LobeHub's code fixes the address at https://api.search.brave.com/res/v1 |
Why LobeHub admins point SEARXNG_URL at SpecStream
The .env before and after
LobeHub reads SEARXNG_URL from the server's environment and adds /search with format=json to it. SpecStream answers that call at https://api.specstream.ai/searxng/<key>, with the key as a part of the address, so LobeHub sends no header and needs none.
# .env before: a SearXNG container you host
SEARCH_PROVIDERS=searxng
SEARXNG_URL=http://searxng:8080
# .env after: no container
SEARCH_PROVIDERS=searxng
SEARXNG_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEYSEARCH_PROVIDERS can stay unset, because searxng is LobeHub's default. Remove the SearXNG service from your docker-compose.yml once search answers.
This is the call LobeHub sends, and the one to try first from a shell:
curl "https://api.specstream.ai/searxng/$SPECSTREAM_API_KEY/search?q=latest+LobeHub+release&format=json"Read pages on the same key
LobeHub reads the pages it cites with the crawlers named in CRAWLER_IMPLS. Set it to firecrawl and point FIRECRAWL_URL at SpecStream, with the version in the address. LobeHub adds /scrape and sends the key as a Bearer token.
# .env, added after the SearXNG lines
CRAWLER_IMPLS=firecrawl
FIRECRAWL_URL=https://api.specstream.ai/firecrawl/v2
FIRECRAWL_API_KEY=YOUR_SPECSTREAM_KEYcurl -X POST https://api.specstream.ai/firecrawl/v2/scrape \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"url": "https://lobehub.com"}'Already on Firecrawl? Change one URL
With SEARCH_PROVIDERS=firecrawl, LobeHub searches through FIRECRAWL_URL and adds /search. Set the address to https://api.specstream.ai/firecrawl/v2 and put the SpecStream key in FIRECRAWL_API_KEY: the search and the page reads both run on SpecStream, in Firecrawl's JSON. The Firecrawl migration guide lists every field.
# .env before
SEARCH_PROVIDERS=firecrawl
CRAWLER_IMPLS=firecrawl
FIRECRAWL_API_KEY=fc-...
# .env after
SEARCH_PROVIDERS=firecrawl
CRAWLER_IMPLS=firecrawl
FIRECRAWL_URL=https://api.specstream.ai/firecrawl/v2
FIRECRAWL_API_KEY=YOUR_SPECSTREAM_KEYWhat stays the same
LobeHub's own SearXNG and Firecrawl code reads the reply, unchanged. The SearXNG route returns results[] with title, url and content, 10 results a search. The Firecrawl route returns data.web[] for a search and data.markdown for a page. Every parameter and field is in the SearXNG migration guide.
$0.005 a search and $0.0008 a page
A search of up to 10 results costs $0.005, which is $5 per 1,000, with no daily limit. Each page read through the Firecrawl scrape or Exa contents route costs $0.0008, which is $0.80 per 1,000 pages, and a page with no text costs nothing.
There is no monthly plan, no credit pack that expires and no reset on the first of the month. Credit you buy never expires.
The most accurate web search API in the world
On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the benchmarks page.
About one second a search, measured under load
Every drop-in route runs on the fast search. On November 9, 2026 production took 1, 5, 10 and 20 searches a second through it 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 can send up to 26,666 searches a minute; a call over that gets a 429 with Retry-After and is not charged.
You decide what is kept, on each key
Give LobeHub a key with zero_retention and a search made with it keeps no request text and no answer after the reply. It is not in the history and its log lines carry neither. The charge keeps the account, the key, the request ID, the price and the time. spend_cap_cents is the most the key can spend.
curl -X POST https://api.specstream.ai/v1/account/keys \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'Search, pages and rows on one key
The same key reads up to 20 pages or documents a call with the Extract API at $0.80 per 1,000 pages, and a page with no text is not charged. Deep Search takes a request in plain words and returns every match on the live web as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value.
The other providers in LobeHub, and what each costs
SearXNG, self-hosted
LobeHub's default. It needs a working Docker or Podman installation, and an instance without the JSON format answers 403. An engine that answers too many requests is suspended for 3,600 seconds, and one that shows a CAPTCHA for 86,400. SpecStream answers the same call at $0.005 a search, with no server to run.
Firecrawl
Search at 2 credits per 10 results, on a free plan of 500 searches or 1,000 pages and paid plans from $19 a month for Hobby. Set FIRECRAWL_URL to https://api.specstream.ai/firecrawl/v2 and the same calls cost $0.005 a search and $0.0008 a page, on credit that never expires.
Tavily
Search and extract billed in credits at $0.008 each on pay as you go, with 1,000 free credits a month. LobeHub fixes Tavily's address at https://api.tavily.com. SpecStream searches the live web at $0.005 a search through SEARXNG_URL, with 97.9 F-score on all 1,000 SimpleQA Verified questions.
Exa
Search at $7 per 1,000 requests on auto and $4 on lite, and page contents at $1 per 1,000 pages per content type. LobeHub fixes Exa's address at https://api.exa.ai. SpecStream reads pages at $0.80 per 1,000 through FIRECRAWL_URL.
Brave
Search at $5 per 1,000 requests with $5 in free credits each month, and no page reader in LobeHub. SpecStream searches at the same $5 per 1,000 and reads the pages too, on one key.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to set SpecStream as LobeHub's web search
1. Create a key under Agents & API in the SpecStream workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.
2. Set the search address in the .env of your LobeHub server.
SEARXNG_URL=https://api.specstream.ai/searxng/YOUR_SPECSTREAM_KEY3. To read pages on the same key, add the crawler lines.
CRAWLER_IMPLS=firecrawl
FIRECRAWL_URL=https://api.specstream.ai/firecrawl/v2
FIRECRAWL_API_KEY=YOUR_SPECSTREAM_KEY4. Restart LobeHub, turn on web search in a chat and ask a question. Each search and each page shows up in your SpecStream request log with its price.
Frequently asked questions
Something we didn't answer? Talk to a human
How do I set up SearXNG for LobeChat?
SEARXNG_URL=https://api.specstream.ai/searxng/YOUR_KEY in the server's .env. SpecStream answers SearXNG's JSON, 10 results a search at $0.005, with no SearXNG container to run.Why is LobeChat online search not working?
SEARXNG_URL is empty or points at an instance without the JSON format, which answers 403. searxng is LobeHub's default provider, so point SEARXNG_URL at https://api.specstream.ai/searxng/YOUR_KEY and restart; a wrong key gets a 401.What is the LobeChat SEARXNG_URL format?
/search itself. For SpecStream it is https://api.specstream.ai/searxng/ followed by your key.Is there a LobeHub web search API that needs no server?
Can LobeHub use SpecStream through Firecrawl?
FIRECRAWL_URL=https://api.specstream.ai/firecrawl/v2 and the key in FIRECRAWL_API_KEY. A search costs $0.005 and a page $0.0008.Is there a free web search for LobeChat?
Which web search API is best for LobeHub?
Sources
SpecStream wrote this page. LobeHub's settings come from its source on GitHub, and each provider's figure from that company's own page.
- LobeHub env tools.tsgithub.com/lobehub/lobehub/blob/main/packages/env/src/tools.ts, read Nov 10, 2026
- LobeHub search servicegithub.com/lobehub/lobehub/blob/main/apps/server/src/services/search/index.ts, read Nov 10, 2026
- LobeHub search providersgithub.com/lobehub/lobehub/blob/main/apps/server/src/services/search/impls/index.ts, read Nov 10, 2026
- LobeHub SearXNG clientgithub.com/lobehub/lobehub/blob/main/apps/server/src/services/search/impls/searxng/client.ts, read Nov 10, 2026
- LobeHub Firecrawl searchgithub.com/lobehub/lobehub/blob/main/apps/server/src/services/search/impls/firecrawl/index.ts, read Nov 10, 2026
- LobeHub Firecrawl crawlergithub.com/lobehub/lobehub/blob/main/packages/web-crawler/src/crawImpl/firecrawl.ts, read Nov 10, 2026
- LobeHub Tavily, Exa and Brave providersgithub.com/lobehub/lobehub/blob/main/apps/server/src/services/search/impls/tavily/index.ts, read Nov 10, 2026
- SearXNG Search APIdocs.searxng.org/dev/search_api.html, read Nov 10, 2026
- SearXNG own instancedocs.searxng.org/own-instance.html, read Nov 10, 2026
- SearXNG search settingsdocs.searxng.org/admin/settings/settings_search.html, read Nov 10, 2026
- SearXNG Docker installationdocs.searxng.org/admin/installation-docker.html, read Nov 10, 2026
- Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
- Tavily pricingtavily.com/pricing, read Nov 10, 2026
- Exa pricingexa.ai/docs/admin/pricing.md, read Nov 10, 2026
- Brave Search APIbrave.com/search/api/, 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




