APIUp to 28% cheaper than official pricesTry the API →
Hermes
Back to News

RustXNG Rewrites Python's SearXNG in Rust, Cuts Query Time 10x

RustXNG is a Rust rewrite of SearXNG targeted at local AI agent grounding and RAG. Ships as a single binary with no Python or database dependencies, launched via Cargo or Docker. Benchmarks show 0.03s startup vs 0.72s, 13 MiB vs 118 MiB RAM, and 0.27s for 169-engine queries.

RustXNG Rewrites Python's SearXNG in Rust, Cuts Query Time 10x
Source
AlphaSignal
Published
Author
AlphaSignal
Read
2 min read

Takeaways

  • RustXNG is a Rust rewrite of SearXNG targeted at local AI agent grounding and RAG.
  • Ships as a single binary with no Python or database dependencies, launched via Cargo or Docker.
  • Benchmarks show 0.03s startup vs 0.72s, 13 MiB vs 118 MiB RAM, and 0.27s for 169-engine queries.
  • Ports all 226 SearXNG engine types across 352 configs including Google, Bing, arXiv, GitHub.
  • Drop-in compatible with existing SearXNG settings.yml files and SEARXNG environment variables.
  • Licensed AGPL-3.0-or-later, so network deployments of modified versions must publish source.

RustXNG is a new self-hosted search backend designed for AI agents, retrieval-augmented generation pipelines, and other applications that need live web results. The open-source project reimplements the Python-based SearXNG metasearch engine in Rust, giving developers a local alternative to per-query services such as Exa, Serper, and Tavily.

Developers can run a single executable, send queries over HTTP, and aggregate results from Google, Bing, Wikipedia, GitHub, arXiv, and hundreds of other configured sources. The default metasearch path uses public search interfaces and requires no paid search API key, although upstream providers can still impose rate limits, challenges, or blocks.

Metasearch, rebuilt in Rust

RustXNG delegates retrieval to upstream search services, sending requests in parallel before deduplicating and ranking the returned results. It maintains no independent web index, so result quality, coverage, and availability still depend on those providers.

The repository lists 226 engine types and 352 configuration entries spanning general web search, news, images, video, academic papers, package registries, maps, and torrents. Engine types represent integrations, while configuration entries cover the available source variants; the benchmark configuration enables 169 engines by default.

Browser requests receive HTML, while applications can request JSON, CSV, or RSS. The server can also proxy images and favicons, preventing those asset hosts from receiving the end user’s IP address. Upstream search requests still expose the query and the RustXNG host’s IP address.

The benchmark claim

Reporting is indexed from AlphaSignal. Rights remain with the original publisher and cited sources.

Read original report

Sources

  1. 01github.com
  2. 02github.com
  3. 03github.com
  4. 04github.com