API Reference

API Documentation

Full REST API for programmatic accessibility monitoring. Available on Pro and Enterprise plans.

Authentication

All API requests require a Bearer token. Generate API keys in your dashboard under Settings.

curl -H "Authorization: Bearer wca_your_api_key" \
https://wcagalert.com/api/v1/sites

Rate Limits

60

requests/minute (general)

10

scans/minute (trigger)

SHA-256

key hashing

Endpoints

GET/api/v1/sites

List all sites in your organization

Response

{ "sites": [ { "id": "uuid", "url": "https://example.com", "name": "My Client", "latest_score": 91, "scan_frequency": "weekly", "is_active": true } ] }
POST/api/v1/scans

Trigger a new accessibility scan

Request body

{ "site_id": "uuid" }

Response

{ "scan_id": "uuid", "status": "pending" }
GET/api/v1/scans?site_id=uuid

List recent scans (optionally filter by site)

Response

{ "scans": [ { "id": "uuid", "score": 91, "total_violations": 20, "status": "completed", "completed_at": "2026-03-28T..." } ] }
GET/api/v1/issues?scan_id=uuid

List issues for a scan (filter by impact, paginate)

Response

{ "issues": [ { "id": "uuid", "axe_rule_id": "color-contrast", "impact": "serious", "help": "Elements must meet minimum color contrast", "html_snippet": "<span class=\"...\">" } ], "total": 45, "limit": 100, "offset": 0 }
GET/api/v1/scans/compare?scan_a=uuid&scan_b=uuid

Compare two scans — shows fixed and new issues

Response

{ "fixed": [{ "rule": "color-contrast", "count": 5 }], "new": [], "scoreDiff": 3, "violationsDiff": -5 }