LLM-LD 1.0 Specification
{🤖} LLM-LD

LLM-LD 1.0 Specification

Status
Draft
Published
February 2026
Maintained by
CAPXEL
Latest version
llmld.org/spec/llm-ld-v1
Repository
github.com/llmdisco/llm-ld-spec
License
CC BY 4.0

LLM-LD 1.0 Specification

Linked Data Standard for AI-Accessible Websites


Version: 1.0
Status: Draft Specification
Published: February 2026
Latest Version: https://llmld.org/spec/1.0
Editors: CAPXEL
Repository: https://github.com/llmdisco/llm-ld-spec


Abstract

LLM-LD (Large Language Model Linked Data) is a specification for making websites accessible, understandable, and actionable by artificial intelligence systems. It extends Schema.org vocabulary with AI-specific constructs that enable crawlers, agents, and AI-powered applications to efficiently discover, ingest, and interact with web content.

This specification defines:

  1. A file format (llm-index.json) that serves as a complete machine-readable representation of a website
  2. A vocabulary of properties optimized for AI consumption
  3. Conformance levels that allow incremental adoption
  4. A verification mechanism through the LLM Disco Directory

Table of Contents

  1. Introduction
  2. Terminology
  3. Conformance Levels
  4. File Structure
  5. Core Properties
  6. Entity Properties
  7. Agent Intelligence Properties
  8. Verification Properties
  9. Meta Properties
  10. File Placement and Discovery
  11. Relationship to Schema.org
  12. Security Considerations
  13. IANA Considerations
  14. Examples
  15. JSON Schema
  16. Changelog

1. Introduction

1.1 Background

The proliferation of AI systems that consume web content—including search engines, chatbots, autonomous agents, and retrieval-augmented generation (RAG) systems—has created a need for websites to communicate with these systems in structured, predictable ways.

Traditional web standards (HTML, robots.txt, sitemap.xml) were designed for human readers and traditional search crawlers. While Schema.org provides structured data vocabulary, it focuses on describing entities rather than enabling AI interaction.

LLM-LD addresses this gap by providing:

  • Consolidation: A single file containing all information an AI needs
  • Actionability: Clear definitions of what actions are available
  • Context: Guidance for AI decision-making
  • Verification: Trust signals through directory membership

1.2 Goals

  1. Enable AI systems to understand a website's complete offering in a single request
  2. Provide clear, unambiguous action endpoints for agentic AI
  3. Establish trust through verifiable directory membership
  4. Maintain backwards compatibility with Schema.org
  5. Support incremental adoption through conformance levels

1.3 Audience

This specification is intended for:

  • Web developers implementing LLM-LD on websites
  • AI system developers consuming LLM-LD data
  • Tool developers building LLM-LD generators and validators
  • Directory operators integrating with the LLM Disco network

1.4 Document Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.


2. Terminology

AI Crawler : An automated system that retrieves and indexes web content for AI applications. Examples include GPTBot, ClaudeBot, and PerplexityBot.

Agent : An AI system capable of taking actions on behalf of a user, including navigation, form submission, and API calls.

Conformance Level : A defined set of requirements that an implementation must satisfy. LLM-LD defines three levels: Crawl-Ready, Ingest-Ready, and Agent-Ready.

Entity : A distinct thing described by the website, such as a product, service, person, or organization.

LLM Disco Directory : A network of LLM-LD compliant websites maintained by the CAPXEL, providing verification and discovery services.

Primary Entity : The main entity that a website represents, typically an Organization or LocalBusiness.

Verification : The process of confirming that a website is legitimately associated with its claimed identity through directory membership.


3. Conformance Levels

LLM-LD defines three conformance levels, each building upon the previous:

3.1 Level 1: Crawl-Ready

Purpose: Enable AI crawlers to discover and index website content.

Requirements: - MUST serve valid robots.txt allowing AI crawlers - MUST provide sitemap.xml listing all pages - SHOULD include Schema.org JSON-LD on individual pages

Files:

website.com/
├── robots.txt
├── sitemap.xml
└── [pages with Schema.org markup]

3.2 Level 2: Ingest-Ready

Purpose: Enable AI systems to understand the complete website from a single file.

Requirements: - MUST satisfy Level 1 requirements - MUST serve llm-index.json at the designated location - MUST include all Core Properties (Section 5) - SHOULD include applicable Entity Properties (Section 6)

Files:

website.com/
├── robots.txt
├── sitemap.xml
├── .well-known/llm-index.json    # OR /llm-index.json
└── [pages with Schema.org markup]

3.3 Level 3: Agent-Ready

Purpose: Enable AI agents to take actions and make informed decisions.

Requirements: - MUST satisfy Level 2 requirements - MUST include llmld:actions with at least one actionable endpoint - SHOULD include Agent Intelligence Properties (Section 7) - SHOULD register with the LLM Disco Directory for verification

Files:

website.com/
├── robots.txt
├── sitemap.xml
├── .well-known/llm-index.json
└── [pages with Schema.org markup]

3.4 Conformance Declaration

Implementations SHOULD declare their conformance level in the llmld:conformance property:

{
  "llmld:conformance": {
    "level": 3,
    "level_name": "Agent-Ready",
    "validated": true,
    "validated_by": "https://llmdisco.com",
    "validated_at": "2026-02-02T00:00:00Z"
  }
}

4. File Structure

4.1 File Format

LLM-LD documents MUST be valid JSON conforming to RFC 8259.

The file MUST use UTF-8 encoding without BOM.

The recommended filename is llm-index.json.

4.2 Context Declaration

Every LLM-LD document MUST include a JSON-LD context declaration:

{
  "@context": [
    "https://schema.org",
    "https://llmld.org/v1"
  ],
  "@type": "llmld:AIWebsite",
  "@id": "https://example.com/llm-index.json"
}

The @context array: - MUST include "https://schema.org" for Schema.org compatibility - MUST include "https://llmld.org/v1" for LLM-LD vocabulary

The @type: - MUST be "llmld:AIWebsite"

The @id: - MUST be the canonical URL of the llm-index.json file

4.3 Property Namespacing

