All setup guides

Set up web search

Karja's Web Search and Videos apps need a search backend. There's no shared default that works reliably, so it's bring-your-own — pick one of the two options below.

Brave Search API

Easiest. A free key — no credit card — with about 2,000 queries a month. A couple of minutes to set up.

SearXNG (self-hosted)

Most private. A metasearch engine you run yourself. More setup, but no third-party key and no query limit — and it unlocks ad-free embedded video.

Option A — Brave Search API

1

Get a free API key

Go to brave.com/search/api, sign up, and choose the Free plan — no credit card required. It allows about 2,000 queries per month.

2

Copy your key

From the Brave API dashboard, copy your subscription token (the API key).

3

Paste it into Karja

In Karja, open Settings → Search, choose Brave Search API, paste your key, and click Test connection. When it says Working, you're done.

Note: with Brave, the Videos app opens results in your browser. For ad-free video embedded inside Karja, use SearXNG below.

Option B — Self-hosted SearXNG

SearXNG is a free, open-source metasearch engine. Public instances almost always block the JSON API that Karja needs, so run your own — Docker is the easy path.

1

Run SearXNG with Docker

Follow the official Docker installation guide . The quickest start maps it to port 8888:

docker run -d --name searxng -p 8888:8080 searxng/searxng

Your instance is then at http://localhost:8888.

2

Enable the JSON API

This is the step people miss: Karja reads results as JSON, which is off by default. In your SearXNG settings.yml, add json under search.formats:

search:
  formats:
    - html
    - json

Then restart the container so the change takes effect.

3

Point Karja at it

In Karja, open Settings → Search, choose SearXNG (self-hosted), enter your instance URL (e.g. http://localhost:8888), and click Test connection.

Good to know

  • The same provider powers both Web Search and Videos — set it once.
  • SearXNG must stay running (on your machine or a home server) for search to work in Karja.
  • Don't rely on a public SearXNG instance — they generally block the JSON API and will fail the connection test.