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
- If you have not already done so, sign up for an Eyevinn OSC account
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"