Bulk URL Status Checker — Broken Links, Redirects & SSL
Pricing
Pay per event
Bulk URL Status Checker — Broken Links, Redirects & SSL
Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry. No browser, no login.
Pricing
Pay per event
Rating
0.0
(0)
Developer
hiper soft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Audit thousands of URLs in one run. Feed the Actor any list of links and it reports each one's HTTP status, whether it's broken, the full redirect chain, response time, content type, page title, and SSL certificate expiry — over plain HTTP, no browser and no login.
Great for broken-link audits, redirect/migration QA, uptime spot-checks, sitemap validation, and SSL-expiry monitoring.
What you get per URL
| Field | Notes |
|---|---|
statusCode | Final HTTP status (200, 301, 404, 410, 500, …). |
ok / broken / blocked | ok = 2xx/3xx; broken = genuinely dead (404/410/5xx); blocked = access-restricted (401/403/429, usually bot-protection — try a proxy). Keeps blocks from being mistaken for dead links. |
redirectChain | Every hop: {url, status, location} — see exactly where a link lands. |
redirectCount | Number of redirects followed. |
finalUrl | Where the URL ended up after all redirects. |
responseTimeMs | End-to-end time for the whole chain. |
contentType, contentLength, server | From the final response headers. |
title | <title> of successful HTML pages (toggle off for pure speed). |
ssl | For https: { issuer, validTo, daysToExpiry, authorized } — catch expiring certs. |
error | Classified failure: dns-error, timeout, connection-refused, ssl-error, too-many-redirects, … |
Why it's more than a status checker
Besides the status code it traces the complete redirect path (not just the final landing), measures latency, grabs the page title so a report is human-readable, and checks the TLS certificate expiry — so one run doubles as a broken-link audit and an SSL-expiry watch.
Input
{"urls": ["https://apify.com", "https://apify.com/this-page-does-not-exist"],"checkSsl": true,"fetchTitle": true,"maxConcurrency": 20}
- urls — links to check, one per line. (Or use startUrls for a request list.)
- maxRedirects — hops to trace before giving up (default 10).
- fetchTitle — read
<title>of HTML pages (default on; turn off for max speed). - checkSsl — report certificate expiry for https URLs (default on).
- maxConcurrency — URLs checked in parallel (default 20).
- maxItems — cap total URLs (0 = all).
- proxyConfiguration — optional; enable if a target blocks datacenter IPs.
Output (one row per URL)
{"input": "https://apify.com/this-page-does-not-exist","url": "https://apify.com/this-page-does-not-exist","statusCode": 404,"ok": false,"broken": true,"redirectCount": 0,"finalUrl": "https://apify.com/this-page-does-not-exist","responseTimeMs": 220,"contentType": "text/html; charset=utf-8","title": "Page not found","ssl": { "issuer": "Google Trust Services", "daysToExpiry": 61, "authorized": true },"error": null}
Pricing
Pay per URL checked. No monthly fee — you only pay for what you run.
Notes
Checks only the HTTP response of URLs you supply. You are responsible for having the right to audit the target URLs.