HTTP Status Batch Checker
Pricing
Pay per usage
HTTP Status Batch Checker
Check the status of many public URLs in parallel via HEAD (with GET fallback). Records the final status, the redirect chain, response time, and content type. Useful for link-rot audits and sitemap URL validation.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Nikita S
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Bulk-check the status of many public URLs in parallel. Records the final status, full redirect chain, response time, and Content-Type. Useful for link-rot audits, sitemap URL validation, and SEO migration QA.
What it does
- Hits a list of public HTTP(S) URLs in parallel (default 16, configurable up to 64).
- Uses HEAD by default with a GET fallback when the server rejects HEAD.
- Walks the redirect chain (
301 / 302 / 303 / 307 / 308) up tomaxRedirectshops and records every hop with its status andLocationheader. - Records
elapsedMs, final URL after redirects,contentType, andhopscount. - Returns
ok: truefor200 ≤ status < 400,ok: falsefor everything else. - Pure data utility. Public URLs only — no auth, no anti-bot bypass, no JS rendering.
Who it is for
- SEO teams running link-rot audits on large sitemaps or content inventories.
- Migration / launch QA — confirm every old URL still resolves and doesn't loop.
- Web agencies that need a fast bulk status check for a client handover.
- Backlink / partner audits that need a quick pass/fail check on hundreds of URLs.
- DevOps / SRE smoke-checks after DNS or CDN changes.
Quick start
{"urls": ["https://apify.com","https://example.com","https://this-domain-definitely-does-not-exist-12345.example/"]}
Each input URL produces one dataset row:
{"url": "https://apify.com","finalUrl": "https://apify.com/","status": 200,"ok": true,"contentType": "text/html; charset=utf-8","elapsedMs": 423,"hops": 0,"redirectChain": [{ "url": "https://apify.com", "status": 200, "location": null }],"error": null}
Input
| Field | Type | Default | Notes |
|---|---|---|---|
urls | string[] (required) | — | Public HTTP(S) URLs to check. |
method | string | HEAD | HEAD or GET. Some servers reject HEAD; switch to GET for them. |
timeoutSec | int | 15 | Per-URL timeout in seconds. |
userAgent | string | ApifyHttpStatusBatch/0.2 | Override the User-Agent header. |
maxRedirects | int | 5 | Cap on redirect hops to follow. |
concurrency | int | 16 | Number of URLs to check in parallel. |
Output
Dataset rows: one per input URL with finalUrl, status, ok, contentType, elapsedMs, hops, redirectChain[], and error (if any).
SUMMARY KV record: { urls, method, concurrency }.
Pricing
This Actor is Pay Per Event on the Apify Store:
apify-actor-start— flat per run.url_checked— charged once per input URL.
For local tests, Actor.charge is a no-op (no usage billed, no payout).
Limits
- Designed for public HTTP(S) URLs. Login-walled, cookie-walled, or anti-bot endpoints are out of scope.
- Does not execute JavaScript — only what the HTTP server returns in the response.
- Per-URL timeouts are absolute; an unreachable URL still consumes its slot for
timeoutSecseconds. maxRedirectsdefaults to 5 to avoid being trapped by redirect loops.
FAQ
Q: Why does my URL return 405 / 403 with HEAD?
A: Some servers reject HEAD. Switch method to GET for those URLs.
Q: Can I check 10,000 URLs at once?
A: Yes — bump concurrency to 32 or 64. The Actor does not impose a hard input limit, but memory and platform usage will scale with input size.
Q: How does this differ from url-redirect-loop-detector?
A: url-redirect-loop-detector is focused on detecting redirect loops and chain length on a small list. http-status-batch is a broad pass/fail link-rot check that records the full chain for every URL.
Q: Can I check a private/intranet URL? A: Only if the Actor host can reach it over plain HTTP(S) without auth.
Related Actors
url-redirect-loop-detector— focused loop detection for individual URLs.url-safety-prober— TLS / protocol / redirect-target safety probe.sitemap-delta-monitor— feed discovered URLs into this Actor for bulk status check.security-headers-validator— once a URL is confirmed up, validate its security headers.
Support
Open an issue on the Actor's Apify Store page (Report an issue link on the right rail) or contact the developer through the Store profile.
License
MIT — see Apify Store page for the canonical text.