Cogwork APIs

Free Website Accessibility Checker

WCAG 2.2 scan in seconds — the standard behind the European Accessibility Act, ADA and Section 508. axe-core engine, real elements, real fixes. No signup.

Put this scan in your CI, your agency reports, your monitoring

One call returns a 0–100 score, violations by severity, the exact offending elements and how to fix them. Free tier, then from $5/mo — no sales call.

POST /a11y { "url":"https://your-site.com", "level":"AA" }
Get an API key →

AccessKit is an accessibility-scanning API for developers and agencies: axe-core (the engine behind the industry's audit tools) running in real Chromium, wrapped in one REST call. This free checker is the same engine — what you see here is exactly what your pipeline gets.

The European Accessibility Act is now enforceable

Since June 28, 2025, most companies selling products or services to EU consumers — including e-commerce, banking, travel and software — must make their websites and apps accessible under the EAA, following EN 301 549 (which points to WCAG Level AA). Enforcement and penalties are handled by national authorities, and complaints are ramping up through 2026. In the US, ADA web lawsuits continue at thousands per year.

What the scan checks

Built for automation

FAQ

Is this checker free?
Yes — free scans, no signup. The API has a free tier; paid plans start at $5/mo for 500 scans.
Does a clean scan mean I'm EAA/WCAG compliant?
No automated tool can claim that — axe-core catches the majority of common failures with essentially zero false positives, which is perfect for CI and monitoring, but conformance claims also require human review. The API says this in every response.
Which WCAG version does it test?
WCAG 2.0, 2.1 and 2.2 rule sets at level A, AA (default — the EAA/EN 301 549 requirement) or AAA, plus optional best-practice rules.
Can it scan pages behind a login?
Not yet — v1 scans public URLs. Authenticated scans are on the roadmap; tell us if you need them.

API reference

POST/a11y

Scan a page. GET with query params works too.

ParamTypeDescription
urlrequiredstringPublic URL to scan.
leveloptstringA, AA (default), AAA.
viewportoptstringdesktop (default) or mobile (375×812).
bestPracticeoptbooleanAlso run axe best-practice rules.
delayoptnumberExtra ms after load for late content (0–5000).
maxNodesoptnumberOffending elements per violation (1–20, default 5).

Returns { score, summary, violations[], needsReview[] } — each violation with impact, WCAG tags, help URL, and per-element selector, HTML and fix summary.

curl -X POST "https://accesskit-wcag-accessibility-scanner.p.rapidapi.com/a11y" \
  -H "content-type: application/json" \
  -H "X-RapidAPI-Key: YOUR_KEY" \
  -H "X-RapidAPI-Host: accesskit-wcag-accessibility-scanner.p.rapidapi.com" \
  -d '{"url":"https://example.com","level":"AA"}'