# AXRI (Agentic eXperience Readiness Index) > AXRI is a web application that evaluates a website's readiness for AI agents by running a set of machine-readiness checks and producing a scorecard with evidence and recommendations. Last-Updated: 2026-02-17 Primary-Language: en ## Product Summary AXRI scans a target website and returns: - A readiness score (0-100) - A letter grade (A-D) - Check-by-check status with evidence snapshots - Actionable recommendations The product is designed for teams improving site interoperability for AI agents and automated clients. ## Primary Pages - Home: `/` - About checks and scoring: `/about` - This file: `/llms.txt` ## API Surface - Analyze URL (runs or reuses result): `POST /api/analyze` - Recent evaluations (latest per domain): `GET /api/evaluations?limit=20` - Evaluation details by id: `GET /api/evaluations/{id}` ### Analyze Request `POST /api/analyze` ```json { "url": "https://example.com" } ``` ### Analyze Response (shape) ```json { "id": "123", "targetUrl": "https://example.com", "normalizedOrigin": "https://example.com", "analyzedAt": "2026-02-17T10:00:00.000Z", "checkCount": 7, "cached": false, "score": 82, "grade": "B", "checks": [], "recommendations": [] } ``` ## Checks Evaluated Core/optional checks currently include: - `llms.txt` availability - JSON-LD structured data - API / machine endpoint hints - Machine-friendly content type negotiation (markdown/json/plain-text fallback) - Sitemap discoverability - `ai-plugin.json` (optional) - `ai.txt` (optional) - `security.txt` (optional) - `robots.txt` (optional) Shopping-related checks are detected in backend logic (Agent Card / commerce protocol signals), and currently treated as informational in scoring. ## Scoring Model (Current) - If `llms.txt` is found: full readiness weight is satisfied. - If `llms.txt` is not found, fallback weights are used: - JSON-LD: 25 - API hints: 35 - Machine-friendly content: 30 (partial credit possible for plain text) - Sitemap discoverability: 10 Optional and shopping checks are surfaced for context but currently do not add points. ## Caching and Freshness Rules - If a domain has been evaluated in the last 24 hours, AXRI returns the previously stored evaluation (`cached: true`) instead of running a new full scan. - A per-domain check counter is still incremented for every analyze request. - If the last evaluation is older than 24 hours, AXRI performs a fresh scan, stores new results, and increments the counter. ## Data Storage Backend uses PostgreSQL (raw SQL, no ORM). Primary tables: - `evaluations` - `domain_check_counters` Relevant SQL: - Base schema: `db/schema.sql` - Counter migration/backfill: `db/migrations/20260217_domain_check_counters.sql` ## Operational Notes - AXRI needs `DATABASE_URL` configured to persist and serve stored evaluations. - If DB is not configured, API routes that rely on persistence may return empty lists or errors. - Network fetches to target URLs use timeouts and content-type probing. ## Project Stack - Next.js (App Router) - React - TypeScript - PostgreSQL via `pg` ## Intended Consumers - Engineering teams building AI-agent-compatible web properties - Developer tools and automation agents that need machine-readiness diagnostics - Internal platform teams tracking readiness improvements over time ## Limitations - Standards in this ecosystem are evolving; checks are directional indicators, not a final definition of readiness. - Site behavior can vary by geography, auth, bot protection, and transient network conditions. - A single homepage-first scan does not represent every path of a complex site. ## Contact / Ownership AXRI is built and maintained by Tria Labs.