Skip to main content
Every tool endpoint takes a provider field. It accepts a provider id, auto, or, for search, fusion.

auto

The default. Helve picks its default provider for that tool and tells you which one in the response’s provider field. Treat auto as “a good engine” rather than “always the same engine”: the default can change as Helve’s routing improves.

A named provider

The request goes to that provider only. If it is not configured on Helve, the response is a 503 provider_not_configured. If the tool has no such provider at all, for example brave on Extract, the request fails validation with a 400.

fusion

Search only. Fans the request out to a panel of engines and merges their top picks by consensus. See Fusion.

Native parameters with provider_options

Helve’s request shape covers what most providers share. Everything else stays reachable:
provider_options.<id> is merged into that provider’s request verbatim, and every other key is ignored. That makes a request portable: the same body can carry native extras for several providers and only the serving one uses them. Helve never inspects these values, with one exception: provider_options.fusion is Helve’s own and is typed. For transcription, provider_options is validated by the adapter. Model selection lives there; transport settings such as callback URLs and authentication cannot be overridden.

Which provider served the request

Always read provider from the response rather than assuming. With fusion it is the literal string fusion, and each result’s raw.providers lists the engines that returned that page.