Properties defined by this specification use the llmld: prefix to distinguish them from Schema.org properties:

  • llmld:summary - LLM-LD property
  • name - Schema.org property (no prefix needed in context)

4.4 Size Considerations

There is no maximum file size specified. However, implementations SHOULD consider:

  • Files under 100KB are optimal for most AI systems
  • Files over 500KB SHOULD provide a llmld:summary sufficient for basic understanding
  • Very large sites MAY split content across multiple files referenced from the main index

5. Core Properties

Core properties are REQUIRED for Level 2 and Level 3 conformance.

5.1 llmld:meta

Description: Metadata about the LLM-LD document itself.

Type: Object

Required: Yes (Level 2+)

Properties:

PropertyTypeRequiredDescription
versionStringYesLLM-LD specification version (e.g., "1.0")
generatedDateTimeYesISO 8601 timestamp of generation
generatorStringNoSoftware that generated this file
expiresDateTimeNoWhen this data should be considered stale
refresh_intervalStringNoSuggested refresh frequency (e.g., "daily", "weekly")
checksumStringNoSHA-256 hash of content for cache validation
languageStringNoPrimary language (BCP 47 code, e.g., "en-US")

Example:

{
  "llmld:meta": {
    "version": "1.0",
    "generated": "2026-02-02T12:00:00Z",
    "generator": "aso-generator/2.0",
    "expires": "2026-02-09T12:00:00Z",
    "refresh_interval": "weekly",
    "language": "en-US"
  }
}

5.2 llmld:site

Description: Core identity information about the website and organization.

Type: Object

Required: Yes (Level 2+)

Properties:

PropertyTypeRequiredDescription
nameStringYesOrganization or website name
legal_nameStringNoRegistered legal name
typeStringYesPrimary type (e.g., "Business", "NonProfit", "Government")
industryArray[String]NoIndustry categories
descriptionStringYesBrief description (1-2 sentences)
taglineStringNoMarketing tagline or slogan
foundedStringNoYear founded
domainsObjectYesAssociated domains (see below)
locationObjectNoPhysical location information
socialObjectNoSocial media profiles
identifiersObjectNoExternal identifiers (EIN, DUNS, etc.)

domains Object:

PropertyTypeRequiredDescription
primaryURLYesMain website URL
aiURLNoAI-specific subdomain if different
appURLNoApplication URL
docsURLNoDocumentation URL
apiURLNoAPI endpoint URL

location Object:

PropertyTypeRequiredDescription
headquartersPostalAddressNoPrimary address
service_areaStringNoGeographic service area
primary_marketsArray[String]NoPrimary market countries/regions

Example:

{
  "llmld:site": {
    "name": "Example Company",
    "legal_name": "Example Company, Inc.",
    "type": "Business",
    "industry": ["Marketing Technology", "SaaS"],
    "description": "AI-powered marketing tools for businesses.",
    "tagline": "Marketing intelligence, simplified.",
    "founded": "2020",
    "domains": {
      "primary": "https://www.example.com",
      "ai": "https://ai.example.com",
      "docs": "https://docs.example.com",
      "api": "https://api.example.com"
    },
    "location": {
      "headquarters": {
        "address": "123 Innovation Drive",
        "city": "Miami",
        "state": "FL",
        "postal_code": "33101",
        "country": "US",
        "geo": {
          "lat": 25.7617,
          "lng": -80.1918
        }
      },
      "service_area": "Global",
      "primary_markets": ["United States", "United Kingdom", "Canada"]
    },
    "social": {
      "linkedin": "https://linkedin.com/company/example",
      "twitter": "https://twitter.com/example"
    }
  }
}

5.3 llmld:primaryEntity

Description: Reference to the main entity this website represents.

Type: Object

Required: Yes (Level 2+)

Properties:

PropertyTypeRequiredDescription
@idStringYesLocal reference ID (e.g., "#organization")
@typeStringYesSchema.org type
nameStringYesEntity name
descriptionStringNoBrief description
urlURLNoCanonical URL
logoURLNoLogo image URL
imageURLNoPrimary image URL

Example:

{
  "llmld:primaryEntity": {
    "@id": "#organization",
    "@type": "Organization",
    "name": "Example Company",
    "description": "AI-powered marketing tools for businesses",
    "url": "https://www.example.com",
    "logo": "https://www.example.com/logo.png"
  }
}

5.4 llmld:summary

Description: Condensed information for quick AI understanding.

Type: Object

Required: Yes (Level 2+)

Properties:

PropertyTypeRequiredDescription
one_linerStringYesSingle sentence description
paragraphStringYes2-4 sentence overview
key_factsArray[String]Yes3-10 bullet-point facts
differentiatorsArray[String]NoWhat makes this entity unique
target_customersArray[String]NoIdeal customer descriptions

Example:

{
  "llmld:summary": {
    "one_liner": "Example Company builds AI-powered marketing tools for businesses.",
    "paragraph": "Example Company is a marketing technology company based in Miami, Florida. Founded in 2020, we build tools that help businesses understand their markets and customers. Our products include competitive intelligence, web analytics, and conversion optimization platforms.",
    "key_facts": [
      "Founded in 2020",
      "2,500+ customers",
      "3 SaaS products",
      "SOC 2 Type II certified"
    ],
    "differentiators": [
      "Daily data updates (competitors update weekly)",
      "Privacy-first analytics",
      "AI-powered insights"
    ],
    "target_customers": [
      "Small to medium businesses",
      "Marketing teams",
      "Digital agencies"
    ]
  }
}

5.5 llmld:pages

Description: Complete sitemap in structured format.

Type: Array[Object]

Required: Yes (Level 2+)

Page Object Properties:

PropertyTypeRequiredDescription
pathStringYesURL path (e.g., "/about")
titleStringYesPage title
typeStringYesPage type (see Page Types below)
urlURLYesFull URL
schemasArray[String]NoSchema.org types used on this page
entityStringNoReference to entity defined in this document
childrenArray[String]NoChild page paths
descriptionStringNoBrief page description
lastmodDateNoLast modification date

Page Types: - homepage - Main landing page - about - About/company information - product - Individual product page - service - Individual service page - listing - Collection/category page - article - Blog post or article - person - Individual person profile - contact - Contact information - pricing - Pricing information - faq - Frequently asked questions - legal - Legal/policy pages - other - Other page types

Example:

{
  "llmld:pages": [
    {
      "path": "/",
      "title": "Example Company - AI-Powered Marketing Tools",
      "type": "homepage",
      "url": "https://www.example.com/",
      "schemas": ["Organization", "WebSite"]
    },
    {
      "path": "/products",
      "title": "Products",
      "type": "listing",
      "url": "https://www.example.com/products",
      "schemas": ["ItemList"],
      "children": ["/products/spybox", "/products/statilitix"]
    },
    {
      "path": "/products/spybox",
      "title": "SPYBOX - Competitive Intelligence",
      "type": "product",
      "url": "https://www.example.com/products/spybox",
      "schemas": ["SoftwareApplication", "FAQPage"],
      "entity": "#product-spybox"
    }
  ]
}

5.6 llmld:actions

Description: Available actions that users or agents can take.

Type: Object

Required: Yes (Level 3), Recommended (Level 2)

Structure:

{
  "llmld:actions": {
    "primary": [...],      // Main CTAs
    "purchase": [...],     // Buy actions
    "contact": [...],      // Contact methods
    "resources": [...]     // Informational links
  }
}

Action Object Properties:

PropertyTypeRequiredDescription
idStringYesUnique action identifier
nameStringYesHuman-readable action name
descriptionStringNoWhat this action does
urlURLYes*Action URL (*or channels for contact)
typeStringYesAction type (see Action Types below)
priorityIntegerNoDisplay priority (1 = highest)
requires_authBooleanNoWhether authentication is required
productStringNoReference to associated product
best_forArray[String]NoUse cases this action suits
parametersArray[Object]NoURL parameters or form fields
channelsArray[Object]NoFor contact actions, available channels

Action Types: - signup - Create account or start trial - purchase - Buy product/service - schedule - Book appointment/demo - form - Submit a form - contact - Contact via various channels - navigate - Navigate to URL - download - Download resource - api - API endpoint

Example:

{
  "llmld:actions": {
    "primary": [
      {
        "id": "start-trial",
        "name": "Start Free Trial",
        "description": "Begin a 14-day free trial",
        "url": "https://www.example.com/signup",
        "type": "signup",
        "priority": 1,
        "requires_auth": false,
        "parameters": [
          {
            "name": "product",
            "type": "enum",
            "options": ["spybox", "statilitix", "funnelsnax"],
            "required": false
          }
        ]
      },
      {
        "id": "book-demo",
        "name": "Book a Demo",
        "description": "Schedule a live product walkthrough",
        "url": "https://calendly.com/example/demo",
        "type": "schedule",
        "priority": 2,
        "requires_auth": false
      }
    ],
    "purchase": [
      {
        "id": "buy-spybox",
        "name": "Buy SPYBOX",
        "url": "https://www.example.com/checkout?product=spybox",
        "type": "purchase",
        "product": "#product-spybox",
        "requires_auth": true
      }
    ],
    "contact": [
      {
        "id": "contact-sales",
        "name": "Contact Sales",
        "type": "contact",
        "channels": [
          {
            "type": "email",
            "value": "sales@example.com",
            "label": "Email Sales"
          },
          {
            "type": "phone",
            "value": "+1-305-555-1234",
            "label": "Call Sales",
            "hours": "Mon-Fri 9am-6pm EST"
          },
          {
            "type": "form",
            "value": "https://www.example.com/contact",
            "label": "Contact Form"
          }
        ],
        "best_for": ["Pricing questions", "Enterprise inquiries"]
      }
    ],
    "resources": [
      {
        "id": "documentation",
        "name": "Documentation",
        "url": "https://docs.example.com",
        "type": "navigate"
      }
    ]
  }
}

5.7 llmld:contact

Description: Contact information organized by purpose.

Type: Object

Required: Yes (Level 2+)

Properties:

PropertyTypeRequiredDescription
generalContactPointNoGeneral inquiries
salesContactPointNoSales team
supportContactPointNoCustomer support
partnershipsContactPointNoPartnership inquiries
pressContactPointNoMedia inquiries
addressPostalAddressNoPhysical address

ContactPoint Properties:

PropertyTypeRequiredDescription
emailEmailNoEmail address
phoneStringNoPhone number (E.164 format preferred)
chatURLNoLive chat URL
calendarURLNoScheduling link
hoursStringNoAvailability hours
response_timeStringNoExpected response time
personStringNoReference to person entity

Example:

{
  "llmld:contact": {
    "general": {
      "email": "hello@example.com",
      "phone": "+1-305-555-1234",
      "hours": "Mon-Fri 9am-6pm EST"
    },
    "sales": {
      "email": "sales@example.com",
      "phone": "+1-305-555-1234",
      "calendar": "https://calendly.com/example/sales",
      "person": "#person-mike-rodriguez"
    },
    "support": {
      "email": "support@example.com",
      "chat": "https://www.example.com",
      "response_time": "24 hours"
    },
    "address": {
      "street": "123 Innovation Drive, Suite 400",
      "city": "Miami",
      "state": "FL",
      "postal_code": "33101",
      "country": "US"
    }
  }
}

6. Entity Properties

Entity properties describe the things a website offers. Include properties applicable to your site.

6.1 llmld:products

Description: Products offered by the organization.

Type: Array[Product]

Required: No (include if applicable)

Product Properties:

PropertyTypeRequiredDescription
@idStringYesUnique identifier (e.g., "#product-spybox")
@typeStringYesSchema.org type (Product, SoftwareApplication, etc.)
nameStringYesProduct name
headlineStringNoShort tagline
descriptionStringYesProduct description
categoryStringNoProduct category
sub_categoryStringNoMore specific category
featuresArray[String]NoFeature list
pricingPricingObjectNoPricing information
trialTrialObjectNoTrial information
requirementsObjectNoTechnical requirements
integrationsArray[String]NoAvailable integrations
ratingsObjectNoExternal ratings (G2, Capterra, etc.)
use_casesArray[String]NoCommon use cases
best_forArray[String]NoIdeal customer types
not_forArray[String]NoPoor fit scenarios
competitorsArray[Object]NoCompetitor comparisons
actionsObjectNoProduct-specific actions

