API docs

Scan any URL programmatically

A tiny REST API for queueing scans and reading results. Free tier: 3 scans per hour per IP. Authenticated tier with higher limits — contact support.

Base URL

https://agentfix.pro

All endpoints return JSON. Errors include an error string and a meaningful HTTP status.

Queue a scan

POST/api/scan

Request body:

{
  "url": "https://example.com"
}

Response (202 Accepted):

{
  "scan_id": "94f1dbdd-666d-44c9-b5f1-a215e81d1512",
  "status": "queued"
}

Use the returned scan_id with the next endpoint. Rate limit applies per IP.

Fetch scan result

GET/api/scan/{scan_id}

Response (when complete):

{
  "scan_id": "94f1dbdd-...",
  "status": "done",
  "grade": "A",
  "pass_count": 32,
  "total_count": 34,
  "domain": "example.com",
  "results": [
    {
      "id": "llms_txt_exists",
      "category": "discoverability",
      "status": "pass",
      "title": "llms.txt file present",
      "description": "...",
      "fix_summary": "..."
    }
  ],
  "share_url": "https://agentfix.pro/r/94f1dbdd-..."
}

Statuses progress: queued running done or failed. Poll every 2–3 seconds. Most scans finish under 60 seconds.

OpenAPI spec

Machine-readable spec for the public endpoints lives at /openapi.json. Pipe it into any OpenAPI client (Stainless, Speakeasy, Postman) to generate language-specific SDKs.

cURL example

# 1. Queue
curl -s -X POST https://agentfix.pro/api/scan \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'
# → {"scan_id":"...","status":"queued"}

# 2. Poll
curl -s https://agentfix.pro/api/scan/<scan_id>
# → {"status":"done","grade":"A", ...}

Limits & errors

  • 429 — rate limit hit (3/hour/IP free tier). Wait or request a paid key.
  • 400 — invalid URL (must be https:// and resolvable).
  • 404 — scan_id unknown.
  • 500 — scanner crashed; auto-retried. If persistent, email support.