Bulk URL Status Checker — HTTP Codes & Redirect Chains avatar

Bulk URL Status Checker — HTTP Codes & Redirect Chains

Pricing

from $0.20 / 1,000 link checkeds

Go to Apify Store
Bulk URL Status Checker — HTTP Codes & Redirect Chains

Bulk URL Status Checker — HTTP Codes & Redirect Chains

Paste a list of URLs and get each one's HTTP status code, final URL after redirects, the full redirect chain, response time and error type (404, 5xx, DNS, timeout, SSL). No crawling: exactly the URLs you give. $0.20 per 1,000 URLs.

Pricing

from $0.20 / 1,000 link checkeds

Rating

0.0

(0)

Developer

ActorForge

ActorForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Security

Limited permissions

Share

Paste a list of URLs and get each one's HTTP status code, final URL after redirects, the full redirect chain, response time and error type (404, 5xx, DNS, timeout, SSL). No crawling: exactly the URLs you give. $0.20 per 1,000 URLs.

Check a list of URLs in bulk and get, for every URL, the HTTP status code, the final URL after redirects, the full redirect chain (each hop with its 301/302/307/308 status), the response time and, when it fails, the error type (404, 410, 5xx, DNS failure, timeout, SSL error, redirect loop). Exactly the URLs you paste are checked: nothing is crawled and no links are followed, so 10,000 URLs cost the same as 10,000 checks.

Use it for site migrations and redirect QA (do the old URLs land on the right new pages with a single 301?), cleaning link lists and backlink exports, checking affiliate, ad or QR-code destinations, monitoring a set of key pages on a schedule, or validating URLs in a spreadsheet before an import.

Bot-protected answers (LinkedIn's 999, Cloudflare challenges, 403/429 walls) are reported separately as blocked, never as broken, because those pages usually work in a browser.

$0.20 per 1,000 URLs. URLs pointing at internal network addresses are refused and never charged.

What data does it return?

Every run outputs clean, schema-validated rows like these:

urlcategorystatusfinalStatusfinalUrlredirectHopsresponseTimeMs
https://httpbin.org/status/404broken404404https://httpbin.org/status/4040644
http://apify.com/redirect301200https://apify.com/1311
https://www.wikipedia.org/wiki/Web_scrapingredirect301200https://en.wikipedia.org/wiki/Web_scraping1237
https://example.com/ok200200https://example.com/0116
https://github.com/apify/crawleeok200200https://github.com/apify/crawlee0710

How much does it cost?

Transparent pay-per-event pricing — you only pay for what you get, and the actor always respects your run budget: set a maximum total charge and it stops cleanly at the cap instead of overrunning.

EventPriceChargedWorked example
link-checked$0.0002per unique URL checked1,000 URLs = $0.20; 10,000 URLs = $2.00
apify-actor-start$0.00005per run per GB of memory (platform start fee)One run at 1 GB = $0.00005

Input options

FieldTypeRequiredDefaultDescription
startUrlsarrayyes—One URL per line (up to 10,000). Each URL is requested once (HEAD, confirmed with GET when the server refuses HEAD) and redirects are followed to the final page. Duplicates are checked once. Pages are not crawled and links on them are not followed.
checkListOnlybooleannotrueAlways on for this listing: only the given URLs are checked.
reportModestringno"all"All: every URL with its status (default). Broken + redirects: only URLs that fail or redirect. Broken: only failing URLs (4xx/5xx, dead domains, timeouts, SSL errors, redirect loops). Same price whatever you pick.
reportBlockedbooleannotrueSome sites refuse automated checks (LinkedIn answers 999, others 403/429 or a Cloudflare challenge). Those links probably work in a browser, so they are reported separately as 'blocked', never as broken. Turn off to hide them.
maxLinksintegerno10000Stop after checking this many URLs (each one is a link-checked event).
ignoreLinkGlobsarrayno[]URLs matching these patterns are neither checked nor reported (and not charged), e.g. https://www.linkedin.com/** (** = anything, * = anything except /).

Limits & honest notes

  • Checks only the URLs you give: it does not crawl pages or check the links on them. To find broken links across a whole website, use Broken Link Checker.
  • Some sites refuse automated requests: LinkedIn answers 999, others answer 403 or 429 or show a Cloudflare challenge. Those links usually work in a browser, so they are reported as 'blocked' (status kept) instead of broken. Hide them with 'Report bot-blocked links' or skip them with 'Ignore links matching'.
  • Each unique link is checked once with a HEAD request; when a server refuses HEAD or answers a common error status (400, 403, 404, 405, 410, 5xx…) or drops the connection, the result is confirmed with GET before it is called broken. Redirects are followed up to 10 hops, with the full chain recorded. Each request times out after 20 seconds.
  • Polite by design: at most 2 requests at a time per host, and a 429 'Too Many Requests' pauses that host for its Retry-After. Very link-heavy external hosts (GitHub, for example) therefore take a while to check.
  • Redirects are followed up to 10 hops; a longer chain or a loop is reported as broken (too-many-redirects). JavaScript or meta-refresh redirects are not followed.
  • Links to internal network addresses (localhost, private IPs, cloud metadata) are never requested and never charged.
  • Respects your run budget: set a maximum total charge and the run stops cleanly at the cap and reports everything checked so far.

Changelog

  • 2026-10-23 — Initial release: URL-list listing of Broken Link Checker (new checkListOnly mode: no crawl, up to 10,000 URLs), $0.20 per 1,000 URLs.

Built and maintained by ActorForge. Reliability first: every actor in the portfolio is monitored by an automated nightly self-test, and breakages are typically fixed the same day.