Back to checkerDeveloper reference
One API for accessible, readable pages.
Connect CMS publishing workflows, WordPress, Drupal, and custom build pipelines to the same OpenADA checks.
POST/api/v1/check
Combined check
Run axe-core accessibility checks and LanguageTool-compatible language checks against HTML, text, or a public URL.
curl -X POST https://openada.us/api/v1/check \
-H 'Content-Type: application/json' \
-d '{"html":"<main><h1>Hello</h1></main>","language":"en-US"}'
POST/api/v1/scans
Queue a public site scan
Start an asynchronous crawl of up to 100 same-host pages. The response includes a job id for progress polling.
curl -X POST https://openada.us/api/v1/scans \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com","crawl":true,"maxPages":50}'
GET/api/v1/scans/{jobId}
Scan progress and report
Poll the queued scan, then use the completed result and scan history to build a report.
curl https://openada.us/api/v1/scans/{jobId}
GET/api/v1/directory
Browse the directory
List public sites. Add ?site=example.com to retrieve its observed pages and scan history.
POST/api/v1/ada/check
ADA only
Run axe-core WCAG checks against submitted HTML.
POST/api/v2/check
LanguageTool compatible
Use OpenADA as a LanguageTool-compatible spelling and grammar provider.
Grade scale
Grades are derived from the ADA score returned by axe-core findings.
A+ 97-100A 93-96B 85-92C 70-84D 50-69F 0-49
Authentication
Public deployments can allow anonymous checks. When API keys are configured, send X-API-Key or Authorization: Bearer ....
Widget
Add the hosted widget to a public page to submit its URL and show a small score badge. The widget never receives private page content.
Scan controls
Public scans can be disabled with OPENADA_PUBLIC_SCANS_ENABLED=false, limited with OPENADA_SCAN_ALLOWED_HOSTS, or protected with OPENADA_API_KEYS.