PricingObject:

PropertyTypeRequiredDescription
modelStringYes"subscription", "one-time", "usage", "free"
currencyStringYesISO 4217 currency code
billing_cyclesArray[String]No["monthly", "annual"]
annual_discountStringNoDiscount for annual billing
plansArray[PlanObject]NoAvailable plans

PlanObject:

PropertyTypeRequiredDescription
nameStringYesPlan name
price_monthlyNumber/StringYesMonthly price or "custom"
price_annualNumber/StringNoAnnual price
featuresArray[String]YesFeatures included
popularBooleanNoMark as recommended plan

TrialObject:

PropertyTypeRequiredDescription
availableBooleanYesWhether trial is available
duration_daysIntegerNoTrial length in days
credit_card_requiredBooleanNoWhether CC is required

Example:

{
  "llmld:products": [
    {
      "@id": "#product-spybox",
      "@type": "SoftwareApplication",
      "name": "SPYBOX",
      "headline": "Competitive Intelligence Platform",
      "description": "Track competitors' websites, ads, and social presence.",
      "category": "BusinessApplication",
      "sub_category": "Competitive Intelligence",
      "features": [
        "Competitor website tracking",
        "Ad creative monitoring",
        "Daily data updates"
      ],
      "pricing": {
        "model": "subscription",
        "currency": "USD",
        "billing_cycles": ["monthly", "annual"],
        "annual_discount": "20%",
        "plans": [
          {
            "name": "Starter",
            "price_monthly": 49,
            "price_annual": 470,
            "features": ["5 competitors", "Weekly updates"]
          },
          {
            "name": "Pro",
            "price_monthly": 99,
            "price_annual": 950,
            "features": ["15 competitors", "Daily updates", "API access"],
            "popular": true
          },
          {
            "name": "Enterprise",
            "price_monthly": "custom",
            "features": ["Unlimited competitors", "SSO", "Dedicated support"]
          }
        ]
      },
      "trial": {
        "available": true,
        "duration_days": 14,
        "credit_card_required": false
      },
      "best_for": ["Agencies", "E-commerce", "SaaS companies"],
      "actions": {
        "try": {
          "label": "Start Free Trial",
          "url": "https://www.example.com/signup?product=spybox"
        },
        "buy": {
          "label": "Buy Now",
          "url": "https://www.example.com/checkout?product=spybox"
        }
      }
    }
  ]
}

6.2 llmld:services

Description: Services offered by the organization.

Type: Array[Service]

Required: No (include if applicable)

Service Properties:

PropertyTypeRequiredDescription
@idStringYesUnique identifier
@typeStringYesSchema.org type (Service, ProfessionalService, etc.)
nameStringYesService name
descriptionStringYesService description
categoryStringNoService category
deliverablesArray[String]NoWhat's delivered
pricingServicePricingObjectNoPricing information
timelineStringNoTypical duration
processArray[String]NoProcess steps
requirementsArray[String]NoClient requirements
best_forArray[String]NoIdeal client types
actionsObjectNoService-specific actions

ServicePricingObject:

PropertyTypeRequiredDescription
modelStringYes"project", "hourly", "retainer", "setup_plus_recurring"
currencyStringYesISO 4217 currency code
rangeObjectNoMin/max pricing
setupNumberNoOne-time setup fee
monthlyNumberNoMonthly recurring fee
hourlyNumberNoHourly rate
factorsArray[String]NoWhat affects pricing

Example:

{
  "llmld:services": [
    {
      "@id": "#service-aso",
      "@type": "Service",
      "name": "ASO Implementation",
      "description": "Make your site discoverable by AI search engines.",
      "category": "Technical Implementation",
      "deliverables": [
        "AI-optimized subdomain",
        "Schema injection",
        "LLM-LD compliance",
        "LLM Disco Directory listing"
      ],
      "pricing": {
        "model": "setup_plus_recurring",
        "currency": "USD",
        "setup": 500,
        "monthly": 199
      },
      "timeline": "1-2 weeks",
      "process": [
        "Discovery call",
        "Technical setup",
        "Content optimization",
        "Launch and verification"
      ],
      "actions": {
        "inquire": {
          "label": "Get Started",
          "url": "https://www.example.com/quote?service=aso"
        }
      }
    }
  ]
}

6.3 llmld:people

Description: Key people associated with the organization.

Type: Array[Person]

Required: No (include if applicable)

Person Properties:

PropertyTypeRequiredDescription
@idStringYesUnique identifier
@typeStringYes"Person"
nameStringYesFull name
jobTitleStringNoJob title
descriptionStringNoBrief bio
imageURLNoPhoto URL
emailEmailNoEmail address
phoneStringNoPhone number
socialObjectNoSocial media profiles
expertiseArray[String]NoAreas of expertise
contact_forArray[String]NoWhat to contact them about
worksForStringNoReference to organization

Example:

{
  "llmld:people": [
    {
      "@id": "#person-john-smith",
      "@type": "Person",
      "name": "John Smith",
      "jobTitle": "CEO & Founder",
      "description": "15+ years in digital marketing and AI.",
      "image": "https://www.example.com/team/john-smith.jpg",
      "email": "john@example.com",
      "social": {
        "linkedin": "https://linkedin.com/in/johnsmith",
        "twitter": "https://twitter.com/johnsmith"
      },
      "expertise": ["Marketing strategy", "AI/ML"],
      "worksFor": "#organization"
    }
  ]
}

6.4 llmld:faq

Description: Frequently asked questions and answers.

Type: Array[FAQItem]

Required: No (recommended)

FAQItem Properties:

PropertyTypeRequiredDescription
idStringNoUnique identifier
questionStringYesThe question
answerStringYesThe answer
categoryStringNoQuestion category
actionObjectNoRelated action

Example:

{
  "llmld:faq": [
    {
      "id": "trial",
      "question": "Do you offer a free trial?",
      "answer": "Yes! All products include a 14-day free trial. No credit card required.",
      "category": "pricing",
      "action": {
        "label": "Start Free Trial",
        "url": "https://www.example.com/signup"
      }
    },
    {
      "id": "cancel",
      "question": "Can I cancel anytime?",
      "answer": "Yes, no contracts or cancellation fees. Cancel from your account settings at any time.",
      "category": "pricing"
    }
  ]
}

