The WebForensik API exposes all scan functions as JSON — for CI/CD pipelines, monitoring systems and AI applications (Schema.org format).
/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 }
/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" }
/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 }
/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 }
/api.php?action=categoriesAll 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, … } }
…&format=jsonldAny 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": {…} }