Skip to content

Search with Categories

The search agent routes queries to different SearXNG categories based on intent. You can influence this routing by phrasing your query — or the agent will infer the right category automatically.

Available categories

CategoryEnginesBest for
generalGoogle, Bing, Brave, DuckDuckGoBroad factual questions, current events
social mediaReddit, Hacker NewsCommunity opinions, real-world experience
itGitHub, Stack Overflow, ArchWikiCode, libraries, tooling, configurations
sciencearXiv, Semantic Scholar, PubMedResearch papers, academic literature
newsNewsBlur, Google NewsRecent news, announcements

How the agent routes queries

The system prompt instructs the agent to:

  1. Start with a general web search for most queries
  2. Add social media for opinion/experience questions ("what do people think…", "how is X in production")
  3. Use it for code/tooling questions ("best library for…", "how to configure…", "GitHub repo for…")
  4. Use science for research-heavy topics ("recent papers on…", "survey of…")

Influencing routing with query phrasing

The agent picks up on intent signals in your query:

Community sentiment — triggers social media:

what do developers think about Bun vs Node.js
how do teams handle auth in production Next.js apps

Code/tooling — triggers it:

best pnpm workspace monorepo patterns
configure Nginx for websockets

Academic — triggers science:

recent papers on speculative decoding
survey of retrieval-augmented generation 2024

General factual — uses general (default):

React Server Components performance tradeoffs
what is GraphRAG

Combining categories

The agent can search multiple categories in one session. For a query like:

what are the best open-source vector databases and what do practitioners prefer

The agent will:

  1. Search general for factual comparison
  2. Search social media (Reddit/HN) for practitioner opinions
  3. Combine results into a single synthesized answer

Manual category override (API)

If you're calling the API directly, pass categories in your message:

json
{
  "role": "user",
  "content": "best Rust web frameworks",
  "categories": "it"
}

See Search Chat API for the full schema.

Part of the protoLabs autonomous development studio.