{
"standard": "wcag22aa",
"viewport": "desktop",
"axe_version": "4.13.0",
"url": "https://example.com/",
"status": 200,
"title": "Example Domain",
"lang": "en",
"score": 100,
"counts": {
"violations": 0,
"violation_nodes": 0,
"critical": 0,
"serious": 0,
"moderate": 0,
"minor": 0,
"incomplete": 1,
"passes": 10,
"inapplicable": 52
},
"violations": [],
"incomplete": [
{
"id": "bypass",
"impact": "serious",
"level": "A",
"wcag": [
"2.4.1"
],
"help": "Page must have means to bypass repeated blocks",
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help_url": "https://dequeuniversity.com/rules/axe/4.13/bypass?application=axeAPI",
"tags": [
"cat.keyboard",
"wcag2a",
"wcag241",
"section508",
"section508.22.o",
"TTv5",
"TT9.a",
"EN-301-549",
"EN-9.2.4.1",
"RGAAv4",
"RGAA-12.7.1"
],
"node_count": 1,
"nodes": [
{
"target": "html",
"html": "<html lang=\"en\">",
"failure_summary": "Fix any of the following:\n No valid skip link found\n Page does not have a heading\n Page does not have a landmark region"
}
]
}
],
"duration_ms": 1838
}
curl --location --request POST 'https://zylalabs.com/api/13983/website+accessibility+audit+api/33863/audit+one+web+page+or+html+document+for+wcag+accessibility' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"url": "https://example.com"
}'
{
"url": "https://example.com/",
"scope": [
"example.com"
],
"standard": "wcag22aa",
"viewport": "desktop",
"axe_version": "4.13.0",
"pages_audited": 1,
"pages_failed": 0,
"not_audited": 0,
"truncated": false,
"duration_ms": 3045,
"discovery": {
"html_pages": 1,
"other_pages": 0,
"not_visited": 0,
"sitemap_urls": 0
},
"summary": {
"score": 100,
"worst_score": 100,
"counts": {
"violations": 0,
"violation_nodes": 0,
"critical": 0,
"serious": 0,
"moderate": 0,
"minor": 0,
"incomplete": 1,
"passes": 10,
"inapplicable": 52
},
"rules": []
},
"pages": [
{
"url": "https://example.com/",
"status": 200,
"title": "Example Domain",
"lang": "en",
"score": 100,
"counts": {
"violations": 0,
"violation_nodes": 0,
"critical": 0,
"serious": 0,
"moderate": 0,
"minor": 0,
"incomplete": 1,
"passes": 10,
"inapplicable": 52
},
"violations": [],
"duration_ms": 1777
}
]
}
curl --location --request POST 'https://zylalabs.com/api/13983/website+accessibility+audit+api/33864/audit+a+whole+website+or+a+list+of+urls+for+accessibility' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"url": "https://example.com"
}'
After signing up, every developer is assigned a personal API access key, a unique combination of letters and digits provided to access to our API endpoint. To authenticate with the Website Accessibility Audit API simply include your bearer token in the Authorization header.
| Header | Description |
|---|---|
Authorization
|
Required
Should be Bearer access_key. See "Your API Access Key" above when you are subscribed.
|
No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.
Audit web pages or whole websites for WCAG 2.2, EN 301 549 (European Accessibility Act) and Section 508 in a real browser. JSON, CSV or HTML report.
WCAG 2.0, 2.1 and 2.2 (levels A, AA, AAA), EN 301 549 (European Accessibility Act), Section 508 (US) and RGAA, with optional best practices. The checks are powered by axe-core running in a real Chromium browser.
Yes. Give a domain: the API crawls it (internal links and sitemap.xml) and audits up to 10 pages per call, several at a time. You get a site-wide summary of each failed rule and the detailed report of every page. You can also send your own list of URLs.
JSON for your code, CSV with one row per offending element for spreadsheets and ticketing tools, and a self-contained HTML report ready to send to a client.
No. Automated testing finds a large share of accessibility issues but not all of them; a manual review is still needed to claim full conformance. Pages are audited in memory and nothing is stored.
Yes. Send an HTML template with a base_url to audit it before it ships, skip rules you have already triaged with disable_rules, and fail your build on the score or on critical issues.
The POST endpoint for auditing a web page returns detailed accessibility scores, counts of violations, and a list of issues found, including their severity. The endpoint for auditing a whole website provides a summary of the site’s accessibility status, including the number of pages audited, failed rules, and detailed reports for each page.
Key fields include `score`, `violations`, `incomplete`, `counts`, and `summary`. For individual pages, fields like `url`, `title`, and `lang` provide context, while `counts` breaks down the types of issues found, such as critical or serious violations.
The returned data is structured in JSON format, organized into nested objects. Each response includes metadata about the audit (e.g., `standard`, `viewport`) and detailed results, such as `counts` of violations and a list of `violations` or `incomplete` issues.
Parameters include `url` or `html` for the page to audit, `max_depth` for crawling, and `max_pages` to limit the number of pages audited. Users can also specify `standard` to choose which accessibility guidelines to apply during the audit.
Users can customize requests by specifying the `url` or providing raw HTML, adjusting `max_depth` for crawling depth, and setting `max_pages` to control how many pages are audited. They can also select the accessibility `standard` to tailor the audit to specific guidelines.
The response data is organized into a main object containing metadata about the audit and nested objects for detailed results. Each page's results are listed under `pages`, with each page containing its own `url`, `score`, and `counts` of issues found.
Typical use cases include ensuring compliance with accessibility standards before launching a website, identifying areas for improvement in existing sites, and generating reports for stakeholders to demonstrate accessibility efforts and compliance.
If results are partial or empty, check the `counts` field for insights on what was audited. The `incomplete` array will list any issues that could not be fully assessed. Users should ensure the provided URLs are accessible and correctly formatted to avoid empty results.
To obtain your API key, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key to authenticate your requests.
You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.
The free trial lasts for 7 days and allows you to make up to 50 API requests.
No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.
Yes. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
You can monitor your API usage through the response headers included with every request:
x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.
Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.
Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund