Skip to main content
AccessibilityBrief

REST API

Use the API to list sites, start scans, read results and update issue status. Pro and Agency plans.

Authentication

Create a key under Settings → API and integrations. It is shown once. Send it as a bearer token:

Authorization: Bearer ab_live_…

Choose what a key may do when you create it:

ScopeAllows
readList sites and scans, read scans, issue groups and prompts.
scanStart scans. Each uses one manual scan of your plan.
writeMark issues as won't fix, false positive, needs manual check or open.

Limits: 120 requests per minute per key. If the workspace leaves the Pro or Agency plan, its keys answer 402 upgrade_required.

Endpoints

Method and pathScopeWhat
GET /api/v1/sitesreadSites with their latest score
GET /api/v1/sites/{id}/scansreadRecent scans, newest first
POST /api/v1/sites/{id}/scansscanStart a scan; answers 201 with the scanId
GET /api/v1/scans/{id}readStatus, score, counts and change since the last scan
GET /api/v1/scans/{id}/issues?locale=en|dereadIssue groups with fix steps, WCAG criteria, fingerprints and prompts
GET /api/v1/scans/{id}/prompt?pattern=&flavour=readA prompt for one group, or for the whole site without pattern
PATCH /api/v1/sites/{id}/issueswriteBody: fingerprints, state and an optional note

Example

curl -s https://accessibilitybrief.com/api/v1/sites \
  -H "Authorization: Bearer $ACCESSIBILITYBRIEF_API_KEY"

Errors look like { "error": "code" } with a matching status: unauthorized 401, upgrade_required 402, insufficient_scope 403, not_found 404, scan_in_progress 409, not_ready 409, monthly_limit 429, rate_limited 429.

The full machine-readable description (OpenAPI 3.1) is at /api/v1/openapi.json.

Still stuck? Write to us and we will help. Contact support