L'API REST d'accessibilité RGAA Checker
Récupérez les résultats de vos audits par programmation. Deux endpoints REST (scan d'une page et crawl multi-pages) pour brancher vos outils, dashboards et pipelines sur vos données d'accessibilité.
En bref
- Deux endpoints :
GET /api/report/:id(scan simple) etGET /api/crawl/:id(audit multi-pages). - Authentification par en-tête
Authorization: Bearer <clé>. - Réponse JSON : 106 critères RGAA, champ
source(autoouoverride). - Deux scores distincts :
score(global) etrgaaScore(critères applicables uniquement). - Accès limité à vos propres scans (owner-only), 120 requêtes/min par clé.
À quoi sert cette API ?
L'API REST RGAA Checker expose vos données d'audit en lecture. Branchez-la directement sur votre outillage sans passer par l'interface web.
Récupérer les résultats
Lisez l'état effectif de chaque critère RGAA (overrides d'expert inclus) pour un scan ou un crawl multi-pages, au format JSON structuré.
Déclencher un scan
Vous souhaitez aussi lancer un audit depuis votre pipeline ? Consultez la documentation CI/CD pour le POST /api/ci/scan.
Brancher vos outils
Dashboards de conformité, tickets Jira automatiques, rapports périodiques, rapports white-label : l'API s'adapte à votre stack.
Connexion et authentification
Une URL de base, un en-tête Bearer, c'est tout.
URL de base
Toutes les requêtes partent de la même base.
https://rgaa-checker.comAuthentification Bearer
En-tête Authorization: Bearer suivi de votre clé API (format rgaa_ci_…), créée sur la page Clés API de votre dashboard.
# En-tête d'authentification
Authorization: Bearer rgaa_ci_votre_cle
# Exemple complet avec curl
curl https://rgaa-checker.com/api/report/VOTRE_SCAN_ID \
-H "Authorization: Bearer rgaa_ci_votre_cle" \
-H "Accept: application/json"Forfait requis : les endpoints de lecture nécessitent un forfait Découverte, Pro ou Entreprise. Créez votre clé sur la page Clés API.
Endpoints de lecture
Deux endpoints en lecture seule, owner-only, avec overrides d'expert appliqués.
Sélectionner un endpoint
GET /api/report/:id (scan d'une page)
Renvoie l'état effectifde chaque critère RGAA pour un scan d'une seule page. Les overrides d'expert (requalifications manuelles) sont appliqués avant le retour. Les statuts possibles sont pass, fail, na, manual, derogation et exemption. Le champ source vaut auto (verdict automatique) ou override (requalifié par un expert).
Requête
curl https://rgaa-checker.com/api/report/VOTRE_SCAN_ID \
-H "Authorization: Bearer rgaa_ci_votre_cle"Réponse (200 OK)
{
"id": "…",
"url": "https://exemple.fr",
"score": 86,
"rgaaScore": 64,
"overridesApplied": true,
"stats": {
"total": 106,
"pass": 63,
"fail": 10,
"manual": 26,
"na": 5,
"derogation": 1,
"exemption": 1
},
"criteria": [
{
"id": "1.1",
"title": "…",
"status": "fail",
"source": "auto"
},
{
"id": "3.2",
"title": "…",
"status": "pass",
"source": "override",
"originalStatus": "fail",
"comment": "…"
}
],
"scannedAt": "2026-06-22T14:30:00.000Z"
}GET /api/crawl/:id (crawl multi-pages)
Renvoie une agrégation pire-cas par critèresur toutes les pages du crawl, plus un index paginé des pages individuelles. Au niveau crawl, le statut n'a que 4 valeurs : pass, fail, na, manual (les statuts derogation et exemptiond'une page sont agrégés en na). Pour le détail complet d'une page, utilisez GET /api/report/:pageId.
Les critères appliqués de façon transverse à l'ensemble du crawl portent le champ optionnel "transverse": true.
Paramètres de pagination : pages_limit (défaut 50, max 200) et pages_offset (défaut 0).
Requête
curl "https://rgaa-checker.com/api/crawl/VOTRE_CRAWL_ID?pages_limit=50&pages_offset=0" \
-H "Authorization: Bearer rgaa_ci_votre_cle"Réponse (200 OK)
{
"id": "…",
"url": "https://exemple.fr",
"type": "crawl",
"pagesScanned": 24,
"score": 76,
"rgaaScore": 58,
"overridesApplied": true,
"transverseApplied": true,
"stats": {
"total": 106,
"pass": 58,
"fail": 18,
"manual": 24,
"na": 5
},
"criteria": [
{
"id": "1.1",
"title": "…",
"status": "fail",
"pages": {
"pass": 12,
"fail": 9,
"na": 3,
"manual": 0
}
}
],
"pages": [
{
"id": "…",
"url": "https://exemple.fr/",
"score": 88,
"rgaaScore": 70
}
],
"pagesPagination": {
"limit": 50,
"offset": 0,
"total": 24
},
"scannedAt": "2026-06-22T14:30:00.000Z"
}Lancer un scan depuis l'API ? Utilisez POST /api/ci/scan. Ce endpoint est documenté dans le guide Intégration CI/CD.
Codes d'erreur
| Code | Cas |
|---|---|
200 | Succès : corps JSON complet retourné |
400 invalid_id | Identifiant fourni non conforme UUID |
401 unauthorized | Clé API absente ou invalide |
404 not_found | Scan inconnu ou non possédé par votre compte |
404 use_crawl_endpoint | /api/report/:id appelé sur un identifiant de crawl multi-pages |
404 use_report_endpoint | /api/crawl/:id appelé sur un identifiant de scan simple |
429 rate_limited | Plus de 120 requêtes par minute : en-tête Retry-After retourné |
Rate-limit :120 requêtes par minute par clé API. Au-delà, l'API renvoie 429 avec un en-tête Retry-After indiquant combien de secondes attendre.
Cas d'usage courants
L'API s'adapte à vos flux de travail existants sans nécessiter de refonte.
Dashboard de conformité
Agréger les scores RGAA Checker de vos projets dans un dashboard interne pour suivre l'évolution de l'accessibilité de votre portefeuille.
Suivi de score dans le temps
Interroger l'API après chaque déploiement pour enregistrer l'évolution du score et détecter les régressions d'accessibilité.
Création automatique de tickets
Transformer les critères fail en tickets Jira, Linear ou GitHub Issues avec le détail du critère et les exemples d'occurrence.
Rapports white-label
Générer des rapports PDF ou HTML personnalisés à partir des données brutes pour vos clients, avec votre branding et vos recommandations.
Ce que l'API ne dit pas
Nous tenons à être honnêtes sur ce que les données de l'API représentent réellement.
- Les champs
scoreetrgaaScoresont des indicateurs automatisés, pas un taux de conformité légal. La conformité RGAA exige un audit humain complet.Référence : RGAA 4.1.2 (s'ouvre dans un nouvel onglet) (Décret n°2019-768 du 24 juillet 2019). La conformité légale au RGAA exige un audit humain complet selon la méthodologie DINUM.
- Le statut
manualsignifie qu'une vérification humaine est requise pour ce critère. Ne le traitez pas comme un pass. - L'API est en lecture owner-only au niveau du compte utilisateur: votre clé ne lit que les scans et crawls lancés depuis ce compte. Les scans lancés par d'autres membres d'une organisation partagée ne sont pas accessibles par votre clé. Toute tentative d'accès à un scan non possédé renvoie un
404 not_foundindistinct.
Rédigé et maintenu par l'équipe RGAA Checker, mis à jour en juin 2026, basé sur le RGAA 4.1.2.
Questions fréquentes
Quelle différence entre GET /api/report/:id et GET /api/crawl/:id ?
/api/report/:id retourne les résultats d'un scan individuel (une URL). /api/crawl/:id retourne la synthèse agrégée d'un audit multi-pages avec pagination (pages_limit, pages_offset).
Le score retourné par l'API est-il une conformité RGAA légale ?
Non. Il s'agit d'un indicateur technique automatisé. La conformité légale au RGAA exige un audit humain complet selon la méthodologie DINUM (s'ouvre dans un nouvel onglet). Environ 60 % des critères RGAA nécessitent une vérification manuelle.
Puis-je lire les scans d'autres utilisateurs avec ma clé ?
Non. Chaque clé API n'accède qu'aux scans dont vous êtes propriétaire (owner-only). Une tentative d'accès à un scan tiers retourne une erreur 403 Forbidden.
Quelle est la limite de débit ?
120 requêtes par minute par clé API. En cas de dépassement, l'API répond 429 Too Many Requests avec un en-tête Retry-After indiquant le délai d'attente.
Quels statuts un critère peut-il avoir, et quand voit-on manual ?
Un critère peut être pass, fail, manual ou na (non applicable). Le statut manual apparaît lorsqu'une vérification automatique est impossible ou non concluante : cela concerne environ 60 % des critères RGAA.
Comment paginer un crawl multi-pages ?
Utilisez les paramètres pages_limit (max 200) et pages_offset pour parcourir les pages d'un audit. Exemple : GET /api/crawl/:id?pages_limit=50&pages_offset=50.
Mes overrides d'expert sont-ils inclus dans la réponse ?
Oui. Les overrides d'expert sont appliqués avant le retour de l'API (pipeline effective-status). Le champ source indique override pour les critères corrigés manuellement.
Comment brancher l'API dans Jira ou un dashboard ?
Appelez GET /api/report/:id ou GET /api/crawl/:id depuis votre outil d'automatisation (GitHub Actions, n8n, Zapier, scripts Python…), puis transformez le JSON reçu selon le format attendu. Les champs criterion.id, status et violations sont stables entre les versions.
Branchez votre outillage sur l'API RGAA
Créez une clé API, récupérez vos premiers résultats et automatisez votre suivi d'accessibilité dès aujourd'hui.