7. Agent Intelligence Properties

Agent Intelligence properties provide guidance for AI systems making decisions. These are RECOMMENDED for Level 3 conformance.

7.1 llmld:context

Description: Guidance for AI decision-making and responses.

Type: Object

Required: No (recommended for Level 3)

Properties:

PropertyTypeRequiredDescription
decision_guidanceArray[GuidanceObject]NoScenario-based guidance
things_to_avoidArray[String]NoActions/statements AI should avoid
toneStringNoSuggested communication tone
escalation_triggersArray[String]NoWhen to suggest human contact

GuidanceObject:

PropertyTypeRequiredDescription
scenarioStringYesScenario description
guidanceStringYesRecommended approach

Example:

{
  "llmld:context": {
    "decision_guidance": [
      {
        "scenario": "User asks about products",
        "guidance": "Understand their primary need first. Match to appropriate product. If unclear, SPYBOX is our most popular."
      },
      {
        "scenario": "User is price-sensitive",
        "guidance": "Start with Statilitix ($49/mo) or mention the free trial. Highlight annual discount (20% off)."
      },
      {
        "scenario": "User wants to talk to a human",
        "guidance": "Provide contact options immediately. Sales: sales@example.com. Support: support@example.com."
      }
    ],
    "things_to_avoid": [
      "Making up pricing not listed in this document",
      "Promising specific features without verification",
      "Committing to timelines for custom work",
      "Providing legal or compliance advice"
    ],
    "tone": "Professional but approachable. Expert but not condescending.",
    "escalation_triggers": [
      "User mentions legal or compliance requirements",
      "User asks about enterprise pricing",
      "User reports a bug or technical issue",
      "User expresses frustration"
    ]
  }
}

7.2 llmld:capabilities

Description: What AI can and cannot help with for this organization.

Type: Object

Required: No (recommended for Level 3)

Properties:

PropertyTypeRequiredDescription
what_we_can_help_withArray[String]YesTopics AI can address
what_requires_humanArray[String]NoTopics requiring human involvement
what_we_cannot_doArray[String]NoExplicit limitations

Example:

{
  "llmld:capabilities": {
    "what_we_can_help_with": [
      "Information about products and services",
      "Pricing and plan comparisons",
      "Feature explanations",
      "Use case recommendations",
      "Directing to appropriate contacts"
    ],
    "what_requires_human": [
      "Custom pricing quotes",
      "Enterprise negotiations",
      "Technical support for specific issues",
      "Account-specific questions"
    ],
    "what_we_cannot_do": [
      "Access user account data",
      "Process payments",
      "Make changes to subscriptions",
      "Provide legal advice"
    ]
  }
}

7.3 llmld:boundaries

Description: Clear statement of what the organization does and doesn't do.

Type: Object

Required: No (recommended for Level 3)

Properties:

PropertyTypeRequiredDescription
we_areArray[String]NoWhat the organization is
we_are_notArray[String]NoWhat it is not
we_doArray[String]NoServices/products offered
we_dontArray[String]NoServices/products not offered

Example:

{
  "llmld:boundaries": {
    "we_are": [
      "A marketing technology company",
      "A SaaS provider"
    ],
    "we_are_not": [
      "An SEO agency",
      "An ad agency",
      "A CRM"
    ],
    "we_do": [
      "Sell software subscriptions",
      "Provide marketing intelligence tools"
    ],
    "we_dont": [
      "Manage ad campaigns",
      "Write content",
      "Do traditional SEO"
    ]
  }
}

7.4 llmld:authority

Description: Trust signals and expertise declarations.

Type: Object

Required: No (recommended for Level 3)

Properties:

PropertyTypeRequiredDescription
expertise_areasArray[String]NoTopics of expertise
trust_signalsObjectNoVerification and credibility indicators
citationsObjectNoHow to cite this source

trust_signals Object:

PropertyTypeRequiredDescription
years_in_businessIntegerNoYears operating
customersStringNoCustomer count (e.g., "2500+")
certificationsArray[String]NoIndustry certifications
awardsArray[String]NoAwards received
notable_customersArray[String]NoNotable customer names

Example:

{
  "llmld:authority": {
    "expertise_areas": [
      "Marketing analytics",
      "Competitive intelligence",
      "AI search optimization"
    ],
    "trust_signals": {
      "years_in_business": 6,
      "customers": "2500+",
      "certifications": ["SOC 2 Type II", "GDPR Compliant"],
      "awards": ["MarTech Breakthrough 2025"]
    },
    "citations": {
      "prefer_citation": true,
      "citation_format": "Example Company (example.com)"
    }
  }
}

8. Verification Properties

Verification properties establish trust through directory membership.

8.1 llmld:verification

Description: Verification status through the LLM Disco Directory.

Type: Object

Required: No (recommended for Level 3)

Properties:

PropertyTypeRequiredDescription
statusStringYes"verified", "pending", "unverified"
directoryStringYesVerifying directory URL
directory_nameStringYesDirectory name
verified_atDateTimeNoVerification timestamp
listing_urlURLNoURL to directory listing
verification_methodStringNoHow verification was performed
badge_urlURLNoVerification badge image
expiresDateTimeNoWhen verification expires

Verification Methods: - dns_txt - DNS TXT record verification - meta_tag - HTML meta tag verification - file - File-based verification - manual - Manual review by directory

Example:

{
  "llmld:verification": {
    "status": "verified",
    "directory": "https://llmdisco.com",
    "directory_name": "LLM Disco Directory",
    "verified_at": "2026-01-29T00:00:00Z",
    "listing_url": "https://llmdisco.com/sites/example",
    "verification_method": "dns_txt",
    "badge_url": "https://llmdisco.com/badges/verified.svg",
    "expires": "2027-01-29T00:00:00Z"
  }
}

8.2 Verification Process

