# SearXNG

SearXNG is a web grounding option for building AI agents. Self-hosted metasearch. No third-party search vendor in the path.

## Facts

- Layer: Web grounding (What it knows)
- Vendor: SearXNG (github.com/searxng/searxng)
- Licence: open source
- Pricing: open source
- Self-hostable: yes
- Docs: https://docs.searxng.org/
- Last verified: 2026-08-21

## When to reach for it

- You are choosing a web grounding component — what it knows.
- You need to run it on your own infrastructure, or your procurement process requires source access.
- You want to start without a commercial conversation.

## Alternatives in the web grounding layer

| Option | What it does | Licence | Self-host |
| --- | --- | --- | --- |
| Exa | Embeddings-native web search built for agents, with full-content retrieval. | proprietary | no |
| Tavily | Search API that returns model-ready answers rather than ten blue links. | proprietary | no |
| Firecrawl | Turns any site into clean markdown, including the JavaScript-heavy ones. | open source | yes |
| Brave Search API | Independent web index with straightforward per-query pricing. | proprietary | no |

Head to head:

- https://newagent.build/compare/searxng-vs-exa
- https://newagent.build/compare/searxng-vs-tavily
- https://newagent.build/compare/searxng-vs-firecrawl
- https://newagent.build/compare/searxng-vs-brave-search

## Curated stacks using it

- Regulated / on-prem: Nothing leaves the estate. Every component runs on infrastructure you control.

## Add it to a stack

```bash
curl -fsSL "https://newagent.build/api/stack?search=searxng&format=sh" | sh
```

## Machine interfaces

- `GET https://newagent.build/api/registry` — every component as JSON
- `GET https://newagent.build/api/vendors` — vendors, with the repo and releases feed to watch
- `GET https://newagent.build/api/advise?q=<plain english>` — recommended stack for a description
- `GET https://newagent.build/api/stack?<layer>=<id>&format=sh|json|md|yml|agents|env` — a stack as files
- `GET https://newagent.build/llms.txt` — the whole registry in one fetch

Any page here also returns markdown if you send `Accept: text/markdown`.