ADA Title II deadline: April 24, 2026 — US public entities must ensure digital accessibility. Automate compliance monitoring via API before the deadline.

PageGuard API Docs

Build ADA compliance records programmatically — integrate website health scanning into your workflow. REST API, JSON responses, no fuss.

Every API scan is automatically logged to your compliance record

Quick Start — 3 steps

Step 1 — Get your API key

API access is available on Pro ($29/mo) and Agency ($79/mo) plans. Your API key will be provided in your dashboard after upgrading.

Step 2 — Trigger a scan

curl -X POST https://pageguard.org/api/v1/scan \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: pg_xxx...' \
  -d '{"url":"https://example.com"}'

# Response: {"scan_id":"abc123","status":"pending","poll_url":"..."}

Step 3 — Poll for results (~30s)

curl https://pageguard.org/api/v1/scan/abc123 \
  -H 'X-API-Key: pg_xxx...'

# When complete: {"scan_id":"abc123","status":"complete","scores":{...},"issues":[...],"ai_report":"...","compliance_record":true}

Ready to use this in production?

Get your API key and start scanning in minutes — 100 scans/day on Pro.

Get API Key — $29/mo →
Live Demo

Try It Free — No API Key Needed

Enter any URL to see the real JSON output format. No signup required.

Free scan

You'll see live scores, issues array, and AI report — the exact same JSON your API calls return. Results open as a shareable /report link.

Code Examples

Drop-in snippets for your stack. Replace pg_xxx... with your API key.

const API_KEY = 'pg_xxx...';

async function scanSite(url) {
  // 1. Submit scan
  const res = await fetch('https://pageguard.org/api/v1/scan', {
    method: 'POST',
    headers: { 'X-API-Key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ url }),
  });
  const { scan_id } = await res.json();

  // 2. Poll until complete (~30s)
  while (true) {
    await new Promise(r => setTimeout(r, 4000));
    const poll = await fetch(`https://pageguard.org/api/v1/scan/${scan_id}`, {
      headers: { 'X-API-Key': API_KEY },
    });
    const data = await poll.json();
    if (data.status === 'complete') return data;
  }
}

const result = await scanSite('https://example.com');
console.log(result.scores);            // { performance: 0.91, accessibility: 0.95, ... }
console.log(result.ai_report);         // "Your site scores well..."
console.log(result.compliance_record); // true ← logged to your compliance record

API Reference

Authentication

API access requires a paid plan. Your API key is available in your dashboard after upgrading to Pro ($29/mo — 100 scans/day) or Agency ($79/mo — 1,000 scans/day). Include your key in all requests via the X-API-Key header.

🛡 Every Pro & Agency API scan is automatically logged to your compliance record — building documented proof of due diligence with every request.

POST /api/v1/scan Submit a Scan

Submit a URL for scanning. Returns immediately with a scan_id — use the poll endpoint to get results.

Headers

X-API-Key: pg_xxx...
Content-Type: application/json

Request Body

{ "url": "https://example.com" }

Response (202 Accepted)

{
  "scan_id": "abc1234xyz",
  "status": "pending",
  "poll_url": "https://pageguard.org/api/v1/scan/abc1234xyz"
}

Error Responses

401Missing or invalid API key
400Missing or invalid URL in body
429Daily scan limit exceeded

curl Example

curl -X POST https://pageguard.org/api/v1/scan \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: pg_xxx...' \
  -d '{"url":"https://example.com"}'
GET /api/v1/scan/:id Get Scan Results

Poll for scan status and results. Scans typically complete in 20–40 seconds. Poll every 3–5 seconds.

Headers

X-API-Key: pg_xxx...

Response — Pending / Scanning

{ "scan_id": "abc1234xyz", "status": "scanning" }

Response — Complete

{
  "scan_id": "abc1234xyz",
  "status": "complete",
  "url": "https://example.com",
  "scores": {
    "performance": 0.91,
    "accessibility": 0.95,
    "seo": 0.87,
    "best_practices": 0.92
  },
  "issues": [
    {
      "id": "render-blocking-resources",
      "title": "Eliminate render-blocking resources",
      "description": "Resources are blocking the first paint...",
      "score": 0.5,
      "category": "performance"
    }
  ],
  "ai_report": "Your site scores well overall. The main issue is...",
  "created_at": "2026-02-23T10:00:00.000Z",
  "compliance_record": true
}

Response Fields

Field Type Description
scan_idstringUnique scan identifier
statusstringpending | scanning | complete | error
urlstringThe scanned URL
scoresobjectPerformance, accessibility, SEO, and best-practices scores (0–1)
issuesarrayDetected issues with id, title, description, score, and category
ai_reportstringAI-generated plain-language analysis and recommendations
created_atstringISO 8601 timestamp of scan completion
compliance_recordbooleantrue when this scan is automatically logged to your compliance record — building documented proof of due diligence (Pro & Agency plans)

Response — Error

{ "scan_id": "abc1234xyz", "status": "error", "error": "Failed to fetch URL" }

curl Example

curl https://pageguard.org/api/v1/scan/abc1234xyz \
  -H 'X-API-Key: pg_xxx...'

Free

$0
  • 1 monitored site
  • Manual scans only
  • 7-day history
  • No credit card
Get Started

Starter

$9/mo
  • 5 monitored sites
  • Weekly auto-scan
  • 30-day compliance record
  • Score drop alerts
Upgrade — $9/mo
POPULAR

Pro

$29/mo
  • 15 monitored sites
  • Daily auto-scan
  • 90-day compliance record
  • PDF export + API (100/day)
Upgrade — $29/mo

Agency

$79/mo
  • 50 monitored sites
  • Daily auto-scan
  • 1-year compliance record
  • API (1000/day) + custom alerts
Upgrade — $79/mo

30-day money-back guarantee — cancel anytime, no questions asked.

Get API Access

ADA Title II deadline: April 24, 2026 — deadline passed

API access is included with Pro and Agency plans. Your key will be available in your dashboard after upgrading.

Pro: 100 scans/day • Agency: 1,000 scans/day