To obtain verification through the LLM Disco Directory:

  1. Register at https://llmdisco.com
  2. Claim Domain by adding DNS TXT record or meta tag
  3. Submit llm-index.json URL for validation
  4. Review - Directory validates conformance and authenticity
  5. Verified - Badge and listing issued

Verified sites receive: - Listing in LLM Disco Directory - Verification badge - Priority inclusion in AI training and retrieval - Cross-linking with other verified sites

8.3 Verification Signals for AI

AI systems SHOULD consider verification status when: - Determining source trustworthiness - Resolving conflicting information - Deciding citation priority - Recommending businesses or services

Verified sites (status: "verified") indicate: - Domain ownership has been confirmed - LLM-LD document is valid - Organization is legitimate - Information is actively maintained


9. Meta Properties

9.1 llmld:legal

Description: Links to legal documents.

Type: Object

Required: No

Properties:

PropertyTypeRequiredDescription
terms_of_serviceURLNoTerms of service
privacy_policyURLNoPrivacy policy
cookie_policyURLNoCookie policy
dpaURLNoData processing agreement
slaURLNoService level agreement
securityURLNoSecurity information

Example:

{
  "llmld:legal": {
    "terms_of_service": "https://www.example.com/terms",
    "privacy_policy": "https://www.example.com/privacy",
    "security": "https://www.example.com/security"
  }
}

9.2 llmld:changelog

Description: Version history of this document.

Type: Array[ChangelogEntry]

Required: No

ChangelogEntry Properties:

PropertyTypeRequiredDescription
dateDateYesChange date
versionStringNoVersion number if applicable
changesArray[String]YesList of changes

Example:

{
  "llmld:changelog": [
    {
      "date": "2026-02-02",
      "changes": ["Initial document creation", "All products added"]
    },
    {
      "date": "2026-01-15",
      "changes": ["Added FunnelSnax product", "Updated pricing"]
    }
  ]
}

9.3 llmld:conformance

Description: Conformance level declaration.

Type: Object

Required: Recommended

Properties:

PropertyTypeRequiredDescription
levelIntegerYesConformance level (1, 2, or 3)
level_nameStringYes"Crawl-Ready", "Ingest-Ready", or "Agent-Ready"
validatedBooleanNoWhether validated by directory
validated_byURLNoValidating directory
validated_atDateTimeNoValidation timestamp

Example:

{
  "llmld:conformance": {
    "level": 3,
    "level_name": "Agent-Ready",
    "validated": true,
    "validated_by": "https://llmdisco.com",
    "validated_at": "2026-02-01T00:00:00Z"
  }
}

10. File Placement and Discovery

10.1 File Location

The llm-index.json file SHOULD be placed at one of these locations (in order of preference):

  1. /.well-known/llm-index.json (RECOMMENDED)
  2. /llm-index.json
  3. /ai/llm-index.json (if using AI subdomain)

Example URLs:

https://example.com/.well-known/llm-index.json
https://ai.example.com/llm-index.json

10.2 Discovery Mechanisms

AI systems can discover LLM-LD files through:

1. Well-Known URI Check /.well-known/llm-index.json first.

2. robots.txt Declaration

# LLM-LD Index
LLM-Index: https://example.com/.well-known/llm-index.json

3. HTML Link Element

<link rel="llm-index" href="/.well-known/llm-index.json" type="application/json">

4. HTTP Header

Link: </.well-known/llm-index.json>; rel="llm-index"

5. LLM Disco Directory Query https://llmdisco.com/api/lookup?domain=example.com

10.3 Cross-Origin Considerations

Servers SHOULD include appropriate CORS headers:

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET

10.4 Caching

Servers SHOULD provide caching headers:

Cache-Control: public, max-age=86400
ETag: "abc123"
Last-Modified: Sun, 02 Feb 2026 12:00:00 GMT

AI systems SHOULD respect these headers and use conditional requests.


11. Relationship to Schema.org

11.1 Compatibility

LLM-LD is designed as a complement to Schema.org, not a replacement.

  • All Schema.org types and properties remain valid
  • LLM-LD adds the llmld: namespace for AI-specific properties
  • Entity definitions use Schema.org types (@type: "Organization")
  • LLM-LD properties extend functionality for AI systems

11.2 When to Use Which

Use CaseUse
Individual page markupSchema.org JSON-LD
Site-wide AI indexLLM-LD llm-index.json
Product descriptionSchema.org Product + LLM-LD extensions
AI decision guidanceLLM-LD only
Actions/endpointsLLM-LD llmld:actions

11.3 Mapping

LLM-LD entities map to Schema.org types:

LLM-LDSchema.org
llmld:products itemsProduct, SoftwareApplication
llmld:services itemsService, ProfessionalService
llmld:people itemsPerson
llmld:faq itemsFAQPage > Question
llmld:pages itemsWebPage and subtypes
llmld:siteOrganization, LocalBusiness

12. Security Considerations

12.1 Data Exposure

LLM-LD files are public by design. Publishers MUST NOT include: - Authentication credentials - API keys or secrets - Personal data of non-public individuals - Internal system details - Security-sensitive information

12.2 Verification Trust

The llmld:verification property indicates directory membership but: - Does not guarantee accuracy of content - Does not imply endorsement by the directory - Should be validated by checking the directory directly - Can be revoked if terms are violated

12.3 Action URLs

When processing llmld:actions: - AI systems SHOULD NOT automatically submit forms - Purchase actions SHOULD always require human confirmation - AI systems SHOULD validate URLs before navigation - Parameters SHOULD be sanitized before use

12.4 Content Integrity

Publishers SHOULD: - Use HTTPS for all URLs - Provide checksums for integrity verification - Keep documents current and accurate - Remove outdated information promptly


13. IANA Considerations

13.1 Well-Known URI

This specification registers the following well-known URI:

URI suffix: llm-index.json Change controller: CAPXEL Specification document: This document Status: Provisional

This specification registers the following link relation:

Relation name: llm-index Description: Links to an LLM-LD index document Reference: This document

13.3 Media Type

LLM-LD documents use the application/json media type with profile parameter:

Content-Type: application/json; profile="https://llmld.org/v1"

14. Examples

14.1 Minimal Level 2 Example

