v1 APIBeta

Developer Documentation

Access the AgentIndexc directory, analyze URLs programmatically, and subscribe to webhook events when llms.txt files are created or updated.

Base URL

https://agentindexc.com/api

All endpoints return JSON unless otherwise noted. Rate limits apply: 60 requests/minute for authenticated, 10 requests/minute for anonymous.

API Endpoints

Click any endpoint to expand its documentation, parameters, and code examples.

Authentication

Include your API key in the Authorization header as a Bearer token:

Authorization: Bearer agidx_sk_your_api_key_here

Note: Some read-only endpoints (directory listing, hosted llms.txt) are accessible without authentication at reduced rate limits. Write operations and webhook subscriptions require a valid API key.

Webhooks

Subscribe to events to get notified when llms.txt files are created or updated in the directory. Webhooks are delivered as POST requests with JSON payloads.

Setting Up Webhooks

  1. Request an API key using the form below
  2. Register your webhook endpoint URL when requesting your key, or via the API
  3. Your endpoint should return a 200 status within 5 seconds
  4. Failed deliveries are retried 3 times with exponential backoff (10s, 60s, 300s)

Verifying Webhook Signatures

Each webhook request includes an X-AgentIndexc-Signature header containing an HMAC-SHA256 signature of the request body using your webhook secret.

import crypto from "crypto"

function verifyWebhook(body: string, signature: string, secret: string) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(body)
    .digest("hex")
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  )
}

Events

llms_txt.createdA new llms.txt file was generated for a domain for the first time.
Payload
{
  "event": "llms_txt.created",
  "timestamp": "2026-03-03T12:00:00Z",
  "data": {
    "domain": "newsite.com",
    "version": 1,
    "score": 72,
    "entry_type": "website",
    "url": "https://agentindexc.com/hosted/newsite.com/llms.txt"
  }
}
llms_txt.updatedAn existing llms.txt was regenerated or manually updated. Version is incremented.
Payload
{
  "event": "llms_txt.updated",
  "timestamp": "2026-03-03T14:30:00Z",
  "data": {
    "domain": "polygon.io",
    "version": 3,
    "previous_version": 2,
    "score": 85,
    "entry_type": "data_feed",
    "url": "https://agentindexc.com/hosted/polygon.io/llms.txt",
    "changes": ["score_updated", "content_updated"]
  }
}
domain.analyzedA domain was analyzed (score calculated) but not necessarily updated in the directory.
Payload
{
  "event": "domain.analyzed",
  "timestamp": "2026-03-03T10:15:00Z",
  "data": {
    "domain": "example.com",
    "score": 65,
    "url": "https://example.com"
  }
}

Rate Limits

TierLimit
Anonymous10 req/min
Authenticated60 req/min
EnterpriseCustom

Rate limit headers are included in all responses: X-RateLimit-Remaining, X-RateLimit-Reset.

Error Codes

CodeMeaning
400Bad request / invalid parameters
401Missing or invalid API key
404Domain or resource not found
429Rate limit exceeded
500Internal server error

Request an API Key

API keys are issued manually during beta. Fill out the form below and we will email you within 48 hours.

If provided, we will configure a webhook subscription when your key is approved.