Skip to main content
POST
/
v3
/
tools
/
web
/
search
Web search
curl --request POST \
  --url https://api.opper.ai/v3/tools/web/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "query": "<string>"
}
'
{
  "results": [
    {
      "snippet": "<string>",
      "title": "<string>",
      "url": "<string>",
      "published_at": "<string>",
      "score": 123
    }
  ]
}
This endpoint is in beta. Its request and response shapes may change without the usual deprecation window.

Authorizations

Authorization
string
header
required

API key authentication. Pass your API key as a Bearer token.

Body

application/json
query
string
required

Search query string. Required.

allowed_domains
string[]

Restrict results to these domains (e.g. "go.dev" or "pkg.go.dev").

country
string

Two-letter ISO-3166 alpha-2 country code (e.g. "se" or "us") biasing results to that region. Case-insensitive.

engine
enum<string>

Search backend. auto (default) routes to Opper's default engine (Jina today). jina and exa pin a specific backend (when configured server-side).

Available options:
auto,
jina,
exa
excluded_domains
string[]

Exclude results from these domains (e.g. "reddit.com").

max_results
integer

Maximum results per page. 0 uses the engine default (typically 5). Must be between 0 and 20.

max_total_results
integer

Cap on total results accumulated across pages. 0 disables pagination. Silently ignored on engines without paginated search.

search_context_size
enum<string>

Per-result snippet length in characters. very_low ≈ 1000; low ≈ 5000; medium ≈ 10000 (default); high ≈ 30000; full returns the full extracted page content (capped ~50000).

Available options:
very_low,
low,
medium,
high,
full

Response

Successful response

results
object[]
required