{
  "@context": [
    "https://schema.org",
    "https://llmld.org/v1"
  ],
  "@type": "llmld:AIWebsite",
  "@id": "https://example.com/.well-known/llm-index.json",

  "llmld:meta": {
    "version": "1.0",
    "generated": "2026-02-02T12:00:00Z"
  },

  "llmld:site": {
    "name": "Example Company",
    "type": "Business",
    "description": "We sell widgets.",
    "domains": {
      "primary": "https://www.example.com"
    }
  },

  "llmld:primaryEntity": {
    "@id": "#organization",
    "@type": "Organization",
    "name": "Example Company"
  },

  "llmld:summary": {
    "one_liner": "Example Company sells high-quality widgets.",
    "paragraph": "Example Company is a widget manufacturer based in New York. We've been making widgets since 1995.",
    "key_facts": [
      "Founded 1995",
      "Based in New York",
      "Premium widget manufacturer"
    ]
  },

  "llmld:pages": [
    {"path": "/", "title": "Home", "type": "homepage", "url": "https://www.example.com/"},
    {"path": "/about", "title": "About", "type": "about", "url": "https://www.example.com/about"},
    {"path": "/contact", "title": "Contact", "type": "contact", "url": "https://www.example.com/contact"}
  ],

  "llmld:contact": {
    "general": {
      "email": "hello@example.com",
      "phone": "+1-555-123-4567"
    }
  },

  "llmld:conformance": {
    "level": 2,
    "level_name": "Ingest-Ready"
  }
}

14.2 Complete Level 3 Example

See Appendix A for a complete Level 3 example with all properties.

14.3 E-Commerce Example

{
  "@context": ["https://schema.org", "https://llmld.org/v1"],
  "@type": "llmld:AIWebsite",
  "@id": "https://shop.example.com/.well-known/llm-index.json",

  "llmld:meta": {
    "version": "1.0",
    "generated": "2026-02-02T12:00:00Z",
    "refresh_interval": "daily"
  },

  "llmld:site": {
    "name": "Example Shop",
    "type": "Business",
    "industry": ["E-Commerce", "Retail"],
    "description": "Online store for outdoor gear and apparel.",
    "domains": {
      "primary": "https://shop.example.com"
    }
  },

  "llmld:primaryEntity": {
    "@id": "#store",
    "@type": "Store",
    "name": "Example Shop"
  },

  "llmld:summary": {
    "one_liner": "Example Shop sells outdoor gear and apparel online.",
    "paragraph": "We're an online retailer specializing in outdoor equipment, clothing, and accessories. Free shipping on orders over $50. 30-day returns.",
    "key_facts": [
      "Free shipping over $50",
      "30-day returns",
      "10,000+ products",
      "Established 2015"
    ]
  },

  "llmld:products": [
    {
      "@id": "#product-hiking-boots",
      "@type": "Product",
      "name": "TrailMaster Hiking Boots",
      "description": "Waterproof hiking boots with superior ankle support.",
      "category": "Footwear",
      "pricing": {
        "model": "one-time",
        "currency": "USD",
        "plans": [
          {"name": "Standard", "price_monthly": 149.99}
        ]
      },
      "actions": {
        "buy": {
          "label": "Add to Cart",
          "url": "https://shop.example.com/cart/add/hiking-boots"
        }
      }
    }
  ],

  "llmld:pages": [
    {"path": "/", "title": "Home", "type": "homepage", "url": "https://shop.example.com/"},
    {"path": "/products", "title": "All Products", "type": "listing", "url": "https://shop.example.com/products"},
    {"path": "/products/footwear", "title": "Footwear", "type": "listing", "url": "https://shop.example.com/products/footwear"},
    {"path": "/cart", "title": "Shopping Cart", "type": "other", "url": "https://shop.example.com/cart"}
  ],

  "llmld:actions": {
    "primary": [
      {
        "id": "shop-now",
        "name": "Shop Now",
        "url": "https://shop.example.com/products",
        "type": "navigate"
      }
    ],
    "contact": [
      {
        "id": "support",
        "name": "Customer Support",
        "type": "contact",
        "channels": [
          {"type": "email", "value": "support@example.com"},
          {"type": "phone", "value": "+1-555-123-4567", "hours": "Mon-Fri 9am-5pm EST"}
        ]
      }
    ]
  },

  "llmld:faq": [
    {"question": "What is your return policy?", "answer": "30-day returns on all items. Free return shipping."},
    {"question": "Do you ship internationally?", "answer": "Yes, we ship to over 50 countries. Rates calculated at checkout."}
  ],

  "llmld:contact": {
    "support": {
      "email": "support@example.com",
      "phone": "+1-555-123-4567"
    }
  },

  "llmld:conformance": {
    "level": 3,
    "level_name": "Agent-Ready"
  }
}

14.4 Local Business Example

