Technical

brand.json Explained: The Machine-Readable Identity File AI Agents Are Starting to Check

Schema.org markup describes individual pages. brand.json describes the brand itself - one canonical file that tells AI shopping agents and answer engines who you are, what you sell, and how you want to be represented. Here is what it contains, where it lives, and how to implement it.

Neil Walsh·July 2026·8 min read

brand.json is an emerging machine-readable file, published at the well-known path /.well-known/brand.json, that gives AI agents, answer engines, and agentic commerce platforms a single canonical source of truth for who a brand is: its legal name, logo, official channels, verified profiles, product catalogue summary, and how it wants to be represented in an AI-generated answer or transaction. Where Organization schema and JSON-LD describe a brand page by page, brand.json describes the brand once, at a fixed, discoverable location, independent of any individual URL.

The convention follows the same pattern as security.txt and robots.txt: a predictable file at a predictable path that a machine can fetch without first having to crawl or interpret a full website. For a human visitor this changes nothing. For an AI shopping agent trying to verify which retailer is actually selling a product, or an answer engine trying to confirm a brand's official name and channels before citing it, brand.json is designed to remove the guesswork.

Why brand.json emerged

The immediate driver is agentic commerce. As AI agents move from answering questions to taking actions - comparing products, adding items to a cart, completing a purchase on a user's behalf - they need a fast, verifiable way to confirm brand identity before acting. Scraping a homepage for a logo and a few sentences of marketing copy is slow, inconsistent, and easy to get wrong. The Agentic Advertising Council (AdCP) published brand.json as a standard specifically to solve this: a single file an agent can fetch once, cache, and trust as the brand's own authoritative statement about itself.

The same underlying need shows up under a few different names across the industry right now, since - much like AEO and GEO - a single dominant term has not settled yet. Some writers call the same category of file brand-facts.json; others describe a broader brand-memory.json aimed at giving AI systems ongoing context about a company's expertise, research, and preferred citations rather than just static identity fields. The specifics vary, but the goal in every version is the same: stop making AI agents infer who you are from prose, and hand them a structured, verifiable answer instead.

How brand.json differs from llms.txt and schema.org markup

It is easy to conflate brand.json with the two structured-data conventions AEO already relies on, but each solves a different problem and none of them replace the others.

  • Schema.org JSON-LD (Organization, Product, FAQPage) is embedded on individual pages and describes the entities on that page specifically. It requires an agent to crawl and parse HTML to find it.
  • llms.txt is a markdown index at the site root that points an AI system to a site's most important pages and summarises what the site is about, aimed primarily at content discovery.
  • brand.json is a single JSON file at a fixed, well-known path that states brand-level facts once - legal identity, official channels, verified profiles, and representation preferences - independent of any page or crawl.

In practice the three are complementary layers, not competitors. Organization schema and llms.txt still matter for how individual pages are understood and discovered; brand.json is the fastest, most authoritative layer an agent can check first, before it ever needs to crawl a page at all.

What belongs in a brand.json file

The specification is still evolving, but the fields converging across current implementations cover four areas: identity, visual assets, verified channels, and representation preferences.

Identity and legal facts

  • Legal and trading names, including common misspellings or shortened forms customers actually search for
  • Founding date, headquarters location, and registration or licensing details where relevant
  • A short, canonical description of what the brand does, written the way you would want an AI assistant to describe it verbatim

Visual and voice assets

  • Logo URLs in multiple formats, for an agent that needs to render a brand mark in a generated answer or shopping interface
  • Primary and secondary brand colours
  • Tone-of-voice notes an agent can use when summarising or quoting the brand

Verified channels and profiles

A sameAs-style list of official social profiles, marketplace storefronts, and review platform listings, so an agent can confirm it is looking at the genuine brand rather than an impersonator or an outdated aggregator listing. This is the field with the clearest immediate payoff: it gives AI shopping agents a way to distinguish an official storefront from a lookalike before recommending or transacting with it.

Representation preferences

  • Preferred citation format or short name when the brand is mentioned in a generated answer
  • Claims or terminology the brand explicitly wants avoided (for example, a discontinued product name or a rebrand still propagating through older listings)
  • A contact endpoint for correcting inaccurate AI-generated claims about the brand

