Linkup is Agent-Ready to agents.
Discry independently scored how well an AI agent can discover and understand the Linkup 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 · 98/100Comprehension
55% of score · 100/100What we found
- An agent looking for Linkup finds everything without guessing: a valid public OpenAPI spec (api.linkup.so/v1/openapi.json), a clean API-focused llms.txt, a full-text llms-full.txt (~320KB), an AI-permissive robots.txt (Content-Signal ai-train=yes, ai-input=yes), a 96-URL sitemap, and official MCP servers listed on Glama, Smithery, and PulseMCP.
- Linkup ships a deliberate 'For AI agents' documentation track: a drop-in AGENTS.md/CLAUDE.md integration prompt, per-endpoint copy-pasteable function-calling tool definitions, and an `npx skills add LinkupPlatform/skills` installer — a coding agent can self-integrate in one step.
- Error recovery is genuinely actionable: the Errors page maps each HTTP code and typed SDK error to concrete causes (missing key, >20MB page, out of credit, too many concurrent requests) and names the exact failing field in the JSON envelope, so an agent can self-correct instead of failing blindly.
- Capability boundaries are explicit — 10 qps rate limit, 20MB fetch ceiling, per-depth latency bands, per-call pricing, and beta flags on Research/Extract — so an agent knows the operating envelope before it hits a wall. An x402 pay-per-request path even lets autonomous agents call the API with no account.
- The only weak spot is the .well-known/mcp.json: it points at a Mintlify preview subdomain rather than a production endpoint and lists servers without tool declarations, so an agent cannot enumerate capabilities from it without a live connection.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Fix .well-known/mcp.json: point the server URL at a stable production endpoint (not the Mintlify preview subdomain) and add tool declarations so an agent can enumerate capabilities without a live connection — the only sub-pass discovery check.
- 02Document idempotency semantics for the async /tasks, /research, and /extract create endpoints (e.g., idempotency keys or safe-retry guidance) so agents can retry timed-out POSTs without duplicating billable jobs.
- 03Surface Retry-After / rate-limit response headers on the Errors and Rate Limits pages so agents can back off precisely on 429 instead of using a fixed delay.
- 04Add an AGENTS.md to the linkup-mcp-server repo as well (it exists in linkup-python-sdk but 404s in the MCP server repo) so agents cloning the server find repo-level guidance in place.
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 characteristics are documented to an unusually high standard. A dedicated Errors page defines a machine-parseable JSON envelope (statusCode, error.code, error.message, error.details[].field/message) plus an HTTP-code table with concrete causes and a typed SDK-error table. Rate limits are explicit (10 queries/second per organization; per-IP for x402). List endpoints document pagination. Auth is Bearer API key with an alternative x402 pay-per-request mode requiring no account. Idempotency keys are not mentioned.