Redirect Chain Checker: Bulk URLs, Loops, Migration Mapping
Pricing
$1.00 / 1,000 url checkeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
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
| Field | What it does | Default |
|---|---|---|
urls | One URL per line, or old -> expected pairs (comma or tab also work) | required |
maxHops | Stop after this many redirects | 10 |
followMetaRefresh | Follow HTML meta refresh redirects too | true |
ignoreTrailingSlash / ignoreQuery | How strict the expected-URL match is | true / false |
onlyProblems | Output only URLs with an issue | false |
concurrency, timeoutSecs, maxRetries | Speed and resilience | 10, 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.