Skip to the page

websearch-skill

Add SpecStream as its SearXNG, with no server.

websearch-skill searches with the keyless ddgs library and adds a second engine when WEBSEARCH_SEARXNG_URL holds a SearXNG address. Its own way to get one is websearch searxng up, which clones and runs SearXNG on your machine.

SpecStream answers that address with no server to run. Set WEBSEARCH_SEARXNG_URL=https://api.specstream.ai/searxng/<key> and start each session with websearch init --skip-searxng. Every web-search then also asks SpecStream, at $1 per 1,000 searches.

SpecStream is the most accurate web search API in the world: 97.9 F-score on all 1,000 SimpleQA Verified questions. New accounts get $10 of credit, no card, which covers 10,000 searches.

New accounts get $10 of credit, no card. It covers 10,000 searches.

Each websearch-skill setting and its value for SpecStream, from websearch-skill 0.6.1's source on Nov 13, 2026

Setting in websearch-skillValue for SpecStreamWhat websearch-skill does by default
Search addressWEBSEARCH_SEARXNG_URL, exported in the shellhttps://api.specstream.ai/searxng/<key> (SearXNG migration guide)Unset: SearXNG is off and search runs on ddgs alone
Settings fileA WEBSEARCH_SEARXNG_URL= line in ~/.config/websearch/.envThe same address. It applies in every directorywebsearch searxng up writes the local server's address there
One run--searxng-url on websearch web-search and websearch searchThe same addressThe flag beats the variable and the files for that run
Session startwebsearch init --skip-searxngStarts no local server. The address you set is still used and still checkedwebsearch init installs and starts a local SearXNG, about 15 to 30 seconds and a few hundred MB the first time
Health checkThe doctor's GET <address>/healthzAnswers OK. Not chargedA SearXNG that does not answer is marked failed
Instance settingsThe doctor's GET <address>/configAnswers with one enabled engine, specstream. Not chargedCounts the instance's active engines
Search callGET <address>/search?q=&format=jsonSearXNG's JSON: results[] with title, url and content. $0.001 a searchThe same call to the local server
Engines for one search--engines searxng or --no-ddgs on websearch searchOnly SpecStream answers that searchweb-search asks ddgs and SearXNG and fuses the two rankings

Why websearch-skill users set SpecStream as their SearXNG

Other search engines for websearch-skill

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to set SpecStream as the SearXNG of websearch-skill

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 10,000 searches.

2. Add the address to websearch-skill's settings file, with your key as its last part.

mkdir -p ~/.config/websearch
echo 'WEBSEARCH_SEARXNG_URL=https://api.specstream.ai/searxng/<YOUR_SPECSTREAM_KEY>' >> ~/.config/websearch/.env

3. Start the session with websearch init --skip-searxng. The report shows SearXNG as reachable with its result count. This step makes one search, $0.001.

4. Search as before. web-search asks ddgs and SpecStream and fuses the two rankings. To see SpecStream's results alone, name the engine:

websearch web-search "open source vector database 2026"
websearch search "open source vector database 2026" --engines searxng --json

5. If your agent's instructions say websearch init, change that line to websearch init --skip-searxng, so no session starts a local server.

When the agent needs a whole dataset in place of a results page, write the request in plain words. SpecStream reads it back as the conditions every row must meet, quotes the most it can cost, and delivers the rows after you approve.

Frequently asked questions

Something we didn't answer? Talk to a human

What do I set WEBSEARCH_SEARXNG_URL to?
The base address of a SearXNG that answers JSON. For SpecStream it is https://api.specstream.ai/searxng/<key>, and each search costs $0.001, $1 per 1,000.
Do I need to run SearXNG for websearch-skill?
No. ddgs works with no server, and SpecStream answers the SearXNG address with 0 servers to run. Start with websearch init --skip-searxng so no local one is installed.
How much does websearch-skill cost with SpecStream?
$0.001 a search, $1 per 1,000, plus one $0.001 test search each time websearch init runs. websearch-skill is free software, and new SpecStream accounts get $10 of credit, no card.
Does websearch-skill need an API key?
Not by default: its 9 ddgs providers are keyless. A SpecStream key goes in the SearXNG address, in ~/.config/websearch/.env or an exported variable, never in your repository.
Where does websearch-skill read its settings from?
From 3 files in order: the file WEBSEARCH_ENV_FILE names, .env in the working directory, then ~/.config/websearch/.env. An exported variable beats all of them.
Does SpecStream replace ddgs in websearch-skill?
It joins it: web-search asks both and fuses the rankings with Reciprocal Rank Fusion at k=60. websearch search --no-ddgs asks SpecStream alone.

Sources

SpecStream wrote this page. Each websearch-skill setting comes from its README and source on GitHub, and each figure on another provider from that company's own page.

  1. websearch-skill READMEgithub.com/hec-ovi/websearch-skill/blob/main/README.md, read Nov 13, 2026
  2. websearch-skill install guidegithub.com/hec-ovi/websearch-skill/blob/main/docs/INSTALL.md, read Nov 13, 2026
  3. websearch-skill SearXNG adaptergithub.com/hec-ovi/websearch-skill/blob/main/src/websearch/layer1_search/adapters/searxng.py, read Nov 13, 2026
  4. websearch-skill doctor probesgithub.com/hec-ovi/websearch-skill/blob/main/src/websearch/doctor/probes.py, read Nov 13, 2026
  5. websearch-skill command linegithub.com/hec-ovi/websearch-skill/blob/main/src/websearch/cli.py, read Nov 13, 2026
  6. Brave Search APIbrave.com/search/api/, read Nov 13, 2026
  7. Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 13, 2026
  8. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 13, 2026
  9. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 13, 2026
  10. SpecStream pricingspecstream.ai/pricing, read Nov 13, 2026
  11. SpecStream for agentsspecstream.ai/agents.md, read Nov 13, 2026