How to use SearXNG for web search in BoltAI
Run your own SearXNG server and use it for web search in BoltAI, with no API key.
Written By Daniel Nguyen
SearXNG is a search engine you run yourself. BoltAI can use it for web search with no API key: searches go from your Mac straight to your SearXNG server.
This guide sets up SearXNG with Docker and connects it to BoltAI. If you only want web search with no setup at all, use the DuckDuckGo Search plugin instead.
Before you start
You need Docker Desktop (or another way to run SearXNG).
BoltAI needs SearXNG to return results as JSON. This is off by default in SearXNG, and it is the most common reason the connection fails. Step 1 turns it on.
Step 1: Create the settings file
Create a folder for SearXNG, and inside it a file named settings.yml with this single line:
{use_default_settings: true, server: {secret_key: "replace-this-with-a-long-random-string", limiter: false}, search: {formats: [html, json]}}The json entry in formats is the part BoltAI needs. Replace the secret key with any long random text.
Step 2: Start SearXNG
In Terminal, go to that folder and run this as one line:
docker run -d --name searxng -p 127.0.0.1:8888:8080 -v "$PWD/settings.yml:/etc/searxng/settings.yml:ro" searxng/searxng:latestSearXNG is now running at http://localhost:8888, reachable only from your Mac. Open that address in a browser to check that the search page loads.
Step 3: Connect it in BoltAI
Open BoltAI → Settings → Plugins → SearXNG Search.
Enter the server address:
http://localhost:8888Click Test and Save.
BoltAI runs a test search. When it shows "Saved. The server is working.", the plugin is ready.
The address is kept on this Mac only. It does not sync to your other devices, because it usually points at this Mac or your local network.
Step 4: Use it in a chat
Open a chat and click the Tools button in the composer.
Turn on tools, then turn on SearXNG Search.
Ask something that needs current information.
SearXNG Search only appears in the Tools menu after you have saved a server address. Web Fetch is turned on alongside it, so the model can read the pages it finds.
It works with every provider, including Local Models. Small local models are less reliable at deciding when to search, so a larger model gives better results.
If it doesn't work
"This SearXNG server does not allow JSON results": the
jsonformat is missing fromsettings.yml, or the container was started before you added it. Fix the file, then rundocker restart searxng.Could not connect: check that the container is running (
docker ps) and that the address and port in BoltAI match the ones in thedocker runcommand.Few or no results: SearXNG collects results from other search engines, and some of them limit requests for a while. Try again in a few minutes, or turn on more engines in SearXNG's preferences.
Public SearXNG servers: most of them turn JSON off and block automated requests, so they usually will not work. Run your own.
Was this helpful?
More in Provider Guides
Add an AI provider and API keyHow to use LM Studio in BoltAIHow to use OpenRouter in BoltAIHow to set up Google Vertex AI in BoltAIStill need help? Ask the team