Web search without an API key
Bing's API is gone and Brave's free tier ended, so my assistant now searches through a SearXNG instance running in Docker on my own machine.
My assistant can now read files, open apps and fetch web pages. The missing piece was search: finding pages in the first place.
The options
Before choosing, I checked current prices:
- The Bing Search API was retired in 2025.
- Brave Search API dropped its free tier in February 2026. It now costs $5 per 1,000 queries and needs a card.
For a personal assistant that runs locally, paying per query felt wrong. So I went with SearXNG, an open-source metasearch engine, running in Docker on my laptop.
Two traps
- The JSON API is off by default, even on your own instance. I had to add
search: formats: [html, json]tosettings.ymland restart the container. - Git Bash rewrites Docker volume paths. Running
docker run -v ...from Git Bash quietly turned/etc/searxnginto/Program Files/Git/etc/searxng. Docker commands on this machine now run from PowerShell.
Keeping fetches safe
fetch_url refuses to load pages on my own machine or local network. It resolves the hostname and checks the real IP address, instead of matching text in the URL. Otherwise a web page could trick the model into probing my own computer with its next call.
Proof it works
I asked about something from September 2026, after the model’s training data ends. It answered with current search results. That means it really searched, instead of making something up.
The first four parts of the plan now work: chat, tool calling, files and apps, and the web. Next: a voice.


