API Reference

Programmatic answer-readiness audits for AI agents, CI pipelines, and automation. The API is currently in beta and intentionally lower-prominence than the core web audit flow.

Authentication

All API requests require a Bearer token in the Authorization header. Get your API key from the developer dashboard. Keys are only shown once at creation or rotation time.

Authorization: Bearer wtfaq_live_abc123...

Submit Analysis

POST /api/v1/analyze

Start a new paid/API audit. Returns immediately with an analysis ID for polling.

Request

curl -X POST https://whatthefaq.ai/api/v1/analyze \
  -H "Authorization: Bearer wtfaq_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

Request Body

urlstring, required

The website URL to analyze. Must be publicly accessible.

Response (202 Accepted)

{
  "analysisId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "pollUrl": "/api/v1/analyze/550e8400-e29b-41d4-a716-446655440000"
}

Get Analysis Result

GET /api/v1/analyze/:id

Poll for analysis status and results. Analysis typically takes 60-90 seconds. Polling does not consume monthly credits.

Request

curl https://whatthefaq.ai/api/v1/analyze/550e8400... \
  -H "Authorization: Bearer wtfaq_live_abc123..."

Response (in progress)

{
  "analysisId": "550e8400...",
  "url": "https://example.com",
  "status": "analyzing",
  "statusMessage": "Running AI analysis..."
}

Response (completed)

{
  "analysisId": "550e8400...",
  "url": "https://example.com",
  "status": "completed",
  "score": 72,
  "grade": "C",
  "verdict": "Decent effort, but your users deserve better.",
  "categoryScores": [...],
  "fullReport": {
    "contentAudit": { "questionAudits": [...], ... },
    "gapAnalysis": { "missingTopics": [...], ... },
    "seoAnalysis": { ... },
    "writer": { "suggestedFaqs": [...], ... }
  },
  "completedAt": "2026-03-13T..."
}

Rate Limits

LimitValueNotes
Burst10 requests / minuteEnforced per API key
Monthly quotaPer keyCheck your dashboard for the quota assigned to your key.

Error Codes

CodeMeaning
400Missing or invalid request body
401Invalid or missing API key
404Analysis ID not found
500Internal server error