Deutsch | English Header test API About WebForensik

WebForensik API

The WebForensik API exposes all scan functions as JSON — for CI/CD pipelines, monitoring systems and AI applications (Schema.org format).

GET /api.php?action=scan&url={url}

Triggers a scan (synchronous, responds after 5–60 s). Rate limit: 5 scans/hour per IP. Parameters: force=1 bypasses the 1h cache, deep=1 includes up to 3 subpages.

Example:

curl 'https://webforensik.de/api.php?action=scan&url=https%3A%2F%2Fexample.com'

Response (truncated):

{ "url": "…", "final_url": "…", "domain": "example.com", "overall_score": 87, "categories": { "https": {...}, "csp": {...}, … }, "scan_id": 123, "cached": false }

GET /api.php?action=result&id={id}

Returns a stored scan result. No rate limit. HTTP 409 while the scan is still running.

Example:

curl 'https://webforensik.de/api.php?action=result&id=123'

Response (truncated):

{ "overall_score": 87, "categories": {…}, "scan_id": 123, "created_at": "2026-06-11 09:00:00" }

GET /api.php?action=status&id={id}

Status of a running scan (queue polling). No rate limit. status is pending, running, done or failed.

Example:

curl 'https://webforensik.de/api.php?action=status&id=123'

Response (truncated):

{ "scan_id": 123, "status": "done", "score": 87, "error": null }

GET /api.php?action=recent&limit={n}

The most recent n scans (max. 50): ID, domain, score, timestamp.

Example:

curl 'https://webforensik.de/api.php?action=recent&limit=5'

Response (truncated):

{ "scans": [ { "id": 123, "domain": "…", "overall_score": 87, "created_at": "…" }, … ], "count": 5 }

GET /api.php?action=categories

All analysis categories with their scoring weights.

Example:

curl 'https://webforensik.de/api.php?action=categories'

Response (truncated):

{ "categories": [ "https", "hsts", "csp", … ], "weights": { "https": 0.12, … } }

GET …&format=jsonld

Any response carrying a score can be fetched as a Schema.org Review object (Content-Type application/ld+json) — directly usable for AI pipelines and structured-data consumers. Raw data lives in wf:rawScan.

Example:

curl 'https://webforensik.de/api.php?action=result&id=123&format=jsonld'

Response (truncated):

{ "@context": "https://schema.org", "@type": "Review", "reviewRating": { "ratingValue": 87, "bestRating": 100 }, "itemReviewed": {…}, "wf:rawScan": {…} }

Fair-use rules

← Back to scanner