{
  "id": 8293317,
  "title": "A decision proxy in front of SearXNG: speculative execution, per-engine circuit breakers, and keyless fallback",
  "url": "https://urgent.news/2026/09/18/a-decision-proxy-in-front-of-searxng-speculative-execution-per-engine",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-18T19:03:50.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/ghilteras/a-decision-proxy-in-front-of-searxng-speculative-execution-per-engine-circuit-breakers-and-4knj"
  },
  "original_language": "en",
  "account": "The searxng-gateway is a Go HTTP proxy that sits in front of the SearXNG search engine, adding several features to improve reliability and performance. It preserves the JSON response shape produced by SearXNG, so clients do not need to change. Key features include speculative execution, per-engine circuit breakers, an in-memory LRU cache, Prometheus metrics, and a zero-key mode.\n\nSpeculative execution allows SearXNG and a configurable number of premium providers to start together, with premium calls running serially within that pass. Bounded fallback kicks in if the merged result count is below a threshold, trying remaining providers round-robin until the time budget expires.\n\nPer-engine circuit breakers are implemented for each SearXNG engine and premium provider using the gobreaker library. A single 4xx-class error immediately opens the circuit, preventing further requests to that engine. After a five-minute timeout, the circuit enters a half-open state, sending a single probe request. If successful, the circuit closes and increments the recovery counter; otherwise, it re-opens for another five minutes. SearXNG itself has its own cooldown mechanism, skipping it entirely after a certain number of consecutive failures.\n\nObservability is provided through Prometheus metrics and an importable Grafana dashboard, with example alert rules available. Keyless mode allows the gateway to run on SearXNG's free engines without requiring API keys.",
  "summary": "TL;DR searxng-gateway is a Go HTTP proxy that sits in front of SearXNG and adds multi-provider fallback (Brave, Exa, Jina, Tavily), a per-engine circuit breaker, an in-memory LRU cache, Prometheus metrics, and a zero-key mode. It preserves SearXNG's JSON response shape, so clients do not change. The interesting parts are the execution model, the breaker semantics, and the trade-offs — including a…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}