---
title: "List search providers"
method: GET
path: "/search/providers"
tags: ["Search"]
---

# List search providers

`GET /search/providers`

## Request

- Base URL: `https://api.onkernel.com`
- URL: `https://api.onkernel.com/search/providers`
- Auth: HTTP bearer

Lists providers, capabilities, and machine-readable native-option schemas. Auto and fallback
are strategies, not provider entries. The list is not paginated and contains no latency
benchmarks. X-Request-Id identifies the request.

## Query parameters

- `slug` 'brave' | 'exa' | 'perplexity' | 'context' | 'parallel' | 'valyu' | 'octen' | 'you' | 'tavily' | 'serpapi': Concrete search provider. Matches the slugs returned by GET /search/providers.

## Response `200`

List of available search providers. Returns an empty array, never null.

- SearchProvider[]
  - `content` SearchContentCapabilities, required
    - `freshness_control` boolean, required: Can enforce the requested maximum content age.
    - `inline` boolean, required: Supports content retrieval with the search request.
    - `post_hoc` boolean, required: Supports content retrieval after the search completes.
  - `max_results_cap` integer, required
  - `notes` string[]: Provider-specific limitations, conditional filter support, and warnings about search modes.
  - `params` SearchParameterCapabilities, required
    - `country` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
    - `end_date` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
    - `exclude_domains` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
    - `include_domains` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
    - `language` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
    - `recency` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
    - `safe_search` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
    - `start_date` SearchParameterCapability, required
      - `notes` string: Translation behavior, limitations, and precision.
      - `support` 'native' | 'emulated' | 'unsupported', required
  - `provider_options` SearchProviderOptionsDiscovery, required
    - `examples` object[]
    - `schema` object, required: JSON Schema for the provider-native options accepted by POST /search.
    - `schema_ref` string, required: OpenAPI component name for the matching typed provider-options schema.
  - `slug` string, required

## Other responses

- `400`: Bad Request – invalid input
- `401`: Unauthorized – missing or invalid authorization token
- `403`: Forbidden – insufficient permissions or plan
- `404`: Resource not found
- `500`: Internal Server Error
- `503`: No provider is currently available for the request.

## Changes

- **2026-09-22** `c5f760559289`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/onkernel/apis/kernel-api/changes/search/providers/get.md)

---

[API](https://skmtc.dev/onkernel/apis/kernel-api.md) - [All operations](https://skmtc.dev/onkernel/apis/kernel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/onkernel/apis/kernel-api/revisions/0f6cf4f58fe6?raw)
