Bulk URL Status Checker – HTTP Codes & Redirect Chains
Pricing
from $0.30 / 1,000 url checkeds
Bulk URL Status Checker – HTTP Codes & Redirect Chains
Check thousands of URLs at once: HTTP status code, every redirect hop (301/302/307/308), final URL, loops, broken links (404/410/5xx), DNS/SSL/timeout errors, plus optional title, canonical and noindex. Verify migration redirect maps. $0.30 per 1,000 URLs.
Pricing
from $0.30 / 1,000 url checkeds
Rating
0.0
(0)
Developer
Cemal Atakli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Bulk URL Status Checker – HTTP Status Codes, Redirect Chains & Broken Links
Paste a list of URLs and get one clean row per URL: the HTTP status code, every redirect hop (301, 302, 307, 308 with each Location), the final URL and its status, redirect loops, and broken links (404, 410, 5xx). DNS failures, timeouts and SSL certificate problems are reported too. You can also have it read the page title, canonical and noindex, and verify a redirect map after a site migration.
- $0.30 per 1,000 URLs. That is about 8× cheaper than the most-run status checker on the Store. Invalid inputs and duplicates are free.
- Full redirect chains. Redirects are followed one hop at a time, so you see each hop:
http → https → www → /new-path. Loops and chains longer than your limit are flagged. - Migration QA. Paste
old-url new-urlpairs and each row getsmatchesExpected: true/false. - Accurate. It sends HEAD first and re-checks with GET when a server mishandles HEAD (405, 403, 404, 5xx). That removes most of the false "broken" results simple checkers report. It retries on timeouts, 429 and 503.
- Polite and fast. About 20 URLs in parallel, at most 4 per host, plain HTTP with no browser. An honest User-Agent is sent, or you can set your own.
- Many input options. A list, a pasted CSV (Screaming Frog, Ahrefs, Search Console exports), a file URL, or another Actor's dataset (for example our Sitemap Extractor).
What can I use it for?
- Broken link checks: find 404s, 410s, 5xx errors and dead domains in a list of backlinks, outbound links, affiliate links or ad landing pages.
- SEO redirect audits: spot redirect chains (more than one hop), 302s that should be 301s, http pages that do not go to https, and redirect loops.
- Site migration QA: check hundreds of old URLs against the expected new URLs right after launch, then again a week later.
- Link-list cleanup: check directories, CRM website fields or bookmark exports before you use them.
- Monitoring: schedule it daily on your key pages, with
outputFilter: "broken", and send the result to Slack or email with an Apify integration. - Indexability checks: with
extractPageInfoon, find pages withnoindexor a canonical that points elsewhere.
Input
| Field | Description |
|---|---|
urls | URLs or bare domains (example.com is checked as https://example.com/) |
bulkText | Paste a long list, a CSV with a url/link/address column, or any text that contains URLs |
redirectMap | Migration check: one old-url new-url pair per line (space, tab, comma or ->) |
sourceFileUrl | Link to a .txt/.csv file (a published Google Sheet CSV works) |
datasetId, datasetField | Read URLs from another Apify dataset (default field url) |
outputFilter | all, problems (non-2xx, redirects, SSL problems, mismatches) or broken (4xx/5xx/errors) |
extractPageInfo | Also read title, canonical, metaRobots, noindex and a meta refresh from the final page |
method | auto (HEAD, with a GET fallback) or GET |
maxRedirects | Default 10. Longer chains are reported as TOO_MANY_REDIRECTS |
checkInvalidSsl | Still get the status of sites with a bad certificate. The problem goes in sslError (default on) |
maxUrls, dedupe, maxConcurrency, maxRequestsPerHost, timeoutSecs, retries, userAgent, proxyConfiguration | Advanced |
{"urls": ["https://apify.com", "http://apple.com", "https://github.com/apify/this-repo-does-not-exist"],"redirectMap": "http://google.com https://www.google.com/","extractPageInfo": true,"outputFilter": "all"}
Output
One row per URL. The Output tab has three tables: Status overview, Redirect chains and Page info.
{"input": "http://apple.com","url": "http://apple.com/","status": 301,"statusText": "Moved Permanently","finalUrl": "https://www.apple.com/","finalStatus": 200,"statusClass": "2xx","ok": true,"redirected": true,"redirectHops": 1,"redirectChain": [{"url": "http://apple.com/", "status": 301, "responseMs": 416, "location": "https://www.apple.com/"},{"url": "https://www.apple.com/", "status": 200, "responseMs": 96}],"redirectLoop": false,"permanentRedirectsOnly": true,"httpToHttps": true,"contentType": "text/html","server": "Apple","responseMs": 96,"totalMs": 515,"methodUsed": "GET","errorCode": null,"sslError": null,"title": "Apple","canonical": "https://www.apple.com/","canonicalIsSelf": true,"noindex": false,"checkedAt": "2026-10-05T11:56:38+00:00"}
statusis the first response.finalStatus/finalUrlcome from the end of the chain.statusClass(2xx,3xx,4xx,5xx,error) andokdescribe the final result.okis false when the certificate is invalid.errorCodeis one of:DNS_ERROR,TIMEOUT,SSL_ERROR,CONNECTION_REFUSED,CONNECTION_RESET,NETWORK_ERROR,REDIRECT_LOOP,TOO_MANY_REDIRECTS,BAD_REDIRECT,INVALID_URL(free).- With
redirectMap, rows also getexpectedUrlandmatchesExpected. - A run summary (counts per status class and error code, plus any URLs left unchecked) is saved as the
SUMMARYrecord in the run's key-value store.
Pricing
Pay per event: $0.30 per 1,000 URLs checked ($0.0003 per URL), plus a tiny start fee of $0.00005 per run. Invalid inputs and removed duplicates are not charged. Every URL that is checked is charged once, whatever the output filter shows.
| Actor | Monthly users | Price per 1,000 URLs |
|---|---|---|
| This Actor | – | $0.30, full chain, GET fallback, migration map |
| logiover/bulk-url-status-checker | 17 | $2.50 (7,600+ runs) |
| automation-lab/bulk-url-status-checker | 17 | $0.08 + $0.005 per run start |
| khadinakbar/broken-link-checker | 26 | $1.00 |
| automation-lab/http-status-checker | 6 | $0.57 + $0.035 per run start |
| pink_comic / dltik / hipersoft status checkers | 4–6 each | $1.00–$2.00 |
| onescales/simple-http-status-code-checker | 4 | $300 |
Competitor figures are from the Apify Store on 2026-10-05. Examples: 10,000 backlinks cost $3. A daily check of 200 key pages costs about $1.80 per month.
Set Maximum cost per run in the run options and the Actor stops cleanly at that limit. The URLs it did not check are listed in SUMMARY.
FAQ
Why does a URL show 200 here but 403 in another tool (or the other way round)? Some sites block bots or particular IP ranges. This Actor sends an honest User-Agent from Apify's datacenter IPs. For sites that block that, set userAgent and/or a proxy.
Does it follow JavaScript redirects? No, there is no browser. HTTP redirects (3xx + Location) are followed. A <meta http-equiv="refresh"> target is reported in metaRefreshUrl when extractPageInfo is on.
Does it crawl my site to find links? No. It checks the URLs you give it. To check every page of a site, first get the URLs with our Sitemap Extractor and pass its dataset ID here. For a full on-page audit, use our SEO Audit Crawler.
HEAD vs GET? HEAD is faster and downloads no body. Many servers answer HEAD wrongly (405 or 404), so auto mode confirms those with GET before reporting. Use GET mode if you want GET only.
How many URLs can I check? Hundreds of thousands. The Actor works in batches of 200, and memory stays under 100 MB.
Is it legal? It makes one ordinary request per URL (plus redirects), much like a browser opening a link, and it rate-limits itself per host. Only check URLs you are allowed to access. Questions: iletisim.ortalamabiri@gmail.com.
Use with AI agents / Apify MCP
The input is a list of URLs and each row is compact JSON, so it works well as an agent tool, for example "are any of these 300 links broken?" or "does every old URL redirect to the right new page?". Through the Apify MCP server (https://mcp.apify.com?actors=gazidev/bulk-url-status-checker), Claude, ChatGPT, Cursor and other MCP clients can call it directly. Over the API: POST https://api.apify.com/v2/acts/gazidev~bulk-url-status-checker/run-sync-get-dataset-items with the input JSON.
Related website tools
Sitemap Extractor · SEO Audit Crawler · Website to Markdown · Domain Checker – WHOIS, DNS, SSL · Tech Stack Detector