Bulk URL Status Checker: HTTP codes, redirects, 404s · Apify
Bulk URL Status Checker: HTTP Codes, Redirects, 404s avatar

Bulk URL Status Checker: HTTP Codes, Redirects, 404s

Pricing

from $0.21 / 1,000 checked urls

Go to Apify Store
Bulk URL Status Checker: HTTP Codes, Redirects, 404s

Bulk URL Status Checker: HTTP Codes, Redirects, 404s

Check a list of URLs in bulk and get one row per URL: HTTP status, redirect chain, final URL, HTTPS redirect, response time, errors. Only the URLs you give (no crawling). Start with the prefilled 3 URLs for 3 rows in seconds; clear the list for a free 5-URL demo.

Pricing

from $0.21 / 1,000 checked urls

Rating

0.0

(0)

Developer

Actor Factory

Actor Factory

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Features

Limited permissions

Share

Bulk URL status checker: HTTP status, redirects and broken links for a list of URLs

statusCodefinalStatusCoderedirectCountisHttpsRedirectresponseTimeMsurlfinalUrl
2002000false134https://apify.comhttps://apify.com
3012001true704http://apify.comhttps://apify.com/
4044040false417https://apify.com/this-page-does-not-exist-404https://apify.com/this-page-does-not-exist-404

(real output of the prefilled example on 2026-11-04, shortened to 7 of the columns; each row also has the full redirectChain)

For SEO teams and web developers who need to verify a long list of URLs. Get the HTTP status, the full redirect chain, the final URL and the response time for each — for site migrations (verify your 301 map), SEO audits and broken-link checks.

Try it: press Start with the prefilled example (3 apify.com URLs). You get the 3 rows above in about 4 seconds, charged as 3 checked URLs (less than a tenth of a cent). Clear the URL list and press Start for a free demo on 5 sample URLs (apify.com and python.org, with and without https; not charged).

Price: from $0.21 per 1,000 checked URLs on Apify's paid plans (the price shown on this page); $0.30 per 1,000 on the free plan. Rows that never reach the network (invalid_url, blocked_private_address) are not charged.

Use cases

  • Verify a 301 redirect map after a migration

  • Find broken links (404, DNS failures, timeouts) in a URL list or sitemap export

  • Detect redirect chains and loops, and http-to-https redirects

  • Checks only the URLs you provide — it does not crawl pages or follow links

  • Redirects are followed manually (up to 10) and every hop is recorded: redirectChain

  • Tries HEAD first and falls back to GET when the server answers 405/501

  • DNS failures, timeouts and connection errors are reported as error (status null) instead of failing the run

  • Input as a list, or from another Actor's dataset (choose the URL field)

  • Polite by design: max 2 connections per host, at least 0.2 s between requests to the same host, up to 100,000 URLs per run

  • Status counts are saved as SUMMARY in the key-value store

  • Rows that never reach the network (invalid_url, blocked_private_address) are not charged. The free demo (empty URL list) is not charged either

  • Safe by design: URLs that resolve to internal addresses (localhost, private ranges, link-local such as 169.254.169.254, IPv6 loopback/unique-local) are never contacted, including redirect targets — reported as blocked_private_address

Input

{ "urls": ["https://example.com/old-page", "http://example.com"], "followRedirects": true, "timeoutSecs": 15, "concurrency": 5 }

Or { "datasetId": "<dataset id>", "urlField": "url" }.

Output

{
"url": "http://example.com/old", "finalUrl": "https://example.com/new", "statusCode": 301, "finalStatusCode": 200,
"ok": true, "redirectCount": 2,
"redirectChain": [{"url": "http://example.com/old", "status": 301}, {"url": "https://example.com/old", "status": 301}, {"url": "https://example.com/new", "status": 200}],
"isHttpsRedirect": true, "responseTimeMs": 412, "contentType": "text/html; charset=utf-8", "contentLength": null,
"error": null, "checkedAt": "2026-10-18T09:00:00+00:00"
}

ok is true when the final status is 2xx. For unreachable URLs statusCode and finalStatusCode are null and error is e.g. dns_failure, timeout, too_many_redirects, redirect_loop, invalid_url or blocked_private_address.

Notes

Some sites block automated requests or answer HEAD/GET differently than a browser; results reflect what a plain HTTP client sees. Set a custom userAgent if needed, and only check URLs you are allowed to request.

Pricing

EventFree planPaid plans (Store discount tiers Bronze / Silver / Gold)
Checked URL (status, redirect chain and timing returned)$0.30 per 1,000$0.27 / $0.24 / $0.21 per 1,000

The price on this page ("from $0.21") is the Gold tier price. Failed runs and the demo are free. On the Apify Free plan, the $5 of monthly platform credit covers about 16,000 URLs a month — enough to try it on real data.

If this Actor saved you time, a rating on the Store helps others find it.

More tools from the same developer

  • Bulk HTTP Request — send many HTTP requests (GET/POST/...) from a list and collect status, headers and body
  • Sitemap URL Extractor — list every URL of a website from its sitemaps
  • Website Screenshot — screenshots and PDFs of web pages: full page, mobile, element, no cookie banners
  • Domain WHOIS & DNS Lookup — bulk WHOIS (RDAP) and DNS lookup: registrar, expiry, days left, A/MX/NS, no personal data
  • RAG Chunker — split scraped pages into chunks for RAG and vector stores