{
 "protocolVersion": "0.3.0",
 "name": "Agent Ready Crawlers agent",
 "description": "AI crawler index, robots.txt block rates and verification ledger, read-only. Read-only A2A agent over the published data of agentreadycrawlers.com: text messages are searched, data parts run one of 5 tools. Tasks complete within the message/send response; nothing is stored or written.",
 "url": "https://agentreadycrawlers.com/api/a2a",
 "preferredTransport": "JSONRPC",
 "supportedInterfaces": [
  {
   "url": "https://agentreadycrawlers.com/api/a2a",
   "protocolBinding": "JSONRPC",
   "protocolVersion": "0.3.0"
  }
 ],
 "provider": {
  "organization": "Agent Ready Crawlers",
  "url": "https://agentreadycrawlers.com/"
 },
 "iconUrl": "https://agentreadycrawlers.com/og/home.png",
 "version": "1.0.0",
 "documentationUrl": "https://agentreadycrawlers.com/developers",
 "capabilities": {
  "streaming": false,
  "pushNotifications": false,
  "stateTransitionHistory": false,
  "extensions": []
 },
 "securitySchemes": {},
 "security": [],
 "defaultInputModes": [
  "text/plain",
  "application/json"
 ],
 "defaultOutputModes": [
  "application/json",
  "text/plain"
 ],
 "skills": [
  {
   "id": "list_crawlers",
   "name": "List crawlers and agents",
   "description": "Lists rows of the Crawler Index (id, name, operator, robots.txt token, purpose, how the operator says it treats robots.txt, verification method, block rates, profile URL). Filter by operator, purpose, verification method, robots.txt reading or words. Call it to find a crawler id before get_crawler, or to answer which crawlers do X. Send a data part {\"tool\":\"list_crawlers\",\"arguments\":{...}}; the reply is a completed task whose data artifact is the tool result.",
   "tags": [
    "read-only",
    "product",
    "paginated"
   ],
   "examples": [
    "{\"tool\":\"list_crawlers\",\"arguments\":{\"purpose\":\"training\"}}"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "get_crawler",
   "name": "One crawler in full",
   "description": "Returns one Crawler Index row by id, robots.txt token or name (for example gptbot, GPTBot or ClaudeBot): operator, exact user-agent string, purpose, the operator statement on robots.txt with its source URL, verification method and IP list URL, rate behaviour, the allow and refuse lines, the vendor rule names, both block rates and the profile page URL to cite. Send a data part {\"tool\":\"get_crawler\",\"arguments\":{...}}; the reply is a completed task whose data artifact is the tool result.",
   "tags": [
    "read-only",
    "product"
   ],
   "examples": [
    "{\"tool\":\"get_crawler\",\"arguments\":{\"id\":\"gptbot\"}}"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "get_block_rate",
   "name": "Block rate of one robots.txt token",
   "description": "Returns how many sites in the crawl refuse one robots.txt token (for example GPTBot or ClaudeBot) at the path /: the parsed-site count, the refused count, the part where a robots.txt group names the token, the shares, and the 401 and 403 share of home pages in the same cut. Without stratum it returns all four site lists; with category it returns that category. Send a data part {\"tool\":\"get_block_rate\",\"arguments\":{...}}; the reply is a completed task whose data artifact is the tool result.",
   "tags": [
    "read-only",
    "product"
   ],
   "examples": [
    "{\"tool\":\"get_block_rate\",\"arguments\":{\"token\":\"GPTBot\"}}"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "get_verification",
   "name": "How an operator lets you verify its requests",
   "description": "Returns one Verification Ledger row: the IP list URLs, the reverse DNS pattern, the Web Bot Auth key directory, the Cloudflare verified status, the card-network registry lines, a summary, the source URL and the date read, plus the operator's crawlers with their verification method. Call it to check a request is really from an operator. Send a data part {\"tool\":\"get_verification\",\"arguments\":{...}}; the reply is a completed task whose data artifact is the tool result.",
   "tags": [
    "read-only",
    "product"
   ],
   "examples": [
    "{\"tool\":\"get_verification\",\"arguments\":{\"operator\":\"OpenAI\"}}"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "get_robots_lines",
   "name": "The robots.txt lines for a set of crawlers",
   "description": "Returns the allow lines or the refuse lines the Crawler Index holds for up to 20 crawlers (robots.txt tokens or crawler ids), per crawler and joined into one robots.txt body in the order asked. It only joins the rows' own lines; crawlers without a robots.txt token are listed as unmatched. Call it when writing a robots.txt policy for named crawlers. Send a data part {\"tool\":\"get_robots_lines\",\"arguments\":{...}}; the reply is a completed task whose data artifact is the tool result.",
   "tags": [
    "read-only",
    "product"
   ],
   "examples": [
    "{\"tool\":\"get_robots_lines\",\"arguments\":{\"tokens\":[\"GPTBot\",\"ClaudeBot\"],\"action\":\"refuse\"}}"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "search_site",
   "name": "Search Agent Ready Crawlers",
   "description": "Send a text message with a question or search words; the reply is a completed task whose artifact lists the matching records and pages of Agent Ready Crawlers, each with its source URL.",
   "tags": [
    "search",
    "read-only"
   ],
   "examples": [
    "ClaudeBot block rate"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  }
 ]
}
