openrouter.ai

agent readiness score · scanned Aug 18, 2026 · 7s · AI & ML

#33 of 979 · #7 in category

79/ 100B

OpenRouter provides a unified API for accessing and managing hundreds of AI models from various providers, offering better prices, uptime, and custom data policies without subscriptions.

badge

Discovery 20/20

Access 30/30

Usability 26.8/40

Payments 2.5/10

Top fixes

  1. Machine-readable pricing

    Add Offer JSON-LD per plan (name, price, priceCurrency, billing period) to https://openrouter.ai/models?order=pricing-low-to-high so pricing parses without inference.

    +5
  2. MCP handshake & tools list

    MCP endpoint https://openrouter.ai/docs/guides/overview/mcp-server.md failed handshake: Method not allowed. Support streamable HTTP with protocol version negotiation; if auth-gated, return RFC 9728 metadata in WWW-Authenticate.

    +3.7
  3. OAuth authorization server metadata

    Serve RFC 8414 metadata at /.well-known/oauth-authorization-server with PKCE (S256) and a registration_endpoint so agents can self-onboard.

    +2.8
  4. Pricing discoverable

    Add literal plan prices to https://openrouter.ai/models?order=pricing-low-to-high; 'Contact sales'-only pricing means agents can't complete a purchase evaluation.

    +2.5
  5. MCP server discovery

    Publish /.well-known/mcp/server-card.json describing your MCP endpoint so agents can autodiscover it. Evidence found: llms.txt.

    +2.3
  6. OAuth protected resource metadata

    Serve RFC 9728 metadata at /.well-known/oauth-protected-resource naming your authorization servers so agents can discover how to authenticate.

    +1.9

1.Can an agent discover and trust you?

8/8

Whether agents can crawl you, find you in the registries and searches they check, and trust what they find.

  • Sitemap present & freshrequired4/4

    Sitemap at https://openrouter.ai/sitemap.xml: 6307 entries, freshest <lastmod> 2026-08-17 (0 days ago)

    Resolved the sitemap from robots.txt or /sitemap.xml, validated XML, and checked lastmod freshness

    spec ↗
  • Brand search discoverabilityrequired4/4

    Both searches ("OpenRouter" and "OpenRouter ai ml") cited openrouter.ai: https://openrouter.ai/docs/guides/features/plugins/web-search, https://openrouter.ai/docs/guides/features/server-tools/web-search, https://openrouter.ai/docs/api/reference/responses/web-search, https://openrouter.ai/blog/announcements/introducing-web-search-via-the-api/, https://openrouter.ai/blog/announcements/agentic-web-tools/

    Ran clean brand-name web searches and checked whether your domain is cited in the results

  • MCP registry listingsrecommendedna

    No MCP server detected for this product

    Queried the official MCP registry, Smithery, Glama, and PulseMCP for servers matching your domain

    spec ↗

2.Do you welcome agents?

14/16

Whether your robots policy, bot protection, and agent guidance actively admit AI agents instead of blocking them.

  • robots.txt present & parseablerequired2/2

    /robots.txt parses: 1 User-agent group(s), 1 Sitemap line(s)

    Fetched /robots.txt and validated it parses as a robots policy

    spec ↗
  • AI crawler policyrequired5/5

    All 12 AI crawler user-agents (GPTBot, ClaudeBot, PerplexityBot, …) are allowed at / by robots.txt

    Evaluated robots.txt groups for the major AI agent user-agents (GPTBot, ClaudeBot, PerplexityBot, …)

  • Content Signals directivesemerging0/2

    No Content-Signal lines in robots.txt

    fix → Declare Content Signals in robots.txt (e.g. `Content-Signal: search=yes, ai-train=no`) to express AI usage preferences machine-readably.

    Looked for Content-Signal lines in robots.txt

    spec ↗
  • Agent user-agent paritybetarequired4/4

    All three UAs get HTTP 200; bot bodies are ClaudeBot 100%, GPTBot 100% of the browser response (212280 bytes)

    Compared responses served to browser and AI-agent user-agents (informational while in beta)

  • agents.mdrecommended3/3

    Found https://openrouter.ai/agents.md: 6304 chars of markdown with 5 heading(s)

    Fetched /agents.md and checked for substantive agent guidance

    spec ↗

