Security Headers Checker
Pricing
from $7.00 / 1,000 results
Security Headers Checker
Extract OWASP security headers from websites and grade HTTP responses. Run automated audits to integrate security data into your CI/CD pipelines.
Pricing
from $7.00 / 1,000 results
Rating
0.0
(0)
Developer
太郎 山田
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Security Headers Checker API | OWASP Audit
Bulk-audit websites for OWASP security headers, grade each response, and monitor header changes between runs.
Store Quickstart
- Start with
store-input.example.jsonto validate grading and output shape on three known URLs. - If that matches your workflow, switch to
store-input.templates.jsonand pick one of:Quickstart (Dataset)for a cheap first runBatch Auditfor broader site portfoliosWeekly Compliance Monitorfor recurring audits with snapshotsWebhook Alertfor automated compliance notifications
Key Features
- 🛡️ 10 OWASP headers checked — HSTS, CSP, X-Frame-Options, Referrer-Policy, and more
- 📊 Security scoring — 0-100 with A-F grade per site
- 💡 Fix recommendations — Exact header values to add (e.g.,
Strict-Transport-Security: max-age=31536000) - 🔄 Change tracking — Detects grade/score changes between runs
- 📋 Bulk processing — Check up to 200 URLs per run
- 🪝 Webhook + CI/CD — Use in security pipelines
Use Cases
| Who | Why |
|---|---|
| Developers | Automate recurring data fetches without building custom scrapers |
| Data teams | Pipe structured output into analytics warehouses |
| Ops teams | Monitor changes via webhook alerts |
| Product managers | Track competitor/market signals without engineering time |
Input
| Field | Type | Default | Description |
|---|---|---|---|
| urls | array | prefilled | List of URLs to audit security headers for. Maximum 200 per run. |
| followRedirects | boolean | true | Follow HTTP redirects and check the final URL's headers. |
| delivery | string | "dataset" | How to deliver results. 'dataset' saves to Apify Dataset (recommended), 'webhook' sends to a URL. |
| webhookUrl | string | — | Webhook URL to send results to (only used when delivery is 'webhook'). Works with Slack, Discord, or any HTTP endpoint. |
| snapshotKey | string | "security-headers-snapshots" | Key name for storing snapshots (used for change detection between runs). |
| concurrency | integer | 5 | Maximum number of parallel requests. Higher = faster but may trigger rate limits. |
| dryRun | boolean | false | If true, runs without saving results or sending webhooks. Useful for testing. |
Input Example
{"urls": ["https://google.com", "https://github.com", "https://example.com"],"followRedirects": true,"concurrency": 5}
Output
| Field | Type | Description |
|---|---|---|
meta | object | |
results | array | |
results[].url | string (url) | |
results[].finalUrl | string (url) | |
results[].statusCode | number | |
results[].headers | object | |
results[].score | object | |
results[].changes | array | |
results[].error | null | |
results[].checkedAt | timestamp |
Output Example
{"url": "https://github.com","score": { "total": 75, "grade": "B" },"statusCode": 200,"headers": {"strict-transport-security": "max-age=31536000; includeSubdomains; preload","x-frame-options": "deny","x-content-type-options": "nosniff"},"score": {"total": 75,"grade": "B","details": [{ "header": "strict-transport-security", "status": "pass", "points": 20 },{ "header": "content-security-policy", "status": "missing", "points": 0, "note": "Missing. Add a Content-Security-Policy header" }]}}
API Usage
Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.
cURL
curl -X POST "https://api.apify.com/v2/acts/taroyamada~security-headers-checker/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{ "urls": ["https://google.com", "https://github.com", "https://example.com"], "followRedirects": true, "concurrency": 5 }'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("taroyamada/security-headers-checker").call(run_input={"urls": ["https://google.com", "https://github.com", "https://example.com"],"followRedirects": true,"concurrency": 5})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('taroyamada/security-headers-checker').call({"urls": ["https://google.com", "https://github.com", "https://example.com"],"followRedirects": true,"concurrency": 5});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Tips & Limitations
- Schedule weekly runs against your production domains to catch config drift.
- Use webhook delivery to pipe findings into your SIEM (Splunk, Datadog, Elastic).
- For CI integration, block releases on
criticalseverity findings using exit codes. - Combine with
ssl-certificate-monitorfor layered cert + headers coverage. - Findings include links to official remediation docs — share with dev teams via the webhook payload.
FAQ
Is running this against a third-party site legal?
Passive public-header scanning is generally permitted, but follow your own compliance policies. Only scan sites you have authorization for.
How often should I scan?
Weekly for production domains; daily if you have high config-change velocity.
Can I export to a compliance tool?
Use webhook delivery or Dataset API — formats map well to Drata, Vanta, OneTrust import templates.
Is this a penetration test?
No — this actor performs passive compliance scanning only. No exploitation, fuzzing, or auth bypass.
Does this qualify as a SOC2 control?
This actor produces evidence artifacts suitable for SOC2 CC7.1 (continuous monitoring). It is not itself a SOC2 certification.
Related Actors
Security & Compliance cluster — explore related Apify tools:
- Privacy & Cookie Compliance Scanner | GDPR / CCPA Banner Audit — Scan public privacy pages and cookie banners for GDPR/CCPA compliance signals.
- SSL Certificate Monitor API | Expiry + Issuer Changes — Check SSL/TLS certificates in bulk, detect expiry and issuer changes, and emit alert-ready rows for ops and SEO teams.
- DNS / SPF / DKIM / DMARC Audit API — Bulk-audit domains for SPF, DKIM, DMARC, MX, and email-auth posture with grades and fix-ready recommendations.
- robots.txt AI Policy Monitor | GPTBot ClaudeBot — Detect GPTBot, ClaudeBot, Google-Extended, and other AI crawler policies in robots.
- Data Breach Disclosure Monitor | HIPAA Breach Watch — Monitor the HHS OCR Breach Portal for new HIPAA data breach disclosures.
- WCAG Accessibility Checker API | ADA & EAA Compliance Audit — Audit websites for WCAG 2.
- 📜 Open-Source License & Dependency Audit API — Audit npm packages for license risk, dependency depth, maintainer activity, and compliance posture.
- Trust Center & Subprocessor Monitor API — Monitor vendor trust centers, subprocessor lists, DPA updates, and security posture changes.
Cost
Pay Per Event:
actor-start: $0.01 (flat fee per run)dataset-item: $0.003 per output item
Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01
No subscription required — you only pay for what you use.

