APIs.io indexes 65 A2A agent cards — the machine-readable descriptors that let one agent discover what another agent is, what it can do, and how to talk to it.
We fetch each card from its discovery path, record the HTTP status, and grade it against the A2A specification. Here is how the 65 grade out:
| Grade | Count | Share |
|---|---|---|
| Flavored | 41 | 63% |
| Near-conformant | 14 | 22% |
| Conformant | 10 | 15% |
Ten of sixty-five agent cards conform to the specification they claim.
What “flavored” means
Flavored is our grade for a card that is recognisably an agent card, serves from a plausible discovery path, and deviates from the specification in ways that would break a strict consumer — missing required fields, a protocol version that does not match the structure, an interface block that does not follow the schema, a transport declared that is not the one actually served.
Sixty-three percent. The single largest category of published agent card is one that does not quite work.
This is exactly what the early years of any specification look like. It is what OpenAPI looked like in 2013, when half the Swagger documents in the wild would not load in a strict parser. The difference is that a malformed Swagger file inconvenienced a developer who could read it anyway. A malformed agent card is being published for consumers who cannot.
What a good card carries
Cloudflare’s card is representative of the useful shape. It describes an agent providing machine-readable context and endpoints for AI assistants to understand Cloudflare website content, and it declares two skills:
site-context— returns curated, markdown-first content for assistantspage-markdown— fetches markdown snapshots of pages for citation-ready context
Each card entry we index records the card name and version, protocol version, preferred transport, declared interfaces, the endpoint, the discovery path, the HTTP status when we fetched it, a skill count, and the specific deviations found.
That last field is the point. We do not grade a card by whether it exists. We grade it by whether what it claims matches what it serves.
Why a 200 is not evidence
The recurring trap in indexing any agent-facing artifact is treating a successful fetch as a passing grade. A card that returns HTTP 200 has proven that something is at the URL. It has not proven that the something is a valid agent card, that the transport it declares is the transport it speaks, or that the skills it advertises exist.
Fifty-five of these 65 cards return successfully and do not conform. If the index reported reachability, it would report 100% success and tell you nothing.
The comparison worth making
Agent Skills, covered on Saturday, has 1,535 entries from 114 providers. A2A has 65 cards. Both are new; one is twenty times larger.
The gap is a reasonable proxy for adoption difficulty. A skill is a markdown file describing when to use something. An agent card is a served endpoint, at a specified discovery path, conforming to a versioned protocol, declaring transports you must actually implement. The second is a real engineering commitment, and the numbers show it.
Takeaway
65 published agent cards, 41 of them flavored, 10 conformant. The A2A ecosystem is at the stage where publishing something is common and publishing something correct is not — and since the intended reader is a machine, “close enough” does not degrade gracefully.
Browse the network at apis.io.