Bulk URL Status & Redirect Checker avatar

Bulk URL Status & Redirect Checker

Pricing

from $0.70 / 1,000 url status checkeds

Go to Apify Store
Bulk URL Status & Redirect Checker

Bulk URL Status & Redirect Checker

Check supplied HTTP(S) URLs for status codes and redirect chains. Public hostnames only. Blocked, unreachable and incomplete checks are uncharged.

Pricing

from $0.70 / 1,000 url status checkeds

Rating

0.0

(0)

Developer

Gabor Molnar

Gabor Molnar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Security

Limited permissions

Share

Check a supplied URL list for HTTP status codes and redirect chains. No crawling, browser or JavaScript execution.

{"urls":["https://example.com","http://github.com","https://example.com/missing-status-probe"]}

Each processed distinct canonical URL produces one row with url, finalUrl, httpStatus, method, redirects, elapsedMs and reasonCode. finalUrl is the last URL actually requested, not a claim that an incomplete redirect chain finished. Redirect entries contain the source URL, status and resolved destination.

Billing

Configured price: $0.001 per answered URL. One url-status-checked event per answered URL, including observed 404/410 responses. Partial redirect chains do not bill.

reasonCodeMeaningCharged
checkedFinal response was 2xxyes
not_foundFinal response was 404 or 410yes
blockedFinal response was 401, 403 or 429no
http_errorAnother non-redirect status, including 5xxno
unreachableDNS, connection, TLS or deadline failureno
invalid_urlUnsupported or malformed submitted URLno
unsafe_targetA resolved address was not public unicastno
invalid_redirectMissing, malformed or unsupported redirect destinationno
redirect_loopA canonical URL repeated in the chainno
redirect_limitMore than five redirects neededno

A 404/410 reports what this request received; it does not prove permanent removal. A 2xx is not proof the page has the expected content or works in a browser. Some bot walls return 200 and cannot be identified from headers alone.

Limits

  • Up to 100 URLs per run, 8 at a time, so rows arrive in finish order, not input order; join on url. Each check has a 15-second total deadline including DNS and redirects; the worst-case batch takes about 3–4 minutes before platform overhead.
  • HEAD requests; when HEAD answers any 4xx/5xx, the URL is asked again with GET and only that answer is reported (some servers answer HEAD 404 for a live page). Response bodies are not read. Headers are limited to 16 KiB. No retries, proxies, custom headers or authentication.
  • Up to five redirects (301/302/303/307/308), with public-address checks on every hop. Connections are pinned to a validated DNS address and TLS certificate verification stays enabled. Only the first validated address is tried; another address might work when it fails.
  • HTTP(S) on registrable hostnames, ports 80/443 only. IP literals, credentials, local names and DNS with any non-public address are refused. This conservative policy also rejects some special-purpose IPv6 ranges.
  • URL parsing folds host case, default ports and dot segments; fragments are dropped. Paths and query strings remain distinct. First submitted spelling wins; different invalid strings remain separate rows.
  • A charge cap stops new work. Up to seven other URLs may already be in flight and can return uncharged rows. Inputs not started are absent; join rows to inputs by url and resubmit only missing URLs.

The Actor contacts target websites and DNS infrastructure; do not put secrets in URL queries. Check only targets you are authorized to access.