Think of brand.json as the machine-readable equivalent of a press kit. It answers exactly the questions a journalist, or now an AI agent, would otherwise have to email you to confirm.

How to implement brand.json

  1. Draft the JSON document covering identity, assets, verified channels, and representation preferences using the fields above as a starting checklist
  2. Publish it at https://yourdomain.com/.well-known/brand.json, served with a Content-Type of application/json
  3. Keep it in sync with Organization schema and llms.txt rather than letting the three drift into inconsistent brand names or URLs
  4. Confirm GPTBot, ClaudeBot, PerplexityBot, and Googlebot-Extended are not blocked from the /.well-known/ path in robots.txt
  5. Re-check the file whenever the brand rebrands, changes official channels, or discontinues a product name that older listings still reference

brand.json is an emerging, still-consolidating standard rather than a universally adopted one. Treat it as a low-cost, high-upside addition alongside Organization schema and llms.txt, not a replacement for either - most AI systems today will not yet check it, but the agentic platforms that do check it first.

Why this matters for AEO now

Answer Engine Optimization has always been about removing the ambiguity an AI system would otherwise have to resolve on its own before it feels safe citing or acting on a source. Schema markup does this at the page level and llms.txt does it at the site level. brand.json extends the same principle to the brand as a whole, at exactly the moment AI systems are shifting from simply answering questions to taking actions - comparing, shopping, and transacting - on a user's behalf. A brand that has already published a clean, verifiable answer to 'who are you and where can I confirm it' is the brand an agent defaults to trusting first.

Run a free CiteRank audit to check whether your Organization schema, llms.txt, and official channel signals are consistent enough to support a brand.json file worth publishing.

Frequently asked questions

What is brand.json?

brand.json is an emerging machine-readable file, published at /.well-known/brand.json, that gives AI agents and answer engines a single canonical source of truth for a brand's identity, visual assets, verified channels, and representation preferences.

Where should brand.json be hosted?

At the well-known path /.well-known/brand.json on the brand's primary domain, served with a Content-Type of application/json, following the same convention as security.txt and robots.txt.

Who created the brand.json standard?

The Agentic Advertising Council (AdCP) published brand.json to give AI shopping agents a fast, verifiable way to confirm brand identity before comparing products or completing a transaction on a user's behalf.

How is brand.json different from Organization schema?

Organization schema is JSON-LD embedded in a page's HTML and describes the brand in the context of that specific page, requiring an agent to crawl and parse the page to find it. brand.json is a single standalone file at a fixed path that states brand-level facts once, without requiring a crawl.

Does brand.json replace llms.txt?

No. llms.txt is a content discovery index pointing to a site's most important pages. brand.json is a brand identity file covering legal name, assets, verified channels, and representation preferences. Sites benefit from publishing both, kept consistent with each other.

Is brand.json widely adopted yet?

Not yet. It is an emerging standard still being consolidated, and terminology varies across sources (brand.json, brand-facts.json, brand-memory.json). Most AI systems will not check it today, but agentic commerce platforms are the ones actively building around it, making early adoption a low-cost, forward-looking move.

What is the single highest-value field in brand.json?

The verified channels list (a sameAs-style set of official social profiles, marketplace storefronts, and review listings). It gives an AI agent the fastest way to distinguish the genuine brand from an impersonator or an outdated listing before recommending or transacting with it.

Should brand.json match Organization schema and llms.txt exactly?

Yes. The legal name, official channels, and description should stay consistent across all three. Inconsistency between them is itself a negative signal, since it gives an AI system conflicting facts to reconcile before it can cite or act on any of them confidently.

Free tool

See your AEO score in seconds

Paste your URL and get a full audit across all 9 AEO signals - schema, crawlers, E-E-A-T, and more.

Audit my site - it's free

Related reading

Technical

Why Schema.org markup is the single biggest lever for AI citation

May 2026
Technical

Is your robots.txt accidentally blocking ChatGPT and Claude?

May 2026