how we rate.
6 binary criteria per level. need 4/6 to pass.
your level is the highest one you pass. L0 means no level passed yet.
L1
Basic Accessibility
can agents read your content?
- Uses semantic HTML elements (header, nav, main, article, section, footer) instead of just divs
l1_semantic_html - Has proper meta tags (title, description, og:tags, twitter:card)
l1_meta_tags - Includes Schema.org JSON-LD structured data
l1_schema_org - Does not block automated access with CAPTCHAs on public content
l1_no_captcha - Content is server-side rendered (visible in HTML source, not just JS-rendered)
l1_ssr_content - Uses clean, readable URLs (no excessive query params or hash fragments)
l1_clean_urls
L2
Discoverability
can agents find things on your site?
- Has a robots.txt that allows legitimate bot access
l2_robots_txt - Provides an XML sitemap
l2_sitemap - Has a /llms.txt file describing the site for LLMs
l2_llms_txt - Publishes an OpenAPI/Swagger specification for its API
l2_openapi_spec - Has comprehensive, machine-readable documentation
l2_documentation - Primary content is text-based (not locked in images/videos/PDFs)
l2_text_content
L3
Structured Interaction
can agents talk to your APIs?
- Provides a structured REST or GraphQL API
l3_structured_api - API returns JSON responses with consistent schema
l3_json_responses - API supports search and filtering parameters
l3_search_filter_api - Has an A2A agent card at /.well-known/agent.json
l3_a2a_agent_card - Rate limits are documented and return proper 429 responses with Retry-After
l3_rate_limits_documented - API returns structured error responses with error codes and messages
l3_structured_errors
L4
Agent Integration
can agents do real work on your site?
- Provides an MCP (Model Context Protocol) server
l4_mcp_server - Supports WebMCP for browser-based agent interaction
l4_webmcp - API supports write operations (POST/PUT/PATCH/DELETE), not just reads
l4_write_api - Supports agent-friendly authentication (API keys, OAuth client credentials)
l4_agent_auth - Supports webhooks for event notifications
l4_webhooks - Write operations support idempotency keys
l4_idempotency
L5
Autonomous Operation
can agents operate autonomously?
- Supports event streaming (SSE, WebSockets) for real-time updates
l5_event_streaming - Supports agent-to-agent capability negotiation
l5_agent_negotiation - Has a subscription/management API for agents
l5_subscription_api - Supports multi-step workflow orchestration
l5_workflow_orchestration - Can proactively notify agents of relevant changes
l5_proactive_notifications - Supports cross-service handoff between agents
l5_cross_service_handoff