HTTP Probe -- TLS, Security Headers, Redirects
Pricing
Pay per event
HTTP Probe -- TLS, Security Headers, Redirects
Bulk site-health probe: TLS certificate, security-header grading (CSP, HSTS, X-Frame-Options, Permissions-Policy + 5 others, A/B/C/D/F grade), redirect chain, TTFB, HTTP/2 + HTTP/3, IPv6 reachability. Built for devops, security, and CI pipelines.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
SSL & Security Headers Checker (HTTP Probe)
Bulk site-health probe in a single record per URL: TLS certificate, security-header grade (A+ through F), redirect chain, TTFB, HTTP/2 and HTTP/3 negotiation, and IPv6 reachability. Pure Node, no browser, no proxies.
SSL & Security Headers Features
- TLS certificate capture: issuer, subject, validity window, daysToExpiry, signature algorithm, SAN list, serial number, OCSP stapling.
- Security-header grading modeled after securityheaders.com — A+ / A / B / C / D / F across the standard nine (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP, COEP, CORP).
- Lists every missing header so you can hand the row to a developer and say "this".
- Full redirect-chain capture (up to 10 hops) with status codes and from/to.
- HTTP/2 detection via ALPN, HTTP/3 detection via the Alt-Svc header.
- Optional IPv6 reachability probe — resolves AAAA, opens a
family:6TLS connection, records the boolean. - Bare hosts auto-prefix to
https://. Duplicates are removed before probing.
Who Uses Site Health Probe Data?
- DevOps and SRE — track SSL expiry windows across portfolios so a forgotten cert never takes a service down.
- Security teams — audit CSP, HSTS, and frame-ancestors posture across thousands of subdomains in one run.
- CI pipelines — fail a build when a deployment regresses on security headers or HTTPS posture.
- Penetration testers — bulk-fingerprint TLS, HTTP/2, HTTP/3, and IPv6 surface area before a deeper engagement.
- Compliance auditors — produce evidence of TLS hygiene across a portfolio without writing a custom probe each quarter.
How HTTP Probe Works
- Pass in a list of URLs (or bare hosts; they auto-prefix to
https://). Duplicates are dropped. - For each URL the actor runs a TLS handshake (with ALPN h2 negotiation), then issues an HTTP request — preferring HTTP/2 when negotiated, falling back to HTTP/1.1.
- If
followRedirectsis on, every hop is captured and walked up to 10 levels with cycle detection. - The header grader checks the configured set, computes the A+ through F grade, and the row also records HTTP/3 (Alt-Svc) and optional IPv6 reachability.
Input
{"urls": ["https://example.com/", "https://github.com/", "https://cloudflare.com/"],"maxItems": 5,"followRedirects": true,"checkHeaders": ["content-security-policy","strict-transport-security","x-frame-options","x-content-type-options","referrer-policy","permissions-policy","cross-origin-opener-policy","cross-origin-embedder-policy","cross-origin-resource-policy"],"runIPv6": false,"timeoutSec": 15,"concurrency": 25}
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | required | URLs (https://example.com/) or bare hosts (example.com). Bare hosts auto-prefix to https://. |
maxItems | integer | 5 | Cap on URLs probed after dedup. Range 1-10000. |
followRedirects | boolean | true | Follow up to 10 redirects and log each hop. |
checkHeaders | array | the standard nine | Security headers to grade. |
runIPv6 | boolean | false | Probe IPv6 (AAAA + family:6 TLS connect). Records ipv6Reachable. |
timeoutSec | integer | 15 | Per-URL HTTP timeout in seconds. Range 3-60. |
concurrency | integer | 25 | Parallel probes. Hard cap at 50 to avoid socket exhaustion. |
SSL & Security Headers Output Fields
{"url": "https://cloudflare.com/","finalUrl": "https://www.cloudflare.com/","status": 200,"redirectChain": ["301 https://cloudflare.com/ -> https://www.cloudflare.com/"],"ttfbMs": 142,"totalMs": 487,"ssl": {"subject": "Cloudflare, Inc. / cloudflare.com","issuer": "Google Trust Services / WE1","validFrom": "2026-03-12T20:59:51.000Z","validTo": "2026-06-10T21:59:46.000Z","daysToExpiry": 41,"sigAlg": "prime256v1","sans": ["cloudflare.com", "*.cloudflare.com"],"serialNumber": "AABBCC","ocspStapling": true},"headers": {"raw": {"strict-transport-security": "max-age=63072000; includeSubDomains; preload","content-security-policy": "default-src 'self'"},"missingSecurity": ["cross-origin-embedder-policy"],"gradeApprox": "B"},"http2": true,"http3": true,"ipv6Reachable": false,"probedAt": "2026-04-30T12:00:00.000Z","error": ""}
| Field | Type | Description |
|---|---|---|
url | string | Probed URL (input). |
finalUrl | string | URL after redirects (same as url when none followed). |
status | number | HTTP status code of the final response. |
redirectChain | array | Ordered list of hops as 'STATUS from -> to' strings. |
ttfbMs | number | Time to first byte in ms. |
totalMs | number | Total elapsed time in ms (TLS + request + body). |
ssl | object | issuer, subject, validFrom, validTo, daysToExpiry, sigAlg, sans, serialNumber, ocspStapling. |
headers | object | {raw, missingSecurity, gradeApprox}. |
http2 | boolean | True when the server negotiated HTTP/2 via ALPN. |
http3 | boolean | True when the server advertises HTTP/3 via Alt-Svc. |
ipv6Reachable | boolean | True when the IPv6 probe connected (only meaningful when runIPv6=true). |
probedAt | string | ISO timestamp when the probe completed. |
error | string | Error message on failure (empty on success). |
Grade rules
- A+ — every wanted header present, HSTS includes
preload, HSTSmax-age >= 1 year, CSP defined and free ofunsafe-inline/unsafe-eval. - A — every wanted header present, no A+ bonus.
- B — 7-8 of 9 present.
- C — 5-6 present.
- D — 3-4 present.
- F — fewer than 3 present, or no headers received at all.
Pricing
Two events. Basic probes are cheap. Full audits — runIPv6=true AND followRedirects=true AND the full standard nine headers graded — bill at the premium rate because they spend more time on the wire.
| Event | Price |
|---|---|
| Actor start | $0.10 |
| Basic probe | $0.002 |
| Full audit | $0.004 |
| Volume | Basic | Full audit |
|---|---|---|
| 100 URLs | $0.30 | $0.50 |
| 1,000 URLs | $2.10 | $4.10 |
| 10,000 URLs | $20.10 | $40.10 |
Limits
maxItemscaps at 10,000 per run.- The Apify console tester has a 5-minute timeout — keep
maxItemslow (default 5) for in-browser testing. concurrencycaps at 50 to avoid socket exhaustion on the runner.- TLS handshake timeout is fixed at 8 seconds. HTTP request timeout defaults to 15 s, max 60 s.
- Up to 10 redirects per URL; cycles are detected via the visited-set and short-circuited.
- IPv6 reachability is opt-in. Many runners have IPv6 disabled at the host level — if you need definitive IPv6 results, run on a runner you control.
Related Actors
- DNS Domain Audit — pair for full DNS + WHOIS + email-auth + TLS posture per domain.
- Sitemap Walker Pro — discover URLs across a site, then probe each one.
- Structured Data Validator Pro — combine for SEO + security audits in the same run.
Need More Features?
Useful queued additions: TLS cipher details, certificate-chain depth, HSTS preload-list lookup, CT-log SCT count, MTA-STS / TLS-RPT, BIMI, CAA enforcement check. File an issue to vote one up.
Why Use SSL & Security Headers Checker?
- One row, full picture — TLS, headers, redirects, HTTP/2/3, IPv6, and timings in a single record. Sortable, filterable, and ready for a dashboard.
- Cheap at scale — $0.002 per basic probe. 10,000 sites for $20 puts the spreadsheet you've been maintaining out of business.
- No browser — pure Node sockets. Faster, cheaper, and less brittle than driving a Chromium for what is, fundamentally, a TLS handshake and a HEAD request.
Built by OrbTop.