Skip to main content
REST API v1

Accessibility APIDeveloper Documentation

Integrate WCAG compliance testing into your CI/CD pipeline. Automate accessibility scans with our powerful REST API.

Secure & Reliable

Enterprise-grade security with rate limiting and API key authentication.

Lightning Fast

Complete accessibility scans in under 60 seconds with detailed results.

Well Documented

Clear examples and comprehensive guides to get you started quickly.

Quick Start

# Install via npm (optional helper)
npm install @accesscheck/sdk

# Or use direct API calls
const response = await fetch('https://accesscheck.app/api/v1/scan', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://your-website.com'
  })
});

const data = await response.json();
console.log(`Found ${data.violations.length} accessibility issues`);

💡 Pro Tip: Get your API key from Settings → API Keys and start scanning immediately!

Authentication

All API requests require authentication using a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY

✅ Correct

Bearer sk_live_abc123...

❌ Incorrect

sk_live_abc123... (missing "Bearer")

API Endpoints

POST/api/v1/scan🔐 Auth Required

Scan URL

Performs a comprehensive accessibility scan on a given URL

Parameters

urlstringrequired

The URL to scan (must be publicly accessible)

standardstring

WCAG standard to test against (default: 'wcag2aa')

Example Request

curl -X POST https://accesscheck.app/api/v1/scan \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "standard": "wcag2aa"
  }'

Response

{
  "success": true,
  "scanId": "scan_abc123",
  "url": "https://example.com",
  "violations": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "description": "Elements must have sufficient color contrast",
      "nodes": [...]
    }
  ],
  "passes": 45,
  "incomplete": 2,
  "timestamp": "2025-10-15T12:00:00Z"
}
GET/api/v1/scan/:scanId🔐 Auth Required

Get Scan Results

Retrieves the results of a previously completed scan

Parameters

scanIdstringrequired

The unique identifier of the scan

Example Request

curl -X GET https://accesscheck.app/api/v1/scan/scan_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "scanId": "scan_abc123",
  "status": "completed",
  "url": "https://example.com",
  "violations": [...],
  "passes": 45,
  "incomplete": 2,
  "createdAt": "2025-10-15T12:00:00Z",
  "completedAt": "2025-10-15T12:00:15Z"
}
POST/api/v1/scheduled-scans🔐 Auth Required

Create Scheduled Scan

Sets up automated recurring scans for a URL

Parameters

urlstringrequired

The URL to monitor

frequencystringrequired

Scan frequency: 'daily', 'weekly', or 'monthly'

notifyEmailboolean

Send email notifications on issues (default: true)

Example Request

curl -X POST https://accesscheck.app/api/v1/scheduled-scans \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "frequency": "daily",
    "notifyEmail": true
  }'

Response

{
  "success": true,
  "scheduledScanId": "sched_xyz789",
  "url": "https://example.com",
  "frequency": "daily",
  "nextScan": "2025-10-16T12:00:00Z",
  "status": "active"
}
GET/api/v1/user/usage🔐 Auth Required

Get Usage Statistics

Retrieves your current API usage and limits

Example Request

curl -X GET https://accesscheck.app/api/v1/user/usage \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "plan": "pro",
  "scansUsed": 245,
  "scansLimit": 10000,
  "resetDate": "2025-11-01T00:00:00Z",
  "apiKeyStatus": "active"
}

Rate Limits

Free Plan

  • 10 scans per day
  • 60 requests per minute
  • Trial features included

Pro Plan

  • 10,000 scans per month
  • 300 requests per minute
  • Priority support

⚠️ Rate Limit Headers: Check X-RateLimit-Remaining and X-RateLimit-Reset headers in API responses to monitor your usage.

Error Codes

Status CodeDescription
200Success - Request completed successfully
400Bad Request - Invalid parameters or malformed request
401Unauthorized - Missing or invalid API key
403Forbidden - API key doesn't have required permissions
404Not Found - Resource doesn't exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error - Something went wrong on our end

Ready to Get Started?

Get your API key and start scanning in minutes