What is SearxNG?
SearxNG is a free, privacy-focused metasearch engine that:- Aggregates results from multiple search engines (Google, Bing, DuckDuckGo, etc.)
- Does not track or profile users
- Provides JSON API for programmatic access
- Supports specialized search engines including Wolfram Alpha
Default configuration
If you’re using the standard Perplexica Docker image, SearxNG is included and pre-configured. No additional setup is required.
- SearxNG running on port 8080 (internal)
- Pre-configured settings with JSON format enabled
- Wolfram Alpha search engine enabled
- Automatic startup with Perplexica
Using your own SearxNG instance
If you already have a SearxNG instance running, use the slim Perplexica image:The URL of your SearxNG instanceExample:
http://localhost:8080Requirements for external SearxNG
Ensure your SearxNG instance has:SearxNG configuration
The bundled SearxNG instance uses the following configuration:settings.yml
Configuration details
Configuration details
- use_default_settings: Inherits SearxNG’s default configuration
- autocomplete: Uses Google for search suggestions
- formats: Enables both HTML and JSON output
- wolframalpha: Required for computational queries and calculations
Advanced configuration
If you’re running your own SearxNG instance, you can customize:Autocomplete providerOptions:
google, duckduckgo, wikipedia, dbpedia, qwantDefault: googleSupported output formatsRequired: Must include
json for PerplexicaDefault: ["html", "json"]Enabled search enginesRequired:
wolframalpha must be enabledYou can add more engines from the SearxNG defaultsSetting up standalone SearxNG
To run SearxNG separately from Perplexica:Using Docker
Manual installation
For manual installation, refer to the official SearxNG documentation.
- Install SearxNG following the official guide
- Configure
settings.ymlwith JSON format and Wolfram Alpha enabled - Start SearxNG service
- Configure Perplexica to use your SearxNG URL
Configuring in Perplexica
You can set the SearxNG URL through:Settings UI
- Navigate to Settings in Perplexica
- Find the “Search” section
- Enter your SearxNG URL in the “SearXNG URL” field
- Save changes
Environment variable
SetSEARXNG_API_URL before starting Perplexica:
Troubleshooting
SearxNG not responding
Check SearxNG is running
Check SearxNG is running
Test the SearxNG endpoint:You should see the SearxNG web interface HTML.
Verify JSON format
Verify JSON format
Ensure JSON format is enabled:If you get an error about unsupported format, check your
settings.yml.Check network connectivity
Check network connectivity
From inside the Perplexica container:If this fails, verify the URL configuration and Docker networking.
Wolfram Alpha not working
Verify Wolfram Alpha is enabled insettings.yml:
Connection refused errors
Docker networking issues
Docker networking issues
If Perplexica can’t reach SearxNG:
- Both in Docker: Use Docker network or container names
- SearxNG on host: Use
host.docker.internal(Windows/Mac) or host IP (Linux) - Different machines: Ensure firewall allows connections