{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://brandcontent.dev/schema/agents.json",
  "title": "Agentic Brand Content — known AI agents",
  "description": "Reference list of AI-agent User-Agent markers, by vendor family and purpose. A request whose User-Agent matches a marker (word-boundary, case-insensitive) is treated as an AI agent. Conservative by design: only well-known, vendor-published markers. purpose drives differentiated pricing: query > search > training by intent.",
  "version": "0.1",
  "updated": "2026-05-28",
  "purposes": {
    "training": "Bulk crawl building a training corpus (low intent).",
    "query": "Real-time fetch on behalf of a user asking now (high intent).",
    "search": "Building or refreshing an AI search index (medium intent).",
    "unknown": "Mixed-purpose or undocumented."
  },
  "agents": [
    { "marker": "GPTBot",              "family": "openai",      "purpose": "training" },
    { "marker": "ChatGPT-User",        "family": "openai",      "purpose": "query" },
    { "marker": "OAI-SearchBot",       "family": "openai",      "purpose": "search" },
    { "marker": "ClaudeBot",           "family": "anthropic",   "purpose": "training" },
    { "marker": "Claude-Web",          "family": "anthropic",   "purpose": "query" },
    { "marker": "anthropic-ai",        "family": "anthropic",   "purpose": "unknown" },
    { "marker": "Google-Extended",     "family": "google",      "purpose": "training" },
    { "marker": "Google-CloudVertexBot","family": "google",     "purpose": "query" },
    { "marker": "Applebot-Extended",   "family": "apple",       "purpose": "training" },
    { "marker": "PerplexityBot",       "family": "perplexity",  "purpose": "search" },
    { "marker": "Perplexity-User",     "family": "perplexity",  "purpose": "query" },
    { "marker": "CCBot",               "family": "commoncrawl", "purpose": "training" },
    { "marker": "Meta-ExternalAgent",  "family": "meta",        "purpose": "training" },
    { "marker": "meta-externalfetcher","family": "meta",        "purpose": "query" },
    { "marker": "FacebookBot",         "family": "meta",        "purpose": "unknown" },
    { "marker": "Bytespider",          "family": "bytedance",   "purpose": "training" },
    { "marker": "cohere-ai",           "family": "cohere",      "purpose": "training" },
    { "marker": "YouBot",              "family": "you",         "purpose": "search" },
    { "marker": "Diffbot",             "family": "diffbot",     "purpose": "training" },
    { "marker": "MistralAI-User",      "family": "mistral",     "purpose": "query" },
    { "marker": "Amazonbot",           "family": "amazon",      "purpose": "unknown" }
  ]
}
