mode; Serper cannot return full text; Tavily stops at 20 results. Rather than fail or quietly do something different, Helve honours what it can, approximates what it must, and reports every adjustment in warnings.
The three codes
warning
The provider cannot express the parameter, so it was dropped. Example:
offset on an engine without pagination.warning
The parameter was emulated. Examples: domain filters rewritten as
site: operators, max_results capped at the engine’s ceiling, a date range applied by Helve after the fact.warning
Helve removed results to honour a filter the engine lacks, or, with
fusion, dropped a member that failed. The message says how many.Strict mode
strict: true, any parameter the serving provider cannot honour exactly makes the request a 400 invalid_request instead of a warning. Use it when a filter is a correctness requirement rather than a preference, for example a compliance rule that results must come from an allowlist of domains.
Strict mode is rejected with fusion, since a panel of engines will always differ in what they support. Members of a fusion panel run non-strict and their warnings come back tagged with the engine name.
In practice
- Log
warningsin development. They are the fastest way to learn which of your parameters are native on the engine you chose. - Treat an empty
warningsarray as the guarantee that the provider did exactly what you asked. - Switching providers is a one-field change precisely because the warnings, not your code, absorb the differences.