Skip to content

A2A compliance: the full funnel

Follow the public discovery funnel from candidate URL to responding agent.

The funnel

11,123
Candidates discovered
From 9 public sources
4,296
HTTP 200
Server returned something
8,628
Valid AgentCard
Schema-validated A2A v1.0
1,063
Live JSON-RPC
Actually operational

Real agents, but un-probeable by us

143 of the 11,123 candidates returned 401/403 on the agent-card URL. Some of these are stale URLs in our discovery feed that happen to point at credentialed endpoints (CDN paths, admin pages, etc.); others are real agents whose card requires authentication. Both count as "agent exists," but we can't anonymously probe them.

Auth-gated (401/403) 87 0.8%

Real agent — but the card requires credentials we don't have. Counts as 'agent exists' but un-anonymously-probeable.

Auth-gated (401/403) 56 0.5%

Real agent — but the card requires credentials we don't have. Counts as 'agent exists' but un-anonymously-probeable.

Why most candidates didn't return a valid agent card

6,684 of the 11,123 candidates failed at the card-fetch step (404, server error, network failure, or returned 200 but with invalid card body). Almost none of this is our bug; it's stale URLs in upstream discovery feeds.

HTTP 404 3,887 34.9%

URL has no agent card. These are mostly repos/sites that talk about A2A but don't actually serve /.well-known/agent-card.json.

Network failure 2,436 21.9%

DNS failed, connect refused, hard timeout, or blocked by safety policy. The host is dead or our crawler couldn't reach it.

HTTP 410 77 0.7%

Non-2xx response on the agent-card URL.

Server error (503) 74 0.7%

Their server is currently broken. Could recover; we re-probe in cold tier.

HTTP 402 69 0.6%

Non-2xx response on the agent-card URL.

Server error (530) 38 0.3%

Their server is currently broken. Could recover; we re-probe in cold tier.

Server error (502) 28 0.3%

Their server is currently broken. Could recover; we re-probe in cold tier.

HTTP 400 21 0.2%

Non-2xx response on the agent-card URL.

Rate-limited (429) 12 0.1%

Provider throttled our crawler — we'll back off and retry.

HTTP 405 11 0.1%

Non-2xx response on the agent-card URL.

Server error (500) 9 0.1%

Their server is currently broken. Could recover; we re-probe in cold tier.

Server error (525) 6 0.1%

Their server is currently broken. Could recover; we re-probe in cold tier.

Server error (522) 4 0.0%

Their server is currently broken. Could recover; we re-probe in cold tier.

Server error (526) 2 0.0%

Their server is currently broken. Could recover; we re-probe in cold tier.

Server error (521) 2 0.0%

Their server is currently broken. Could recover; we re-probe in cold tier.

Server error (520) 2 0.0%

Their server is currently broken. Could recover; we re-probe in cold tier.

Server error (504) 2 0.0%

Their server is currently broken. Could recover; we re-probe in cold tier.

HTTP 204 2 0.0%

Non-2xx response on the agent-card URL.

Server error (523) 1 0.0%

Their server is currently broken. Could recover; we re-probe in cold tier.

HTTP 441 1 0.0%

Non-2xx response on the agent-card URL.

Of the 8,628 valid cards: who actually responds?

Not yet probed: 2885 cards · 33.4%: Indexed but live-probe hasn't run yet (e.g. recently added).

Not yet probed 2,885 33.4%

Indexed but live-probe hasn't run yet (e.g. recently added).

Examples
Not yet probed 1,965 22.8%

Indexed but live-probe hasn't run yet (e.g. recently added).

Examples
Responds to JSON-RPC 1,063 12.3%

Agent endpoint accepts message/send and returns a valid A2A response.

Examples
No URL declared 1,047 12.1%

Agent card is valid but has no .url field — can't be called directly.

Examples
Non-compliant response 907 10.5%

Endpoint returned HTTP 200 but the body isn't a valid JSON-RPC 2.0 A2A response.

Examples
Endpoint missing 425 4.9%

Card declares a URL, but that URL returns HTTP 404. Card claim mismatch.

Examples
Auth required 214 2.5%

Agent exists and responds, but requires credentials (401/403). Real but non-anonymous.

Examples
Unreachable 100 1.2%

DNS failed, connection refused, or hard timeout — host might be down.

Examples
Server error 22 0.3%

Endpoint exists but currently returns 5xx errors — likely unhealthy.

Examples

Are there really this few agents?

These counts cover agents we can discover and check publicly. Private, authenticated and unadvertised deployments are outside this funnel.

Each stage separates a discovered listing from a responding agent. See source coverage for collection dates and limits.