◎ Discry Score
ahrefs.com
analytics · API
C
0 / 100
DISCOVERY0
COMPREHENSION0
Category leader: 92 (A)
Discry your API →
ANALYTICS · RANK #20 OF 29

Ahrefs is Needs Work to agents.

Discry independently scored how well an AI agent can discover and understand the Ahrefs 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 · 40/100
OpenAPI specA machine-readable OpenAPI/Swagger spec agents can parse.Partial
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.Fail
.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.Pass

Comprehension

55% of score · 84/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.Partial
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.Partial
Token efficiencyDocs are concise enough to fit an agent context window.Pass

What we found

  • An agent can fully understand Ahrefs' capabilities fast: the introduction page summarizes every product area (Site Explorer, Keywords Explorer, Site Audit, SERP, Rank Tracker, Batch Analysis, Brand Radar) in well under 5,000 tokens, and authentication (Bearer API key) is stated plainly.
  • Capability boundaries are exceptionally well documented — a dedicated limits-consumption page gives the exact unit-cost formula, per-field costs, response headers (x-api-units-cost-total, x-api-cache), the 60 req/min rate limit, and 429 throttling behavior, so an agent can predict cost and limits before calling.
  • An agent trying to auto-discover the API gets little help at the file level: llms.txt, llms-full.txt, and .well-known/mcp.json all 404, and there is no AGENTS.md — though robots.txt blocks /*.txt$, which would prevent an llms.txt from being crawled even if added.
  • Discovery is rescued by ecosystem presence: an official Ahrefs MCP server is listed on Glama and PulseMCP, and Ahrefs publishes a dedicated agent-skills repo and a Python SDK auto-generated from its OpenAPI spec — so agents reach it through registries even without on-site agent files.
  • Endpoint reference pages are agent-friendly (method + path lead, snake_case fields, allowed values, status codes 400/401/403/429/500), but per-endpoint error bodies render as a bare 'error: string' with no recovery steps, so an agent learns which errors exist but not how to fix them.

What to change

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

  1. 01Publish an llms.txt at docs.ahrefs.com covering the API's core product areas and linking to the introduction, authentication, limits-consumption, and key endpoint references — and remove or scope the robots.txt 'Disallow: /*.txt$' rule so the file is actually crawlable.
  2. 02Expose the OpenAPI spec that already powers the reference and the Python SDK as a publicly downloadable file at a discoverable URL (e.g. /openapi.json), so agents can ingest the full machine-readable contract in one fetch.
  3. 03Add a dedicated API errors page (separate from the Looker Studio errors page) with actionable recovery guidance for the top error codes — e.g. how to back off on 429, what 401/403 mean for key scope/expiry, and which parameter triggered a 400.
  4. 04Add 2-3 end-to-end workflow guides that chain endpoints for real tasks (e.g. 'audit a competitor: domain-rating → backlinks-stats → all-backlinks → keyword overlap'), since current guidance documents endpoints in isolation plus best-practices tips.
  5. 05Add an AGENTS.md (or generate one from the existing agent-skills repo) at the primary public repos to give coding agents canonical, on-repo guidance instead of relying on registry listings.

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.

Bearer API keyOAuth2 (Ahrefs Connect) Error format documented Rate limits documented Pagination documented Idempotency documented

Auth (Bearer API key for direct use, OAuth2 for Ahrefs Connect apps), rate limits (60 req/min, HTTP 429), and a precise API-unit cost model with response headers are thoroughly documented. Pagination beyond a capped 'limit' parameter and idempotency are not addressed.

See your own Discry Score.

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

Discry your API — free