ScaiLabs Search
Developer documentation

ScaiLabs Search API

A clean HTTP interface to a privacy-respecting metasearch backend. ScaiLabs Search aggregates results from many upstream search engines and serves them as JSON, CSV, or RSS — designed for AI agents, RAG pipelines, and any application that needs fresh, neutral web results.

Overview

The ScaiLabs Search API exposes a single endpoint that returns aggregated search results from dozens of upstream sources. Browser traffic to the homepage is open and anonymous; programmatic access (any request asking for a machine-readable format) requires an API key.

Base URL: https://search.scailabs.ai

Authentication

Pass your API key on every machine-readable request, either as an HTTP header or as a query parameter:

Authorization: Bearer sk-your-key-here

# or, equivalent:
GET /search?q=…&format=json&api_key=sk-your-key-here

Valid keys bypass the public rate limiter. Keys are issued by the ScaiLabs Search operator on request — get in touch via scailabs.ai.

Browser traffic to the homepage and the autocomplete endpoint stays open to anonymous visitors and does not require a key.

GET https://search.scailabs.ai/search · POST also accepted.

Query parameters

NameTypeDescription
qstringThe search query. Required. Supports SearXNG-style operators (e.g. !bang, site:) — see the search syntax page.
formatstringjson, csv, or rss. Required for programmatic use.
categoriesstringComma-separated list: general, images, videos, news, map, music, it, science, files, social media.
enginesstringComma-separated list of specific engines to query, e.g. google,bing,duckduckgo.
languagestringResult language code (e.g. en, de-DE, all).
pagenointPage number, starting at 1.
time_rangestringday, week, month, year.
safesearchint0 (off), 1 (moderate), 2 (strict).

Example: curl

curl -G 'https://search.scailabs.ai/search' \
  -H 'Authorization: Bearer sk-your-key-here' \
  --data-urlencode 'q=european ai regulation 2025' \
  --data-urlencode 'format=json' \
  --data-urlencode 'language=en' \
  --data-urlencode 'categories=general,news'

Example: Python

import httpx

resp = httpx.get(
    "https://search.scailabs.ai/search",
    params={
        "q": "european ai regulation 2025",
        "format": "json",
        "language": "en",
        "categories": "general,news",
    },
    headers={"Authorization": "Bearer sk-your-key-here"},
    timeout=30,
)
resp.raise_for_status()
for r in resp.json()["results"][:5]:
    print(r["title"], "—", r["url"])

Response shape (JSON)

{
  "query": "european ai regulation 2025",
  "number_of_results": 0,
  "results": [
    {
      "url": "https://…",
      "title": "…",
      "content": "snippet text",
      "engine": "google",
      "score": 4.2,
      "category": "general",
      "publishedDate": "2025-09-12T00:00:00"
    }
  ],
  "answers": [],
  "corrections": [],
  "infoboxes": [],
  "suggestions": ["…"],
  "unresponsive_engines": []
}

Image, video, and map results carry additional fields (e.g. thumbnail, img_src, iframe_src, length, latitude, longitude). Refer to the upstream SearXNG result types reference for the full schema.

Autocomplete endpoint

GET https://search.scailabs.ai/autocompleter?q=…

Returns a JSON array of suggestions for the given partial query. Open to anonymous traffic — no key required.

curl 'https://search.scailabs.ai/autocompleter?q=european%20ai'

Rate limits

Anonymous traffic is rate-limited by IP and by behavioral signals (the SearXNG bot limiter). Authenticated requests with a valid API key bypass these limits. Per-key quotas are not yet enforced — please be reasonable while we get there.

Errors

StatusMeaning
401Missing or invalid API key on a machine-format request.
429Rate limited (anonymous traffic only).
4xxMalformed query parameters.
5xxUpstream search engine errors are reported per-engine in the unresponsive_engines field of a 200 response; a 5xx means the ScaiLabs Search backend itself failed.

Attribution

ScaiLabs Search is an adaptation of SearXNG, the open-source metasearch engine. We have rebranded the user interface and added an authenticated API layer for use as a backend for our AI services. Source for this adaptation will be published at https://github.com/searxng/searxng. All credit for the underlying search aggregation engine belongs to the SearXNG project and its contributors.