3.Does an agent understand who you are and what you do?

18/18

Whether your pages carry machine-readable identity: structured data, llms.txt, clear copy an agent can quote.

  • Homepage states what you arerequired3/3

    Homepage clarity rated 5/5 — an agent can confidently say what this company does (model's one-sentence read: "OpenRouter provides a unified API for accessing and managing hundreds of AI models from various providers, offering better prices, uptime, and custom data policies without subscriptions.")

    An LLM read your homepage as an agent would and rated how confidently it could say what you do

  • OpenGraph / social metadatarecommended2/2

    Homepage has og:title, og:description, and og:image (twitter:card="summary_large_image" present)

    Parsed homepage og:title / og:description / og:image and twitter:card meta tags

    spec ↗
  • llms.txtrecommended4/4

    /llms.txt is valid llmstxt.org shape: H1 "OpenRouter", 326 markdown link(s)

    Fetched /llms.txt and validated it against the llmstxt.org shape (H1, summary, curated links)

    spec ↗
  • llms-full.txtbonusrecommended2/2

    /llms-full.txt serves 1048342 chars of markdown

    Fetched /llms-full.txt and checked for substantial inline markdown content

    spec ↗
  • JSON-LD structured datarequired4/4

    4 JSON-LD block(s) on homepage and pricing page (types: Organization, WebSite); Organization block is well-formed

    Extracted and validated application/ld+json blocks on the homepage and pricing page

    spec ↗
  • Markdown content negotiationrecommended3/3

    https://openrouter.ai/docs/quickstart returns markdown for `Accept: text/markdown` (content-type text/markdown)

    Requested key pages with Accept: text/markdown and probed .md twin URLs

4.Can an agent integrate with you?

watch →16.5/21

Whether the artifacts an agent needs to build on you — docs, API specs, SDKs, MCP servers — exist and are findable.

  • Developer resource discoverabilityrecommended3/3

    Search "OpenRouter API documentation" cited your own domain: https://openrouter.ai/docs, https://openrouter.ai/docs/api/reference/responses/web-search, https://openrouter.ai/docs/api_reference/responses/overview, https://openrouter.ai/docs/guides/features/server-tools/web-search, https://openrouter.ai/docs/api/api-reference/responses/create-responses

    Searched for your brand with developer-keyword suffixes and checked which official resources are cited

  • OpenAPI spec discoverablerequired5/5

    OpenAPI spec found at https://openrouter.ai/openapi.json (version 3.1.0)

    Probed standard OpenAPI locations and docs links for a fetchable, parseable spec

    spec ↗
  • Docs discoverablerequired4/4

    Docs found at https://openrouter.ai/docs/quickstart (via homepage link, 9396 chars of readable text)

    Followed homepage nav/footer links and probed /docs, /developers, docs.{domain}

  • MCP server discoveryrequired2.5/5

    MCP evidence found only as a mention in llms.txt: "https://openrouter.ai/docs/guides/overview/mcp-server.md" — no well-known server card

    fix → Publish /.well-known/mcp/server-card.json describing your MCP endpoint so agents can autodiscover it. Evidence found: llms.txt.

    Probed /.well-known/mcp/server-card.json, mcp.json, and docs mentions for an MCP endpoint

    spec ↗
  • npm SDKrecommended2/2

    Official npm package "@openrouter/sdk" (verified via README mentions the domain): latest 1.2.41 published 2026-08-17

    Searched the npm registry for an official, domain-verified SDK package

  • PyPI SDKrecommended0/2

    No official PyPI SDK found: probed 4 candidate(s) (openrouter, openrouter-sdk, openrouterapi, openrouter-python) — found but not domain-verified: openrouter, openrouterapi

    fix → Publish an official Python SDK (suggest "openrouter") with your domain in the project URLs so agents can verify it's official.

    Searched PyPI for an official, domain-verified SDK package

5.Is your integration well-built?

watch →7.3/8

Whether your specs, docs, and tools are complete and descriptive enough for an agent to use them without guessing.

  • OpenAPI validity & qualityrecommended3/3

    Spec at https://openrouter.ai/openapi.json: 7/7 quality criteria passed (73 paths, 97 operations)

    Linted the spec: descriptions, operationIds, securitySchemes, servers

  • Docs qualityrecommended2.3/3

    Docs at https://openrouter.ai/docs/quickstart scored clarity 4/5, completeness 3/5, runnable examples 5/5, agent-friendliness 3/5 (mean 3.8/5)

    fix → Docs scored 3/5 on completeness. The documentation provides a quickstart but lacks a clear, direct path for an agent to understand the overall API structure and available endpoints without navigating through multiple linked pages or external files.

    An LLM rated your docs for clarity, completeness, runnable examples, and agent-friendliness

  • Quickstart / getting startedrecommended2/2

    Quickstart found: https://openrouter.ai/docs/quickstart#content-area (linked from https://openrouter.ai/docs/quickstart) returns 200 with a code block

    Looked for a quickstart/getting-started guide containing code blocks

  • MCP tool qualityrecommendedna

    No tools listed by the MCP endpoint — nothing to lint

    Linted listed tools for descriptions, typed input schemas, and naming

6.Can an agent use you reliably in production?

watch →4/4

Response hygiene, TLS and redirect discipline, and security contact channels agents depend on at runtime.

  • TLS & redirect hygienerequired2/2

    http://openrouter.ai/ upgrades to https in 1 hop(s), 1 redirect(s) total, final HTTP 200; HSTS present

    Checked http→https redirect behavior, chain length, and TLS health

  • Response speed & weightrequired1/1

    Homepage TTFB 105ms, payload 207KB, Content-Encoding: gzip

    Measured homepage TTFB, payload size, and compression

  • security.txtrecommended1/1

    Valid security.txt at https://openrouter.ai/.well-known/security.txt: Contact mailto:security@openrouter.ai, Expires 2027-08-12

    Fetched /.well-known/security.txt and validated Contact + Expires

    spec ↗

7.Can an agent authenticate to you?

watch →2/7

Whether agents can discover your auth model machine-readably (OAuth metadata) and follow documented steps to credentials.

  • OAuth authorization server metadatarecommended0/3

    Neither /.well-known/oauth-authorization-server nor /.well-known/openid-configuration resolved (HTTP 200 / HTTP 200)

    fix → Serve RFC 8414 metadata at /.well-known/oauth-authorization-server with PKCE (S256) and a registration_endpoint so agents can self-onboard.

    Fetched /.well-known/oauth-authorization-server (and openid-configuration fallback)

    spec ↗
  • OAuth protected resource metadatarecommended0/2

    No RFC 9728 metadata: https://openrouter.ai/.well-known/oauth-protected-resource → HTTP 200

    fix → Serve RFC 9728 metadata at /.well-known/oauth-protected-resource naming your authorization servers so agents can discover how to authenticate.

    Fetched /.well-known/oauth-protected-resource

    spec ↗
  • Auth documentationrecommended2/2

    Auth documentation found at https://openrouter.ai/docs/guides/best-practices/reasoning-tokens (linked from https://openrouter.ai/docs/quickstart) with code examples

    Looked for /auth.md or an authentication docs page with code examples

8.Can an agent transact with you?

watch →2.5/15

Whether pricing is discoverable and machine-readable, and whether you support agent payment protocols.

  • Pricing discoverablerequired2.5/5

    Pricing page found at https://openrouter.ai/models?order=pricing-low-to-high (via homepage link) but no legible price signals in 379 chars of page text — no currency amounts, "per month"/"/mo", or "free plan" terms (reads as contact-sales only).

    fix → Add literal plan prices to https://openrouter.ai/models?order=pricing-low-to-high; 'Contact sales'-only pricing means agents can't complete a purchase evaluation.

    Followed nav/footer links and probed /pricing for a page with legible price signals

  • Machine-readable pricingrecommended0/5

    No pricing plans could be extracted from https://openrouter.ai/models?order=pricing-low-to-high (extraction confidence 0.00); no Offer JSON-LD on the page.

    fix → Add Offer JSON-LD per plan (name, price, priceCurrency, billing period) to https://openrouter.ai/models?order=pricing-low-to-high so pricing parses without inference.

    Looked for Offer JSON-LD, then had an LLM attempt structured extraction of your plans

    spec ↗
  • x402 payment supportbonusrecommended0/2

    /.well-known/x402 returned HTTP 200 but not JSON. API probe GET https://openrouter.ai/api/v1/activity returned HTTP 401 without x402 payment requirements. No x402 support detected (bonus check — absence costs nothing).

    fix → Support x402: serve payment requirements at /.well-known/x402, or answer unauthenticated API calls with HTTP 402 plus an x402 payment-requirements payload (x402Version, accepts[]).

    Probed /.well-known/x402 and API endpoints for HTTP 402 payment-required envelopes

    spec ↗
  • AP2 readinessemerging0/1

    No AP2 hints found — scanned llms.txt, agents.md, docs page (https://openrouter.ai/docs/quickstart), OpenAPI spec (https://openrouter.ai/openapi.json); /.well-known/ap2 returned HTTP 200.

    fix → Adopt AP2 to accept delegated agent payments — see https://ap2-protocol.org.

    Scanned fetched artifacts and well-known paths for AP2 hints

    spec ↗
  • Agentic Commerce Protocolemerging0/1

    No Agentic Commerce Protocol hints found — scanned llms.txt, agents.md, docs page (https://openrouter.ai/docs/quickstart), OpenAPI spec (https://openrouter.ai/openapi.json); /.well-known/acp returned HTTP 200.

    fix → Adopt the Agentic Commerce Protocol so agent checkouts can complete against your store — see https://developers.openai.com/commerce.

    Scanned docs and specs for agentic checkout endpoints

    spec ↗
  • Other agent payment protocolsbonusemerging0/1

    No UCP/MPP hints found — scanned llms.txt, agents.md, docs page (https://openrouter.ai/docs/quickstart), OpenAPI spec (https://openrouter.ai/openapi.json).

    fix → Track emerging agent payment protocols (UCP, MPP) and adopt the ones your buyers' agents use.

    Scanned fetched artifacts for UCP/MPP protocol hints

9.Can a user act through an agent?

0/4

Whether an end user's agent can operate on their behalf: working MCP tools, published skills, agent configs.

  • Agent skill publishedbonusemergingna

    Requires the analysis phase — not yet evaluated

    Checked /skill.md, /.well-known/skills/, and skills.sh for published agent skills

  • MCP handshake & tools listrequired0/4

    MCP endpoint https://openrouter.ai/docs/guides/overview/mcp-server.md failed handshake: Method not allowed

    fix → MCP endpoint https://openrouter.ai/docs/guides/overview/mcp-server.md failed handshake: Method not allowed. Support streamable HTTP with protocol version negotiation; if auth-gated, return RFC 9728 metadata in WWW-Authenticate.

    Performed a streamable-HTTP initialize + tools/list against the MCP endpoint

    spec ↗
  • Agent configs in public repobonusemergingna

    Requires the analysis phase — not yet evaluated

    Checked your public GitHub org's main repos for AGENTS.md / .claude / .cursor configs

10.Can an agent operate your website directly?

5.5/9

Whether the site itself is legible to non-rendering and browser agents: semantic HTML, no JS walls, accessibility.

  • NLWeb endpointemerging0/1

    No NLWeb endpoint detected: /.well-known/nlweb.json returned HTTP 200 (text/html); GET /ask?query=hello returned HTTP 200 (text/html)

    fix → Consider exposing an NLWeb /ask endpoint (and /.well-known/nlweb.json) for conversational access to your content.

    Probed /.well-known/nlweb.json and the /ask endpoint

    spec ↗
  • Semantic HTML structurerequired1.5/3

    4/6 semantic signals present on the homepage (missing: <header>/<footer>, text-to-markup ratio ≥ 0.10)

    fix → Add the missing structure: <header>/<footer>, text-to-markup ratio ≥ 0.10. Agents parse structure, not pixels.

    Scored landmark elements, heading hierarchy, and text-to-markup ratio on the homepage

  • Content readable without JavaScriptrequired2/2

    Homepage raw HTML contains 2807 chars of visible text without JavaScript

    Measured visible text in the raw, unrendered homepage HTML

  • Accessibility basicsrequired2/2

    Homepage accessibility: 5/5 checks passed

    Static checks: lang attribute, title, alt coverage, labeled inputs, landmarks

  • WebMCPemerging0/1

    No WebMCP evidence on homepage: no application/webmcp script and no navigator.modelContext reference

    fix → Consider WebMCP to expose page actions as tools to browser agents.

    Looked for WebMCP script declarations on the homepage

    spec ↗