AgentReady.me Diagnostics API

Free, evidence-status diagnostics with explicit static/runtime limitations.

Operations 3

POST /api/tools/crawler-access Inspect crawler policy and bounded page delivery #
POST /api/tools/openapi-readiness Audit an OpenAPI JSON document for agent readiness #
POST /api/tools/a2a-agent-card Validate an A2A Agent Card JSON document #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/agentready-me:agentready-me-diagnostics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

agentready-me-diagnostics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AgentReady Public Diagnostics API
  version: 1.4.0
  description: Public, best-effort website readiness scans, saved report history, and static agent-readiness diagnostics. New scan integrations use versioned paths. AgentReady announces a retiring version at least 180 days ahead and returns Deprecation and Sunset headers during that window. Public scans and diagnostics read public web content or inspect user-supplied JSON; they currently require no authentication.
servers:
- url: https://www.agentready.me
tags:
- name: Diagnostics
  description: Free, evidence-status diagnostics with explicit static/runtime limitations.
paths:
  /api/tools/crawler-access:
    post:
      operationId: checkDeclaredCrawlerAccess
      tags:
      - Diagnostics
      summary: Inspect crawler policy and bounded page delivery
      description: Fetches robots.txt and up to 128 KB of the submitted public page through validated redirects. It evaluates path rules, final delivery, X-Robots-Tag, and HTML meta robots without impersonating crawler user agents or claiming named-bot edge/WAF behavior.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CrawlerAccessToolRequest'
            examples:
              site:
                value:
                  url: https://example.com/docs
      responses:
        '200':
          description: Versioned robots, page-delivery, redirect, header, and HTML-meta evidence report. Named-bot edge evidence remains unobservable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiagnosticToolReport'
        '400':
          description: The URL is missing, invalid, or not publicly fetchable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '413':
          description: The JSON request body exceeds the 16 KB input limit. An oversized fetched robots or page body instead returns a 200 report with that evidence surface unobservable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '429':
          description: The free diagnostic rate limit has been reached.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '503':
          description: The diagnostic rate limiter is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
  /api/tools/openapi-readiness:
    post:
      operationId: auditOpenApiAgentReadiness
      tags:
      - Diagnostics
      summary: Audit an OpenAPI JSON document for agent readiness
      description: Statically inspects an OpenAPI 3.0 or 3.1 JSON object or JSON string. YAML is reported as unobservable, and no API operation or credential is exercised.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenApiReadinessToolRequest'
            examples:
              document:
                value:
                  document:
                    openapi: 3.1.0
                    info:
                      title: Example
                      version: 1.0.0
                    paths: {}
      responses:
        '200':
          description: Versioned static evidence report, including an unobservable status when the supplied format is unsupported.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiagnosticToolReport'
        '400':
          description: The request body does not contain a document field or is not valid JSON.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '413':
          description: The request exceeds the 512 KB inspection limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '429':
          description: The free diagnostic rate limit has been reached.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '503':
          description: The diagnostic rate limiter is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
  /api/tools/a2a-agent-card:
    post:
      operationId: validateA2aAgentCard
      tags:
      - Diagnostics
      summary: Validate an A2A Agent Card JSON document
      description: Statically checks the supplied Agent Card and reports strict-current evidence separately from legacy interoperability. It does not connect to an agent, authenticate, send messages, or verify advertised skills.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/A2aAgentCardToolRequest'
            examples:
              card:
                value:
                  card:
                    name: Example agent
                    description: Example
                    version: 1.0.0
                    skills: []
      responses:
        '200':
          description: Versioned static evidence report with strict-current and legacy-interoperability verdicts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DiagnosticToolReport'
        '400':
          description: The request body does not contain a card field or is not valid JSON.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '413':
          description: The request exceeds the 256 KB inspection limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '429':
          description: The free diagnostic rate limit has been reached.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
        '503':
          description: The diagnostic rate limiter is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
components:
  schemas:
    ToolError:
      type: object
      required:
      - error
      properties:
        error:
          type: string
      additionalProperties: false
    ToolEvidenceCheck:
      type: object
      required:
      - id
      - title
      - status
      - summary
      - evidence
      properties:
        id:
          type: string
        title:
          type: string
        status:
          type: string
          enum:
          - pass
          - partial
          - fail
          - unobservable
          - error
        summary:
          type: string
        evidence:
          type: array
          items:
            type: string
        remediation:
          type: string
    OpenApiReadinessToolRequest:
      type: object
      additionalProperties: false
      required:
      - document
      properties:
        document:
          description: OpenAPI 3.0 or 3.1 JSON object, or a string containing JSON. YAML is not parsed.
          oneOf:
          - type: object
            additionalProperties: true
          - type: string
    DiagnosticToolReport:
      type: object
      required:
      - schemaVersion
      - methodologyVersion
      - tool
      - status
      - checks
      - limitations
      properties:
        schemaVersion:
          type: string
          const: agentready.tool-report.v1
        methodologyVersion:
          type: string
        tool:
          type: string
          enum:
          - crawler-access
          - openapi-readiness
          - a2a-agent-card
        status:
          type: string
          enum:
          - pass
          - partial
          - fail
          - unobservable
          - error
        checks:
          type: array
          items:
            $ref: '#/components/schemas/ToolEvidenceCheck'
        limitations:
          type: array
          items:
            type: string
      additionalProperties: true
    A2aAgentCardToolRequest:
      type: object
      additionalProperties: false
      required:
      - card
      properties:
        card:
          type: object
          description: A2A Agent Card JSON object.
          additionalProperties: true
    CrawlerAccessToolRequest:
      type: object
      additionalProperties: false
      required:
      - url
      properties:
        url:
          type: string
          description: Public HTTP(S) URL whose submitted path and origin robots policy should be inspected.
          examples:
          - https://example.com/docs