NAME
Net::Async::WebSearch::Provider::SearxNG - SearxNG/Searx JSON endpoint provider
VERSION
version 0.002
SYNOPSIS
my $sx = Net::Async::WebSearch::Provider::SearxNG->new(
endpoint => 'https://searxng.example.org',
name => 'my-searxng',
api_key => 'optional-bearer-token',
);
DESCRIPTION
Provider for self-hosted or public SearxNG instances using the JSON format (&format=json). The endpoint instance must have the JSON output format enabled in its settings.yml.
RUNNING A LOCAL SEARXNG
The default SearxNG settings only serve HTML — hitting ?format=json returns 403 Forbidden until you explicitly enable it. In modern SearxNG the built-in rate limiter also requires both a Valkey instance (redis is deprecated in its config) AND a separate /etc/searxng/limiter.toml.
For a private single-user instance you don't need any of that complexity: ship a settings.yml that turns server.limiter off and enables json in search.formats, and you're done. See ex/docker-compose.searxng.yml and ex/searxng/settings.yml in this distribution for a working config. Paste your own server.secret_key (openssl rand -hex 32) into the yaml before first start.
If you later expose the instance publicly you'll want to turn the limiter back on — then add a Valkey container, set valkey.url, and write a limiter.toml. See https://docs.searxng.org/admin/searx.limiter.html.
endpoint
Required. Base URL of the SearxNG instance (no trailing slash needed).
api_key
Optional. Sent as a Bearer token (some private instances protect JSON).
search
Honours limit, language, safesearch, categories, engines, pageno.
SEE ALSO
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-net-async-websearch/issues.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudssus.de> https://raudss.us/
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.