Agent Directory API
The agent ecosystem, queryable. One key, one snapshot, every public listing we could count.
On October 1, 2026, we collected the public listings that make up the agent internet: MCP servers, agent skills, bot templates, agent projects, and hosted agent apps. This API serves that collection — the Agent Census — with search, filters, and per-listing records.
Live counts from /v1/stats. Sources: the official MCP
Registry (portion dated September 29, 2026), ClawHub, Grok bot directories,
Hugging Face, and two curated awesome-lists.
What it counts, honestly
The census counts listings, not active agents. A listing can be stale, moved, or gone. This is one snapshot, so the API makes no growth or trend claims. Nothing in the data was merged or deleted: 677 groups of listings share a URL across registry entries and stay distinct, because they are distinct listings. Fields that a source could not support are empty, never guessed.
Endpoints
| Route | What it does |
|---|---|
GET /v1/search | Full-text search (q) plus filters: kind, source, category, collector, platform. Paged with limit / offset. |
GET /v1/listings/:id | One listing by census id, all 13 fields. |
GET /v1/stats | Counts by kind, source, collector, and category. Public, no key needed. |
POST /v1/keys/free | Issues a free key to an email address. Shown once. |
Paid routes (/v1/search, /v1/listings/:id) accept either an API
key or an x402 payment. Without a key, the response is a 402
challenge naming the price, the asset (USDC), and the network (Base,
eip155:8453). /v1/stats stays public and free either way.
curl "https://agent-directory-api.mrdavesemailaddress.workers.dev/v1/search?q=postgres&kind=MCP%20server&limit=3" \ -H "Authorization: Bearer adk_your_key_here"
One real result from that query:
{
"id": "ac-03841",
"name": "ai.getvda/postgres-grafana-stack-generator",
"kind": "MCP server",
"category": "MCP server",
"source": "registry.modelcontextprotocol.io",
"date_collected": "2026-10-01"
}
Get a free key
Free keys are issued instantly and work across the full snapshot: 100 requests a day, pages of 25. One free key per email.
Pricing
Free
- 100 requests / day
- Pages of 25
- Full search and lookup
Paid
- 10,000 requests / day
- Pages of 100
- Cancel anytime; keys revoke on cancellation
Pay per call — x402
Or pay per call, with no account at all. The API also takes x402: a paid call made without a key returns HTTP 402 with the price attached — $0.01 in USDC on Base. Your agent signs the payment into the request, Coinbase's facilitator verifies and settles it, and the record comes back in the same exchange. One payment buys one call. There is no balance to hold with us and nothing routes through a wallet we control; settlement goes straight to the operator's address. This is the rail for an agent that has a wallet and no human at the keyboard.
Paid checkout is open: subscribe to the Paid tier ($19/month, cancel anytime). After payment, your paid key is sent by email from orbitdesk.ops@gmail.com within one business day.
The dataset behind it
The same snapshot is sold as a file (CSV + JSON, with a data dictionary and methodology note) by Orbital Desk LLC. The API is the live way in; the file is the take-home copy. Both describe the same 39,654 listings, collected the same way, with the same limits stated.