adafruit.com is Poor to agents.
Discry independently scored how well an AI agent can discover and understand the adafruit.com 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 · 31/100Comprehension
55% of score · 50/100What we found
- An agent can learn the entire API from a single ~1,000-token page — all four endpoints, full field schemas, and usage rules fit in one read, which is exceptional token efficiency.
- There is no machine-readable surface at all: no OpenAPI spec, no llms.txt, no MCP presence. An agent must parse a human-oriented HTML page to use an API that would take an afternoon to spec formally.
- robots.txt disallows /api/ for ALL crawlers — a crawler-based agent is barred from the very endpoints the documentation invites it to call, so the API is invisible to crawl-driven discovery.
- Error behavior is completely undocumented: an agent that exceeds the 5 req/min limit or requests an unknown product ID discovers what happens only by failing, with no recovery guidance.
- The docs contain real, copy-pasteable example URLs (product 998 = Raspberry Pi Model B, category 118 = Lasers) but zero code samples and zero example JSON responses.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Publish an OpenAPI spec for the four endpoints (/api/products, /api/categories, /api/product/[pid], /api/category/[cid]) — with a schema this small it is a quick win and the single largest discovery-score improvement available.
- 02Add an llms.txt at www.adafruit.com/llms.txt that describes the Products API and links to /products_api and the endpoint URLs.
- 03Add example JSON responses and a curl sample for each endpoint using the realistic IDs already cited in the docs.
- 04Document error responses: the status code and body returned for unknown IDs and for exceeding the 5 req/min rate limit, plus any rate-limit headers agents should read.
- 05Normalize the field-name prefixes (product_id vs products_description, sub_categories vs subcategories) or explicitly document the inconsistency so agents don't mis-key responses.
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.
Read-only public JSON catalog API with no auth. A 5 requests/minute rate limit is stated in prose, but no rate-limit headers, exceeded-limit behavior, error format, or pagination are documented anywhere.