> For the complete documentation index see https://domscan.net/llms.txt. Markdown versions of every docs page are available by appending .md to the page URL.

Source: https://domscan.net/sv/docs/products/accessibility

# API för tillgänglighetsgranskning API-referens

Kör en automatisk WCAG-granskning med överträdelser, berörda element och ett betyg. Använd denna referens för att välja en operation och integrera dess dokumenterade svarskontrakt.

[Visa produktsidan](https://domscan.net/sv/accessibility-audit-api)

## Operationer

GET `/v1/accessibility` [Visa API-referens](https://domscan.net/sv/docs/products/accessibility#getAccessibilityAudit)

## GET `/v1/accessibility`

Operation: `getAccessibilityAudit`
Credits och autentisering: 8
Autentisering krävs

GET /v1/accessibility Krediter: 8

#### Frågeparametrar

| Parameter | Typ | obligatorisk |
| --- | --- | --- |
| url | string | obligatorisk |
| standard | string Tillåtna värden `wcag2a`, `wcag2aa`, `wcag21aa`, `wcag22aa` | valfri |

#### Svarsfält

| Fält | Typ |
| --- | --- |
| `url` | string |
| `final_url` | string |
| `status` | string |
| `reason` | string \| null |
| `checked_at` | string |
| `http_status` | integer \| null |
| `redirect_count` | integer |
| `duration_ms` | integer |
| `resource_limit_reached` | boolean |
| `standard` | string \| null |
| `score` | integer \| null |
| `engine` | object |
| `engine.name` | string |
| `engine.version` | string \| null |
| `summary` | object |
| `summary.violations` | integer |
| `summary.affected_elements` | integer |
| `summary.by_impact` | object |
| `summary.by_impact.critical` | integer |
| `summary.by_impact.serious` | integer |
| `summary.by_impact.moderate` | integer |
| `summary.by_impact.minor` | integer |
| `summary.passes` | integer |
| `summary.incomplete` | integer |
| `summary.inapplicable` | integer |
| `violations[]` | object[] |
| `violations[]` | object |
| `violations[].id` | string |
| `violations[].impact` | string |
| `violations[].help` | string |
| `violations[].help_url` | string \| null |
| `violations[].wcag_level` | string \| null |
| `violations[].tags[]` | string[] |
| `violations[].node_count` | integer |
| `violations[].nodes[]` | object[] |
| `violations[].nodes[]` | object |
| `violations[].nodes[].target` | string |
| `violations[].nodes[].html` | string |
| `violations[].nodes[].failure_summary` | string |
| `violations_truncated` | boolean |
| `incomplete[]` | object[] |
| `incomplete[]` | object |
| `incomplete[].id` | string |
| `incomplete[].impact` | string \| null |
| `incomplete[].help` | string |
| `incomplete[].node_count` | integer |

#### Exempelbegäran

```bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a"
```

```javascript
const response = await fetch("https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
```

```python
import os
import requests

response = requests.get(
    "https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
```

```go
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
```

```ruby
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))
```

#### Exempelsvar

```json
{
  "url": "https://example.com/",
  "final_url": "https://example.com/",
  "status": "ok",
  "reason": null,
  "checked_at": "2026-10-13T12:00:00.000Z",
  "http_status": 200,
  "redirect_count": 0,
  "duration_ms": 4210,
  "resource_limit_reached": false,
  "score": 84,
  "engine": {
    "name": "axe-core",
    "version": "4.10.3"
  },
  "summary": {
    "violations": 2,
    "affected_elements": 8,
    "by_impact": {
      "critical": 1,
      "serious": 1,
      "moderate": 0,
      "minor": 0
    },
    "passes": 38,
    "incomplete": 1,
    "inapplicable": 41
  },
  "violations": [
    {
      "id": "image-alt",
      "impact": "critical",
      "help": "Images must have alternative text",
      "help_url": "https://dequeuniversity.com/rules/axe/4.10/image-alt",
      "wcag_level": "A",
      "tags": [
        "wcag2a",
        "wcag111"
      ],
      "node_count": 2,
      "nodes": [
        {
          "target": "main > img.hero",
          "html": "<img src=\"/hero.jpg\">",
          "failure_summary": "Element does not have an alt attribute"
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "node_count": 3
    }
  ]
}
```

#### HTTP-statuskoder

- `200` OK
- `400` Felaktig begäran
- `401` Obehörig
- `402` Betalning krävs
- `429` För många begäranden

## Referensresurser

[OpenAPI 3.0](https://domscan.net/v1/openapi.json)
[Postman](https://domscan.net/v1/postman.json)
[MCP](https://domscan.net/sv/mcp-domain-checker)
