Degoog — API reference

User-facing HTTP endpoints and a real life usage example.

Overview

Most of Degoog's HTTP surface is internal plumbing for the web UI. The endpoints below are the ones that will most likely be used for external callers.

Endpoints live at the same host/port as the UI (http://localhost:4444 by default, or DEGOOG_PORT). Responses are JSON. Rate limits is configured in Settings → Server and apply to every caller.

GET /api/search

Run a metasearch and return merged, scored results.

Param Description
q Required. Search query.
type web (default) | images | videos | news.
page 1-based page number. Clamped to 1..10.
time any | hour | day | week | month | year | custom. For custom, pass dateFrom / dateTo (YYYY-MM-DD).
lang ISO 639-1 code. Overrides DEGOOG_DEFAULT_SEARCH_LANGUAGE for this request.
curl "http://localhost:4444/api/search?q=rust+lifetimes"

Response:

{
  "results": [
    {
      "title": "...",
      "url": "https://...",
      "snippet": "...",
      "source": "google",
      "score": 92,
      "sources": ["google", "duckduckgo"]
    }
  ],
  "query": "rust lifetimes",
  "totalTime": 812,
  "type": "web",
  "engineTimings": [{ "name": "Google", "time": 540, "resultCount": 10 }],
  "relatedSearches": ["rust lifetime elision", "..."]
}

POST /api/search

Same as the GET form, with a JSON body. Use this when you need a long engine list.

curl -X POST http://localhost:4444/api/search \
  -H "Content-Type: application/json" \
  -d '{
    "query": "rust lifetimes",
    "type": "web",
    "page": 1,
    "lang": "en",
    "engines": ["google", "duckduckgo"]
  }'

GET /api/search/stream

Server-Sent Events variant. Same query parameters as GET /api/search. Emits:

curl -N "http://localhost:4444/api/search/stream?q=hello"

GET /api/suggest?q=...

Autocomplete suggestions merged from Google and DuckDuckGo. Returns string[].

GET /api/lucky?q=...

Runs a web search and 302-redirects to the first result's URL.

GET /opensearch.xml

OpenSearch descriptor — lets browsers install Degoog as a search engine.

Tip: wiring Degoog into Open WebUI

Degoog is SearXNG-compatible for Open WebUI's built-in web search — no custom tool needed.

  1. Open WebUI → Admin Panel.
  2. Go to Settings.
  3. Select Web Search and enable it.
  4. Set Web Search Engine to searxng.
  5. Set SearxNG Query URL to your Degoog instance URL + /api/search, e.g. http://127.0.0.1:4444/api/search.

Replace http://127.0.0.1:4444 with your actual Degoog address.