{
  "@context": ["https://schema.org", "https://llmld.org/v1"],
  "@type": "llmld:AIWebsite",
  "@id": "https://ai.acmedental.com/llm-index.json",

  "llmld:meta": {
    "version": "1.0",
    "generated": "2026-02-02T12:00:00Z"
  },

  "llmld:site": {
    "name": "Acme Dental",
    "type": "Business",
    "industry": ["Healthcare", "Dental"],
    "description": "Family dental practice in Tampa, FL.",
    "founded": "2006",
    "domains": {
      "primary": "https://www.acmedental.com",
      "ai": "https://ai.acmedental.com"
    },
    "location": {
      "headquarters": {
        "address": "456 Dental Way",
        "city": "Tampa",
        "state": "FL",
        "postal_code": "33601",
        "country": "US",
        "geo": {"lat": 27.9506, "lng": -82.4572}
      },
      "service_area": "Tampa Bay Area"
    }
  },

  "llmld:primaryEntity": {
    "@id": "#dentist",
    "@type": "Dentist",
    "name": "Acme Dental",
    "description": "Family dental practice serving Tampa Bay since 2006."
  },

  "llmld:summary": {
    "one_liner": "Acme Dental is a family dental practice in Tampa, FL.",
    "paragraph": "Acme Dental has been serving the Tampa Bay area since 2006. We offer general and cosmetic dentistry for the whole family. Same-day emergency appointments available. We accept most major insurance plans.",
    "key_facts": [
      "Serving Tampa since 2006",
      "4.8 star rating (127 reviews)",
      "Same-day emergencies",
      "Most insurance accepted"
    ]
  },

  "llmld:services": [
    {
      "@id": "#service-cleaning",
      "@type": "Service",
      "name": "Dental Cleaning",
      "description": "Professional teeth cleaning and exam.",
      "pricing": {
        "model": "one-time",
        "currency": "USD",
        "range": {"min": 150, "max": 200}
      }
    },
    {
      "@id": "#service-whitening",
      "@type": "Service",
      "name": "Teeth Whitening",
      "description": "Professional in-office whitening treatment.",
      "pricing": {
        "model": "one-time",
        "currency": "USD",
        "range": {"min": 299, "max": 499}
      }
    }
  ],

  "llmld:people": [
    {
      "@id": "#person-dr-chen",
      "@type": "Person",
      "name": "Dr. Sarah Chen",
      "jobTitle": "Lead Dentist",
      "description": "Board-certified dentist specializing in cosmetic dentistry."
    }
  ],

  "llmld:pages": [
    {"path": "/", "title": "Home", "type": "homepage", "url": "https://ai.acmedental.com/"},
    {"path": "/services", "title": "Services", "type": "listing", "url": "https://ai.acmedental.com/services"},
    {"path": "/about", "title": "About", "type": "about", "url": "https://ai.acmedental.com/about"},
    {"path": "/contact", "title": "Contact", "type": "contact", "url": "https://ai.acmedental.com/contact"}
  ],

  "llmld:actions": {
    "primary": [
      {
        "id": "book-appointment",
        "name": "Book Appointment",
        "description": "Schedule a dental appointment",
        "url": "https://www.acmedental.com/book",
        "type": "schedule"
      }
    ],
    "contact": [
      {
        "id": "call-office",
        "name": "Call Office",
        "type": "contact",
        "channels": [
          {
            "type": "phone",
            "value": "+1-813-555-1234",
            "hours": "Mon-Fri 8am-5pm"
          }
        ]
      }
    ]
  },

  "llmld:faq": [
    {"question": "Do you accept my insurance?", "answer": "We accept most major dental insurance including Delta, Cigna, MetLife, and Aetna. Call us to verify your specific plan."},
    {"question": "Do you offer emergency appointments?", "answer": "Yes! We reserve time for same-day emergencies. Call us immediately if you're experiencing dental pain."}
  ],

  "llmld:contact": {
    "general": {
      "phone": "+1-813-555-1234",
      "email": "info@acmedental.com",
      "hours": "Mon-Fri 8am-5pm, Sat 9am-1pm"
    },
    "address": {
      "street": "456 Dental Way",
      "city": "Tampa",
      "state": "FL",
      "postal_code": "33601"
    }
  },

  "llmld:verification": {
    "status": "verified",
    "directory": "https://llmdisco.com",
    "directory_name": "LLM Disco Directory",
    "verified_at": "2026-01-29T00:00:00Z",
    "listing_url": "https://llmdisco.com/sites/acmedental"
  },

  "llmld:conformance": {
    "level": 3,
    "level_name": "Agent-Ready",
    "validated": true,
    "validated_by": "https://llmdisco.com"
  }
}

15. JSON Schema

A JSON Schema for validating LLM-LD documents is available at:

https://llmld.org/schema/llm-index/1.0.json

Implementations SHOULD validate documents against this schema.

The schema is also available in the specification repository:

https://github.com/llmdisco/llm-ld-spec/blob/main/schema/llm-index-1.0.schema.json

16. Changelog

Version 1.0 (February 2026)

  • Initial specification release
  • Defined three conformance levels
  • Core properties: meta, site, primaryEntity, summary, pages, actions, contact
  • Entity properties: products, services, people, faq
  • Agent Intelligence properties: context, capabilities, boundaries, authority
  • Verification through LLM Disco Directory

Appendix A: Complete Level 3 Example

A complete, production-ready Level 3 example is available at:

https://llmld.org/examples/complete-level-3.json

Appendix B: Property Reference

Quick reference of all properties by requirement level:

Required (Level 2+)

  • @context
  • @type
  • @id
  • llmld:meta
  • llmld:site
  • llmld:primaryEntity
  • llmld:summary
  • llmld:pages
  • llmld:contact

Required (Level 3)

  • llmld:actions (with at least one action)
  • llmld:products (if applicable)
  • llmld:services (if applicable)
  • llmld:faq
  • llmld:verification
  • llmld:conformance

Optional

  • llmld:people
  • llmld:context
  • llmld:capabilities
  • llmld:boundaries
  • llmld:authority
  • llmld:legal
  • llmld:changelog

Appendix C: Implementation Checklist

Level 1: Crawl-Ready

  • [ ] robots.txt allows AI crawlers
  • [ ] sitemap.xml lists all pages
  • [ ] Pages include Schema.org JSON-LD

Level 2: Ingest-Ready

  • [ ] Level 1 complete
  • [ ] llm-index.json served at designated location
  • [ ] All required Core Properties included
  • [ ] File validates against JSON Schema
  • [ ] CORS headers configured

Level 3: Agent-Ready

  • [ ] Level 2 complete
  • [ ] llmld:actions includes actionable endpoints
  • [ ] Agent Intelligence properties included
  • [ ] Registered with LLM Disco Directory
  • [ ] Verification status current

Appendix D: Glossary

TermDefinition
ActionA defined endpoint where users or agents can take action
AgentAn AI system capable of taking actions autonomously
Conformance LevelA defined tier of LLM-LD implementation
DirectoryA registry of LLM-LD compliant websites
EntityA distinct thing (product, service, person, etc.)
IngestThe process of an AI system consuming and understanding content
LLM-LDLarge Language Model Linked Data
Primary EntityThe main entity a website represents
VerificationConfirmation of identity through directory membership

Acknowledgments

This specification was developed with input from the AI search optimization community, web standards experts, and early adopters of AI-accessible web design.


Copyright © 2026 CAPXEL. This specification is released under the Creative Commons Attribution 4.0 International License (CC BY 4.0).


End of Specification