Get Results from the API
Not for use with personal data
Axe Monitor users can generate an API key in Axe Account and retrieve scan results to use in another system.
Learn more about Getting Started.
Endpoints
All endpoints can retrieve information with GET requests.
| Endpoint | Purpose |
|---|---|
/scans |
List all the scans a user can access. Allows you to retrieve scanId. |
/scans/[scanId]/runs |
List all the scan runs for a scan, with scan overview information. Allows you to retrieve the runId. |
/scans/[scanId]/runs/[runId]/pages |
Detailed page information for a scan run. |
/scans/[scanId]/runs/[runId]/pages/[pageId]/issues |
Detailed accessibility issues for a page. |
/scans/[scanId]/runs/[runId]/issues |
Detailed accessibility issues for a scan run. |
List Scans for a User
Example Request
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans
X-API-Key: <your_api_key>Example Response
{
"scans": [
"id": 0,
"name": ""string",
"draft": true,
"groups": [
"id": 0,
"name": "string"
]
]
}Note: The ‘draft’ value refers to whether a scan was created as an AI-assisted draft with the Axe Monitor MCP integration. It cannot be edited by the API.
Scan Runs for a Scan
Example Request
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs
X-API-KEY: <your_api_key>Example Request
Required Parameters
| Name | Type | Description |
|---|---|---|
| scanId | Integer | The unique identifier of the scan. |
Optional Parameters
| Name | Type | Description |
|---|---|---|
| needsReview | String | “true” or “false” allows you to control whether “Needs review” issues are counted in the response. |
Example Response
{
"scanRuns": [
{
"runNumber": 1,
"status": "Completed",
"queuedAt": "2025-08-21T06:50:27Z",
"startedAt": "2025-08-21T06:50:37Z",
"completedAt": "2025-08-21T06:51:52Z",
"axeVersion": "4.10.3",
"standard": "WCAG 2.1 AA",
"score": 0,
"issues": {
"total": 392,
"critical": 77,
"serious": 315,
"moderate": 0,
"minor": 0
},
"pages": {
"total": 18,
"completed": 17,
"critical": 17
},
"violationGroups": [
{
"name": "color",
"pageCount": 17
},
{
"name": "forms",
"pageCount": 17
},
{
"name": "name-role-value",
"pageCount": 10
},
{
"name": "parsing",
"pageCount": 1
},
{
"name": "text-alternatives",
"pageCount": 13
}
]
}
]
}Note: If your scan has one or more phrases entered in the “Find Text” setting, the API response includes a findText array.
Each entry contains:
- The phrase entered.
- The number of pages where the phrase was identified.
Page Details for a Scan Run
Example Request
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs/[runNumber]/pages
X-API-KEY: <your_api_key>Required Path Parameters
| Name | Type | Description |
|---|---|---|
| scanId | Integer | The unique identifier of the scan. |
| runNumber | Integer | The specific run number of the scan. |
Optional Request Parameters
| Name | Type | Description |
|---|---|---|
| status | string | Filters pages by status (Completed, Failed). |
| sortBy | String | Specifies the column to sort by (title, url). Default value is title |
| order | String | Specifies the sort direction (asc or desc). Default value is desc. |
| createdAfter | String | Filter by pages scanned after a certain date. |
| createdBefore | String | Filter by pages scanned before a certain date. |
| testUrl | String | Filter by certain pages tested. |
Example Response
{
"pages": [
{
"pageId": 0,
"testUrl": "string",
"testPageTitle": "string",
"reasonForFailure": "string",
"totalCriticalIssues": 0,
"totalSeriousIssues": 0,
"totalModerateIssues": 0,
"totalMinorIssues": 0,
"totalNeedsReview": 0,
"totalFixedIssues": 0,
"totalOpenIssues": 0,
"health": "string",
"status": "string",
"scriptName": "string",
"scriptStep": 0,
"template": true,
"createdAt": "2026-11-03T16:49:37.490Z",
"domainUrl": "string",
"findText": [
"string"
]
}
]
}
Note: When the Find Text setting is enabled for the scan, the array contains all phrases from the “Find Text” setting that were identified on that page.
Issue Details for a Page
Example Request
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/[scanId]/runs/[runNumber]/pages/[pageId]/issues
X-API-KEY: <your_api_key>Required Parameters
| Name | Type | Description |
|---|---|---|
| scanId | Integer | The unique identifier of the scan. |
| runNumber | Integer | The specific run number of the scan. |
| pageId | Integer | The unique identifier of the page. |
Optional Parameters
| Name | Type | Description |
|---|---|---|
| status | string | Filters issues by status (open, fixed, or ignored). |
| sortBy | String | Specifies the column to sort by (testPageTitle, testUrl, selector, createdAt, impact, or status). Default value is testPageTitle. |
| order | String | Specifies the sort direction (asc or desc). Default value is desc. |
| createdAfter | String | Filter by issues found after a certain date. |
| createdBefore | String | Filter by issues found before a certain date. |
Example Response
{
"issues": [
{
"issueId": 0,
"ruleId": "string",
"axeRuleId": "string",
"successCriteria": "wcag143",
"description": "string",
"help": "string",
"helpUrl": "string",
"impact": "string",
"issueGrouping": "string",
"needsReview": true,
"isExperimental": true,
"isManual": true,
"summary": "string",
"selector": [
"string"
],
"source": "string",
"tags": [
"string"
],
"igt": "string",
"testName": "string",
"createdAt": "2026-11-03T17:08:14.717Z",
"testUrl": "string",
"testPageTitle": "string",
"status": "string"
}
]
}Issue Details for a Scan Run
Example Request
GET
https://yourcompany.dequecloud.com/monitor-public-api/v1/scans/{scanId}/runs/{runNumber}/issues
X-API-KEY: <your_api_key>Required Parameters
| Name | Type | Description |
|---|---|---|
| scanId | Integer | The unique identifier of the scan. |
| runNumber | Integer | The specific run number of the scan. |
Optional Request Parameters
| Name | Type | Description |
|---|---|---|
| status | string | Filters issues by status (open, fixed, or ignored). |
| sortBy | String | Specifies the column to sort by (testPageTitle, testUrl, selector, createdAt, or status). Default value is testPageTitle. |
| order | String | Specifies the sort direction (asc or desc). Default value is desc. |
| pageId | String | Filter by the unique identifier of the page. |
| createdAfter | String | Filter by issues found after a certain date. |
| createdBefore | String | Filter by issues found before a certain date. |
| testUrl | String | Filter by certain pages tested. |
| ruleId | String | Filter by certain rule IDs. |
Example Response
{
"issues": [
{
"issueId": 0,
"ruleId": "string",
"axeRuleId": "string",
"successCriteria": "wcag143",
"description": "string",
"help": "string",
"helpUrl": "string",
"impact": "string",
"issueGrouping": "string",
"needsReview": true,
"isExperimental": true,
"isManual": true,
"summary": "string",
"selector": [
"string"
],
"source": "string",
"tags": [
"string"
],
"igt": "string",
"testName": "string",
"createdAt": "2026-11-03T17:04:46.552Z",
"testUrl": "string",
"testPageTitle": "string",
"status": "string"
}
]
}Errors
| HTTP Status Code | Error Type | Description |
|---|---|---|
| 401 | Unauthorized | The user is unauthenticated or lacks access rights. |
| 400 | InvalidRequest | The request contains invalid parameters. |
| 500 | Internal Server Error | An error occurred while processing the request. |
Get Axe Versions Endpoint
Example Request
GET
GET /v1/axe-versions Required Parameters
| Name | Type | Description |
|---|---|---|
| scanId | Integer | The unique identifier of the scan. |
| runNumber | Integer | The specific run number of the scan. |
| pageId | Integer | The unique identifier of the page. |
Optional Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| status | string | No | Filters issues by status (open, fixed, or ignored). |
| sortBy | String | No | Specifies the column to sort by (testPageTitle, testUrl, selector, createdAt, or status). Default value is testPageTitle. |
| order | String | No | Specifies the sort direction (asc or desc). Default value is desc. |
Response Schema
type AxeVersionDto = {
version: string;
supported: boolean;
tags: string[];
};
type GetAxeVersionsResponse = {
versions: AxeVersion[];
default: string;
};Example Response
{
"versions": [
{
"version": "latest",
"supported": true,
"tags": [
"wcag22a",
"wcag22aa",
"wcag22aaa",
"wcag21a",
"wcag21aa",
"wcag21aaa",
"wcag2a",
"wcag2aa",
"wcag2aaa",
"section508",
"EN-301-549",
"TTv5",
"RGAAv4",
"best-practice"
]
},
{
"version": "4.12.1",
"supported": true,
"tags": [
"wcag22a",
"wcag22aa",
"wcag22aaa",
"wcag21a",
"wcag21aa",
"wcag21aaa",
"wcag2a",
"wcag2aa",
"wcag2aaa",
"section508",
"EN-301-549",
"TTv5",
"RGAAv4",
"best-practice"
]
}
],
"default": "latest"
}