Security Headers

Check common HTTP security headers for any URL. Follows redirects and returns a per-header analysis with a score out of six.

GET /api/security-headers

Try it

{
  "ok": true,
  "input_url": "https://example.com",
  "final_url": "https://www.example.com/",
  "status": 200,
  "headers": {
    "strict-transport-security": "max-age=63072000",
    "x-frame-options": "SAMEORIGIN"
  },
  "analysis": {
    "strict_transport_security": { "present": true, "valid": true },
    "content_security_policy": { "present": false, "valid": false },
    "x_frame_options": { "present": true, "valid": true },
    "x_content_type_options": { "present": false, "valid": false },
    "referrer_policy": { "present": false, "valid": false },
    "permissions_policy": { "present": false, "valid": false }
  },
  "score": 2,
  "max_score": 6,
  "meta": {
    "responseTimeMs": 96,
    "cached": false,
    "rateLimitedScope": "global"
  },
  "error": null
}

What it returns

Use cases

Quick API examples

curl

curl "https://tinyutils.dev/api/security-headers?url=https://example.com"

JavaScript (fetch)

const res = await fetch(
  "https://tinyutils.dev/api/security-headers?url=https://example.com"
);
const data = await res.json();
console.log("Score:", data.score, "/", data.max_score);
console.log("CSP present:", data.analysis.content_security_policy.present);