Agent readiness · Model hosting and gateways
openrouter.ai
14 of 15 measurable points under formula 9.2, measured on 2026-08-12. 15 checks exist; each is one HTTP request with a published rule, so every sentence below can be rerun and argued with. 1 of them could not be measured from where we ask, and those are left out of the denominator rather than counted as failures.
A · Discovery
- PASSAnswers an agent user-agentAnswered 200 to LetAgentsIn/1.0 (+https://letagentsin.com/methodology)
- PASSllms.txt publishedllms.txt and llms-full.txt present at https://openrouter.ai/llms.txt and https://openrouter.ai/llms-full.txt, and the 12 links we sampled across both files all answer
- PASSDocs readable without JavaScript14,217 characters of text without JS, on https://openrouter.ai/docs/client-sdks/python/sdks/apikeys/README rather than on https://openrouter.ai/docs/quickstart
- PASSOn-demand agents not blockedNo on-demand agent is blocked
- N/APaths robots.txt points at answerrobots.txt names no concrete path, only patterns or nothing, so there is no claim to check
- PASSNo punishing crawl delayNo Crawl-delay applies to the agents we check
B · Agent entry
- PASSAgent entry pointFound: https://openrouter.ai/agents.md
- PASSOAuth dynamic client registrationregistration_endpoint published, but none of the 1 advertised grants (authorization_code) finishes without a person at a browser
- PASSMCP surfaceLive MCP endpoint at https://mcp.openrouter.ai/mcp, answered 401 with an auth challenge
C · Registration
- UNMEASUREDNo CAPTCHA in the signup HTMLUnmeasurable: the signup form at https://openrouter.ai/sign-up?ref=pricing-hero is not in the server HTML, so its gates are not eitherServer-render the form, or tell us the endpoint it posts to, and the gates become visible to us and to an agent.
- FAILSignup reachable without a browserhttps://openrouter.ai/sign-up?ref=pricing-hero is reachable, but its form needs JavaScript
D · Provisioning
- PASSProgrammatic key provisioning2 of 7 provisioning phrases across the 6 documents we read: "management api", "create an api key (or api token, access token, personal access token, service account, auth token, secret key), next to something programmatic"
- PASSFree tier or no-card trial stated in textFree tier or no-card signals at https://openrouter.ai/pricing: "Get Started For Free", "Started For Free", "free models"
E · Integration
- PASSTyped SDK on the registry@openrouter/sdk@1.2.27 ships types, matched from the registry by who publishes it rather than by a link on your site
- PASSMachine-readable API descriptionDocs serve markdown to machines, at https://openrouter.ai/docs/quickstart
Tell me when this changes
The failures here are the kind nobody notices. An edge rule that starts refusing agents changes nothing a person sees in a browser, so the first sign is usually an integration that quietly stopped working. We rescan weekly and write only when a verdict moves.
This page is the newest scan we hold for openrouter.ai and changes when we rescan. It is not a judgement of the product: we measure whether an unattended run can get through, not whether the thing is any good. The whole corpus is published as JSON and CSV.