Documentation API
Intégrez les audits d'accessibilité A11yScan directement dans votre pipeline CI/CD, vos outils internes ou vos applications.
Authentification
Toutes les requêtes API nécessitent un token Bearer dans le header Authorization. Votre clé API est disponible dans vos paramètres.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://a11yscan.fr/api/scanEndpoints
POST
/api/scanLance un audit d'accessibilité WCAG 2.1 AA sur l'URL fournie. Retourne un score, le nombre de problèmes et la liste détaillée.
Body (JSON)
{
"url": "https://example.com" // Required — URL to scan
}Réponse (200)
{
"url": "https://example.com",
"score": 72,
"totalIssues": 8,
"critical": 2,
"major": 4,
"minor": 2,
"issues": [
{
"id": "color-contrast",
"severity": "critical",
"title": "Contraste insuffisant",
"description": "Le ratio de contraste est de 2.5:1...",
"wcag": "1.4.3 Contrast (Minimum) (AA)",
"element": "<p class='subtitle'>...",
"howToFix": "Augmentez le contraste...",
"plainExplanation": "Les couleurs sont trop...",
"count": 3
}
],
"scanDate": "2026-05-04T10:24:00.000Z",
"scanDuration": 2340,
"pagesScanned": 1
}GET
/api/badge?url=example.comGénère un badge SVG de conformité à intégrer dans votre site ou README GitHub.
Paramètres
url — (Required) Le domaine du site audité
Intégration HTML
<img src="https://a11yscan.fr/api/badge?url=votresite.com"
alt="Score accessibilité" />POST
/api/scan/deepPROScan approfondi multi-pages. Crawle automatiquement le site et audite jusqu'à 10 pages. Réservé aux plans Pro et Agence.
{
"url": "https://example.com",
"maxPages": 5 // Optional (default: 5, max: 10)
}Limites
Gratuit
1 scan / mois
—
Pro
Illimité
10 req/min
Agence
Illimité
60 req/min
Exemples d'intégration
JavaScript / Node.js
const response = await fetch("https://a11yscan.fr/api/scan", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({ url: "https://votresite.com" })
});
const report = await response.json();
console.log(`Score: ${report.score}/100`);
console.log(`Issues critiques: ${report.critical}`);Python
import requests
response = requests.post(
"https://a11yscan.fr/api/scan",
json={"url": "https://votresite.com"},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
report = response.json()
print(f"Score: {report['score']}/100")
print(f"Issues critiques: {report['critical']}")CI/CD (GitHub Actions)
# .github/workflows/accessibility.yml
name: Accessibility Audit
on: [push]
jobs:
a11y-scan:
runs-on: ubuntu-latest
steps:
- name: Run A11yScan
run: |
RESULT=$(curl -s -X POST \
-H "Authorization: Bearer ${{ secrets.A11YSCAN_KEY }}" \
-H "Content-Type: application/json" \
-d '{"url": "https://staging.votresite.com"}' \
https://a11yscan.fr/api/scan)
SCORE=$(echo $RESULT | jq '.score')
echo "Accessibility Score: $SCORE/100"
if [ "$SCORE" -lt 70 ]; then
echo "::error::Score below threshold (70)"
exit 1
fi