CoinAPI is Good to agents.
Discry independently scored how well an AI agent can discover and understand the CoinAPI API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.
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 · 76/100Comprehension
55% of score · 96/100What we found
- An agent evaluating CoinAPI finds an unusually agent-forward docs surface: every documentation page exposes a 'Copy Markdown' and 'Open (in LLM)' control, plus a root llms.txt and a 5.5MB llms-full.txt — the API is deliberately built to be read by machines, not just humans.
- An agent that hits a failure can self-recover: the docs ship explicit error->fix tables (401 -> check the X-CoinAPI-Key header, 400 -> invalid symbol_id/period_id/date format, 403 -> plan doesn't support this endpoint, 429 -> throttle and upgrade, 500 -> transient, check status), which is rare and is what separates agent-usable docs from human-only reference.
- An agent that needs a machine-readable contract can find one: OpenAPI YAML specs for every product live publicly in the api-bricks/api-bricks-sdk GitHub repo (coinapi/market-data-api-rest/spec/openapi.yaml), and CoinAPI documents importing that spec into Postman.
- CoinAPI is discoverable across the agent ecosystem — an official CoinAPI MCP server is listed on PulseMCP and mcpservers.org, the API is promoted as MCP-ready on its own /mcp page, robots.txt allows all crawlers, and the sitemap enumerates hundreds of documentation URLs.
- The drag on discovery is bloat and missing conventions: the llms.txt is 377KB (a site-wide dump spanning blog, glossary, and case studies rather than a right-sized API index), there is no AGENTS.md in the SDK repos, and no /.well-known/mcp.json — an agent scanning conventional signals gets a mixed result, and deep endpoint doc URLs fall back to the docs landing for non-JS scrapers.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Slim the llms.txt to an API-focused index under ~50KB: keep product overviews, auth, endpoint references, and key how-to guides; move the blog/glossary/case-study dump to the existing llms-full.txt. This flips llms.txt quality from partial to pass and is the biggest discovery quick win.
- 02Add an AGENTS.md to api-bricks/api-bricks-sdk (and coinapi/coinapi-sdk) describing the spec/ layout, SDK generation, and how a coding agent should navigate the monorepo — a low-effort fix that currently scores zero (worth 3 points under v1.2).
- 03Publish a /.well-known/mcp.json advertising the official CoinAPI MCP server (endpoint, tool declarations, auth) so agents can auto-discover it without a web search.
- 04Fix SPA routing so deep endpoint doc URLs (e.g. /docs/rest-api/ohlcv/overview) resolve directly for non-JS crawlers instead of falling back to the docs landing page — the 'Copy Markdown' feature mitigates this for LLMs, but plain scrapers lose endpoint detail.
- 05Surface the OpenAPI spec with a 'Download OpenAPI' link per product in the docs, rather than requiring agents to locate the YAML inside the SDK GitHub repo.
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.
Execution documentation is unusually thorough. Auth covers eight documented methods across REST, WebSocket, FIX, and S3 with realistic sample keys and a full JWT example. Rate limits are tabled per plan (10-100 req/s, 1K-100K/day) with documented rate-limit headers and RetryAfterMs backoff, plus explicit 429 quota-reset behavior. Errors are documented as JSON with HTTP status codes and cause->fix tables. Pagination is documented via the limit + time_start/time_end strategy (and a page param on some endpoints). Idempotency keys are not documented (market-data endpoints are read-only GETs, so idempotency is largely N/A). These are documented claims; live behavior would require a full Discry Audit.