What is ARD? The ard.json standard, explained simply
ARD (Agentic Resource Discovery) is the discovery standard Google, Microsoft, AWS, and a dozen other companies got behind in mid-2026. Here's what it actually is, what the file looks like, and how to publish one in about five minutes — no 50-page spec reading required.
The problem ARD solves
AI agents are starting to do real work: research, purchasing, integration, comparison. To use your stuff — your data, your API, your agent — they first have to find it. Until now, every ecosystem invented its own discovery mechanism, and businesses faced an alphabet soup (llms.txt, agent cards, API catalogs, MCP manifests) with no way to know which mattered.
ARD's answer: one catalog file, on your own domain, listing everything you want agents to find. Discovery services ("registries") then index those catalogs, the way search engines index sitemaps.
Who's behind it
The specification is developed by Microsoft and Google together with AWS, Cisco, Databricks, GitHub, GoDaddy, Hugging Face, Nvidia, Salesforce, ServiceNow, and Snowflake, released under Apache 2.0 at agenticresourcediscovery.org. It is currently version 0.91, a Proposal — real, backed, and still a draft. Keep that last part in mind.
What the file looks like
You host a JSON file at:
https://yourdomain.com/.well-known/ard.json
It has one required top-level field — entries — listing your resources:
{
"entries": [
{
"identifier": "urn:air:example.com:main:company-data",
"displayName": "Company data",
"type": "application/json",
"url": "https://example.com/ai-info.json"
},
{
"identifier": "urn:air:example.com:main:support-agent",
"displayName": "Support agent",
"type": "application/a2a-agent-card+json",
"url": "https://example.com/.well-known/agent-card.json"
}
]
}
Each entry needs four things:
identifier— a URN of the formurn:air:<your-domain>:<namespace>:<name>. The domain segment is what ties the entry to your authority.displayName— a human-readable name.type— a media type describing what the resource is (application/jsonfor data files,application/mcp-server-card+jsonfor MCP servers, and so on).url— where it lives.
Optional fields (description, tags,
representativeQueries, capabilities, version,
metadata) make entries richer — representativeQueries in
particular ("sample questions this resource can answer") is worth adding by hand,
because it's how intent-based registry search finds you.
The honest caveats
Three things the launch posts won't tell you:
- It's a draft. v0.91 will change before v1.0. Whatever you publish today may need updating — pick a setup you can regenerate, not one you hand-crafted and forgot.
- Registries are nascent. The federated registries that make ARD useful are just starting to appear. Publishing a catalog today is about being indexed early, not about immediate traffic.
- Getting it wrong is silent. The A2A ecosystem's July 2026 numbers are the warning: of 65 published agent cards, 41 were broken in ways a client can't consume — wrong types, malformed JSON, catch-all routes returning HTML. Nothing tells you your file is broken. It just doesn't work. (More data in our State of AI Discovery report.)
The 5-minute path
You can write ard.json by hand from the example above — it's not a
complicated format. Or, if you want it generated and kept correct:
- Verify your domain with NessGate (free, no account — you prove domain control with a DNS record or a file, the same way Google Search Console works).
- Declare your official resources — data files, APIs, agent endpoints, anything.
- Download your generated catalog from
nessgate.com/export/yourdomain.com/ard.jsonand host it at/.well-known/ard.json. Re-download whenever your listing changes; the spec-conformance is our problem, not yours.
Either way: the file sits on your domain, under your control. That's the whole point of the standard — and of everything worth doing in AI discovery right now.
Want to see what agents can already find on your domain? Run the free check.