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:
-
engine-result— fired as each engine returns. Theresultsfield is the running merged list, so a lazy consumer can just keep the last one. -
done— final event withtotalTime,engineTimings,relatedSearches.
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.
- Open WebUI → Admin Panel.
- Go to Settings.
- Select Web Search and enable it.
-
Set Web Search Engine to
searxng. -
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.