◎ Discry Score
brave.com
infrastructure · API
C
0 / 100
DISCOVERY0
COMPREHENSION0
Category leader: 98 (A)
Discry your API →
INFRASTRUCTURE · RANK #49 OF 68

Brave is Needs Work to agents.

Discry independently scored how well an AI agent can discover and understand the Brave API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.

Discry your API — freeView the docs ↗

SCORED UNDER RUBRIC 1.2 · A full re-launch under Discry Score 2.5 — a new behavioral instrument, not comparable to these scores — is in progress.

Discovery

45% of score · 38/100
OpenAPI specA machine-readable OpenAPI/Swagger spec agents can parse.Fail
llms.txtAn llms.txt index that points agents to the docs that matter.Fail
llms.txt qualityThe llms.txt is focused, current, and well under the size budget.Fail
llms-full.txtA full-text bundle agents can load in one request.Fail
AGENTS.mdAn AGENTS.md that tells coding agents how to build on the API.Pass
.well-known/mcp.jsonA discoverable MCP manifest at a well-known path.Fail
MCP registryThe API is listed in a public MCP registry.Pass
robots.txt AI directivesrobots.txt allows (or explicitly guides) AI crawlers.Pass
SitemapA sitemap so agents can enumerate the docs surface.Partial

Comprehension

55% of score · 91/100
Task-oriented descriptionsEndpoints described by what they accomplish, not just their shape.Pass
Realistic examplesRunnable, real-world request/response examples.Pass
Multi-step workflowsDocs that chain calls into complete jobs an agent can follow.Pass
Error-recovery guidanceDocumented failure modes and how to recover from them.Partial
Answer-first formatThe answer leads; preamble does not bury it.Pass
Capability boundariesClear limits — what the API can and cannot do.Pass
Naming consistencyConsistent, predictable naming across endpoints.Pass
Heading hierarchyClean heading structure agents can navigate.Pass
Markdown docsDocs available as clean markdown, not JS-rendered HTML only.Pass
Token efficiencyDocs are concise enough to fit an agent context window.Partial

What we found

  • An agent trying to consume Brave's docs programmatically hits a wall at discovery: there is no llms.txt, no llms-full.txt, and no .well-known/mcp.json on either brave.com or the api-dashboard docs host — so an agent cannot self-orient without crawling HTML pages.
  • Once inside the docs, comprehension is near-best-in-class (91/100): the quickstart ships copy-pasteable curl, Python, and JavaScript examples with realistic queries, and the rate-limiting guide gives agents actual retry-with-backoff code for 429s — the single most valuable error case.
  • Brave publishes an official AGENTS.md in its brave/brave-search-skills repo ('Official skills for using Brave Search API with AI coding agents') plus an official MCP server listed across Glama, Smithery, and PulseMCP — strong signals that agent consumption is a first-class use case.
  • No publicly downloadable OpenAPI/Swagger spec was found. The API is fully documented via a hosted interactive reference, but an agent that wants a machine-readable contract to generate a client has nothing to fetch — the heaviest-weighted discovery check fails.
  • Naming and capability boundaries are consistent and explicit: uniform snake_case parameters (extra_snippets, search_lang, more_results_available), documented hard limits (max 20 results, offset max 9, POI ids expire in ~8 hours), giving an agent predictable, self-correcting behavior.

What to change

Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.

  1. 01Publish a downloadable OpenAPI 3.x spec at a stable public URL (e.g. api-dashboard.search.brave.com/openapi.json). This is the highest-impact fix — it's the single largest discovery weight and would let agents auto-generate clients instead of scraping the reference.
  2. 02Add an llms.txt at both brave.com and api-dashboard.search.brave.com that links the quickstart, per-service endpoints (web, local, news, images, video, summarizer, LLM Context), rate-limiting, and auth pages — a low-effort, high-signal win that currently scores three zeros (llmsTxt, llmsTxtQuality, llmsFullTxt).
  3. 03Add an llms-full.txt containing the concatenated core docs as clean markdown so an agent can ingest the full API surface in one fetch and improve token efficiency (currently core capabilities are spread across multiple pages).
  4. 04Publish a .well-known/mcp.json advertising the official Brave Search MCP server and its tool declarations, closing the loop between the existing MCP registry listings and machine discovery.
  5. 05Add a consolidated errors reference covering non-429 failures (400/401/403/422) with the JSON error body shape and explicit recovery steps, to lift error-recovery guidance from partial to a full pass.

Execution coverage · INFORMATIONAL, UNSCORED

Whether an agent can actually complete a call and recover from errors is the deeper Audit layer — documented here, but not part of the Discry Score.

API key (X-Subscription-Token header) Error format documented Rate limits documented Pagination documented Idempotency documented

Execution characteristics are unusually well documented for a scan: API-key auth via the X-Subscription-Token header, a full rate-limit spec (1s sliding window, 429 responses, and X-RateLimit-Limit/Policy/Remaining/Reset headers with worked examples), and clear pagination (count max 20, offset max 9, plus a more_results_available flag). Idempotency is not discussed, which is expected for read-only GET search endpoints.

See your own Discry Score.

Drop your API docs URL. See what an agent sees — in 60 seconds, free.

Discry your API — free