AI Audit

AI Readiness Audit

Fetch the latest comprehensive AI readiness audit for a specific site, evaluating everything from accessibility to semantic readiness and schema structure.

GET/api/v1/ai-readiness/:siteId/latest

AI Readiness Audit

cURL

curl --request GET \
  --url 'https://app.indexly.ai/api/v1/ai-readiness/SITE_ID/latest' \
  --header 'X-API-Key: YOUR_API_KEY'

Response

{
  "audit": {
    "success": true,
    "url": "https://indexly.ai",
    "timestamp": "2026-03-10T12:35:23.723Z",
    "score": {
      "overall": 77,
      "details": {
        "robotsTxt": {
          "score": 100,
          "hasRobotsTxt": true,
          "allowsLLMCrawling": true,
          "blocksImportantPaths": false,
          "blockedPaths": [],
          "details": "Robots.txt analysis: Allows AI crawler access. Content paths are accessible. Found 1 user-agent section(s)."
        },
        "metaTags": {
          "score": 90,
          "hasNoIndexTag": false,
          "hasContentTypeTag": true,
          "hasDescription": false,
          "hasOpenGraphTags": true,
          "descriptionLength": 95,
          "foundIssues": [
            "Description length: 95 chars (optimal: 120-160)"
          ],
          "details": "Meta tags analysis: No blocking directives found. Meta description needs optimization (95 chars). Good social media metadata."
        },
        "sitemapXml": {
          "score": 40,
          "hasSitemap": true,
          "sitemapEntries": 1,
          "lastModifiedDates": false,
          "details": "Sitemap found with 1 entries. Missing lastmod dates. Missing change frequency."
        },
        "contentAccessibility": {
          "score": 100,
          "hasAccessibleMainContent": true,
          "hasPaywall": false,
          "hasLoginWall": false,
          "hasCookieWall": false,
          "javascriptRequired": false,
          "detectedIssues": [],
          "details": "Content accessibility: Clear content structure identified. No access barriers detected - excellent for AI crawlers."
        },
        "schemaMarkup": {
          "score": 0,
          "hasSchemaMarkup": false,
          "schemaTypes": [],
          "details": "No schema markup found."
        },
        "pageSpeed": {
          "score": 100,
          "loadTime": 64,
          "details": "Page load time: 64ms - Excellent performance for AI crawlers."
        },
        "textQuality": {
          "score": 84,
          "textToCodeRatio": 0.45,
          "hasSubstantiveContent": true,
          "readabilityScore": 70,
          "details": "Text quality: Substantial content. Text ratio: 44.6%. Readability: 70/100."
        },
        "headingStructure": {
          "score": 70,
          "hasProperHeadings": true,
          "headingHierarchy": false,
          "details": "Headings: Single H1. 36 total headings. Hierarchy issues detected."
        },
        "structuredData": {
          "score": 5,
          "hasJsonLd": false,
          "hasMicrodata": false,
          "hasRdfa": true,
          "organizationSchema": false,
          "articleSchema": false,
          "breadcrumbSchema": false,
          "faqSchema": false,
          "reviewSchema": false,
          "productSchema": false,
          "localBusinessSchema": false,
          "schemaValidation": false,
          "richSnippetsPotential": 0,
          "details": "Structured data: Missing JSON-LD. 0 schema types implemented. Rich snippets potential: 0%."
        },
        "contentSemantics": {
          "score": 60.5,
          "headingHierarchy": false,
          "semanticTags": true,
          "topicClustering": 0.9,
          "internalLinkingStructure": 1,
          "entityRecognition": 0,
          "contentRelationships": 0.3,
          "keyphraseOptimization": 0.9,
          "details": "Content semantics: Poor heading structure. Good semantic markup. Topic density: 90%."
        },
        "llmsTxt": {
          "score": 85,
          "hasLlmsTxt": true,
          "properFormat": true,
          "crawlDirectives": true,
          "policyCompliance": false,
          "updateFrequency": "unknown",
          "details": "LLMs.txt found and validated. Properly formatted. Includes crawl directives. Missing policy info."
        },
        "aiBotAccessibility": {
          "score": 100,
          "allowsGPTBot": true,
          "allowsChatGPTUser": true,
          "allowsCCBot": true,
          "allowsAnthropicBot": true,
          "allowsClaudeBot": true,
          "allowsPerplexityBot": true,
          "allowsBingBot": true,
          "allowsGoogleBot": true,
          "rateLimiting": false,
          "crawlBudgetOptimization": 1,
          "details": "AI bot accessibility: 8/8 major AI bots can access content. Excellent accessibility."
        },
        "answerReadiness": {
          "score": 70,
          "faqFormat": 1,
          "directAnswerFormat": 1,
          "featuredSnippetPotential": 1,
          "queryIntentMatching": 1,
          "questionAnswerPairs": 0,
          "howToStructure": 0,
          "definitionStructure": 0,
          "comparisonStructure": 0,
          "listStructure": 1,
          "tableStructure": 1,
          "details": "Answer readiness: 100% FAQ format, 100% snippet potential, 100% query matching."
        }
      }
    },
    "recommendations": {
      "basic": [
        "Add compelling meta descriptions for better AI understanding",
        "Implement JSON-LD structured data for enhanced AI comprehension"
      ],
      "advanced": [
        "Implement comprehensive schema markup strategy across all content types",
        "Enhance content with semantic HTML5 and improved topic clustering"
      ]
    },
    "auditDetails": {
      "totalChecks": 13,
      "passed": 7,
      "failed": 2,
      "warnings": 4,
      "criticalIssues": [
        "Schema Markup: No schema markup found.",
        "Structured Data: Structured data: Missing JSON-LD. 0 schema types implemented."
      ],
      "opportunities": [
        "Optimize Sitemap Xml for significant AI visibility improvement",
        "Optimize Heading Structure for significant AI visibility improvement"
      ]
    }
  }
}

Authorizations

X-API-Keystringheaderrequired

API key for authentication. Get yours from the Indexly dashboard under Settings → API Access

Path parameters

siteIdstringrequired

Site ID (must belong to your organization). Get it from your Indexly dashboard.

Response

200 application/json

Default Response

auditobjectrequiredThe complete AI readiness audit object containing success status, timestamp, scores, recommendations, and audit details.