Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Brave Search

Driver type brave; keyed by X-Subscription-Token, given through api_key_env or api_key_file. Facts verified on 2026-09-29 from the Brave Search API documentation and terms.

FieldValue
Endpointhttps://api.search.brave.com/res/v1/web/search (endpoint = "web", the default) and /res/v1/news/search (endpoint = "news"), with q, count, search_lang, country, safesearch and freshness
Permitted usePaid plan with a monthly credit; results may be used for inference; must not be used to train, evaluate or otherwise improve AI models; must not be stored beyond transient storage; must not be redistributed
IdentificationMust not obfuscate identity or circumvent rate limits; rypsok sends its standard User-Agent and the token on one origin only
Rate limitPlan-dependent; configured at 60 per minute (one per second) by default to protect the credit
Concurrency2
StorageForbidden: cacheable = false
AttributionOptional (“POWERED BY BRAVE” when used): attribution_required = false
Languagessearch_lang from the primary language subtag and country from the configured region: languages = All
Time rangefreshness = pd, pw, pm, py: time_ranges = All
Query length600 characters and 75 words; both checked before the request
Safe searchsafesearch = off, moderate, strict from the configuration
Categoriesgeneral (web), news (news endpoint)
Datepage_age when present, as a date
Errors429 → rate_limited with Retry-After or X-RateLimit-Reset; 401 and 403 → auth_failure; other statuses → request_failure; a body that does not parse → parse_failure; a timeout → timeout
Response bound1 MiB after decompression
Live checkQuery rust programming language on the web endpoint, asserting at least one result that parses; in the release checks and on demand, from .github/workflows/external-checks.yml, never on a pull request and never as a gate; skipped and reported when the repository secret BRAVE_API_KEY is absent; a failure means format drift (the provider changed its response or its terms), not an outage of rypsok
Notescount is at most 20; more_results_available is ignored (no pagination, REQ-SEARCH-007)