Redirect Chain Checker: Bulk URLs, Loops, Migration Mapping avatar

Redirect Chain Checker: Bulk URLs, Loops, Migration Mapping

Pricing

$1.00 / 1,000 url checkeds

Go to Apify Store
Redirect Chain Checker: Bulk URLs, Loops, Migration Mapping

Redirect Chain Checker: Bulk URLs, Loops, Migration Mapping

Check redirects for thousands of URLs at once. See every hop with its status code, the final URL, loops, long chains, temporary redirects and meta refresh, and verify an old -> new migration map in one run.

Pricing

$1.00 / 1,000 url checkeds

Rating

0.0

(0)

Developer

Luigi Fiano

Luigi Fiano

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Check the redirects of hundreds or thousands of URLs in one run. For every URL you get each hop with its status code, the final URL and status, and a plain list of problems: loops, long chains, temporary redirects, meta refresh, HTTPS to HTTP downgrades and broken destinations.

Moving a site? Paste your redirect map as old -> new lines and the Actor tells you, line by line, whether each old URL really lands on the new one.

What it is for

  • Site migrations and redesigns: verify the whole 301 map before and after launch.
  • SEO audits: find chains (A > B > C) that waste crawl budget and dilute links, and 302s that should be 301s.
  • Link and ad checks: confirm that campaign links, short links and affiliate links still end on a live page.
  • Monitoring: schedule it daily and get only the URLs that broke (onlyProblems).

Input

FieldWhat it doesDefault
urlsOne URL per line, or old -> expected pairs (comma or tab also work)required
maxHopsStop after this many redirects10
followMetaRefreshFollow HTML meta refresh redirects tootrue
ignoreTrailingSlash / ignoreQueryHow strict the expected-URL match istrue / false
onlyProblemsOutput only URLs with an issuefalse
concurrency, timeoutSecs, maxRetriesSpeed and resilience10, 20, 2

Example:

{
"urls": [
"http://apify.com",
"https://old-shop.example.com/product-1 -> https://shop.example.com/products/1"
]
}

Output

One row per URL. The table view shows the summary; the JSON has the full chain.

{
"inputUrl": "http://apify.com",
"expectedUrl": null,
"finalUrl": "https://apify.com/",
"finalStatus": 200,
"matchesExpected": null,
"hops": 1,
"statusChain": "301 > 200",
"ok": true,
"issues": [],
"chain": [
{ "url": "http://apify.com/", "status": 301, "location": "https://apify.com/", "type": "http", "ms": 85 },
{ "url": "https://apify.com/", "status": 200, "location": null, "type": "final", "ms": 140 }
],
"totalMs": 225,
"checkedAt": "2026-10-26T00:00:00.000Z"
}

Issues the Actor can flag: redirect loop, too many hops, redirect chain (N hops), temporary redirect (302/303/307), meta refresh redirect, https to http downgrade, final status 404 (or any 4xx/5xx), final URL does not match expected URL, error: timeout and other network errors.

A SUMMARY record in the key-value store counts checked, ok, loops, chains, broken and mismatched URLs.

Pricing

Pay per result: $0.001 per URL delivered to the dataset ($1 per 1,000 URLs), plus the small Apify platform usage of the run. With onlyProblems on, clean URLs are not delivered and not charged.

Notes

  • It requests each URL with a normal GET and does not follow redirects automatically, so every hop is seen as the server sends it.
  • It reads only the public HTTP response of the URLs you provide. No login, no cookies, no personal data.
  • JavaScript redirects (window.location) are not executed.