Getting Started

SearXNG is a free, open source, self-hosted metasearch engine that aggregates results from more than 70 search engines without tracking users or storing search history. It is the privacy-respecting alternative to Google, Bing, and other commercial search engines. Available as an open web service in Eyevinn Open Source Cloud, SearXNG is ideal for teams that need a shared internal search tool, developers building search-powered applications, or anyone who wants full control over their search infrastructure. This tutorial walks you through the steps to get started.

Prerequisites

Step 1: Create a SearXNG instance

Navigate to the SearXNG service in the Eyevinn OSC web console. Click Create searxng and fill in:

Field Description
Name Short alphanumeric name for your instance
AutoComplete (Optional) Autocomplete engine to use, e.g. google, duckduckgo, wikipedia

Click the instance card once the status turns green and running.

Step 2: Use SearXNG

Open the instance URL in your browser. The search interface is available immediately with no login required.

From the Preferences page you can:

  • Select which search engines to query (Web, News, Images, Videos, Map, etc.)
  • Change the language, region, and theme
  • Enable or disable SafeSearch
  • Choose the autocomplete engine

Your preferences are stored in a cookie on your browser.

Step 3: Use the search API

SearXNG exposes a JSON API that is useful for building search-powered applications:

# Search for "open source cloud" and return JSON
curl "https://<your-instance-url>/search?q=open+source+cloud&format=json"

The API response includes:

{
  "query": "open source cloud",
  "number_of_results": 1000000,
  "results": [
    {
      "title": "...",
      "url": "https://...",
      "content": "...",
      "engine": "google",
      "score": 0.9
    }
  ]
}

Search parameters:

Parameter Description Example
q Search query (required) q=typescript+tutorial
format Response format: html (default) or json format=json
categories Comma-separated categories categories=general,news
engines Comma-separated engines to use engines=google,bing
language Language code language=en
pageno Page number (default: 1) pageno=2

Node.js example:

const response = await fetch(
  `https://<your-instance-url>/search?q=${encodeURIComponent(query)}&format=json`
);
const data = await response.json();
const results = data.results.map(r => ({ title: r.title, url: r.url, snippet: r.content }));

Using the CLI

osc create searxng-searxng mysearch -o AutoComplete="google"

Resources