Bulk URL Status, Redirect Chain & Migration Map Checker avatar

Bulk URL Status, Redirect Chain & Migration Map Checker

Pricing

$2.00 / 1,000 results

Go to Apify Store
Bulk URL Status, Redirect Chain & Migration Map Checker

Bulk URL Status, Redirect Chain & Migration Map Checker

Check thousands of URLs for status codes, redirect chains, loops, and broken links. Expand sitemaps automatically, and validate a site-migration redirect map: does every old URL land on its new URL?

Pricing

$2.00 / 1,000 results

Rating

0.0

(0)

Developer

CreativeFour LLC

CreativeFour LLC

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

What does the Bulk URL Status, Redirect Chain & Migration Map Checker do?

It checks thousands of URLs in one run and reports each one's HTTP status code, the full redirect chain (every hop and its status), where it finally lands, and any problems: broken links, redirect loops, long chains, temporary redirects, and HTTPS-to-HTTP downgrades.

It can also expand sitemaps and validate a site-migration redirect map. Paste your old,new URL pairs, and every row comes back as pass or fail, with the URL it really landed on.

Because it runs on Apify, you get API access, scheduling (for example, a nightly broken-link check), integrations, and monitoring. There's no browser and no login, and you can choose to pay only for the problems it finds.

Why use it?

  • Site migrations and redesigns. Prove that every old URL 301s to the right new page before Google finds out otherwise.
  • Broken link audits. Find 404s, 410s, 5xx errors, timeouts, and DNS failures across a URL list or a whole sitemap.
  • SEO redirect cleanup. Collapse chains of two or more hops, fix loops, and turn stray 302s into 301s.
  • Indexability checks. Catch pages that are accidentally noindex, or canonicalised to another URL.
  • Scheduled monitoring. Run it on a schedule and alert on any new broken URL.

How to use it

  1. Open the Input tab.
  2. Paste URLs, add a sitemap URL, or paste a redirect map from a spreadsheet (old URL, new URL).
  3. Optional: turn on Save only problems so you pay only for URLs that need attention.
  4. Click Start.
  5. Open the Output tab and export the results as CSV, Excel, JSON, or HTML.

Input

FieldWhat it does
URLs to checkOne per line. example.com/page is treated as https://example.com/page. Invalid entries are skipped, and you aren't charged for them.
Sitemaps to expandSitemap or sitemap-index URLs; nested indexes are followed.
Redirect mapOne old,new pair per line (comma or tab separated, header row optional), or the same as JSON.
Save only problemsSkip saving healthy 200s. They're still counted in the run summary.
Check indexabilityAlso download each final HTML page to read its canonical and robots tags.
Request methodHEAD (fast) with automatic GET fallback, or GET only.
LimitsMax redirects, timeout, overall and per-host concurrency, max URLs, user agent.
{
"urls": ["https://example.com", "http://example.com/old-page"],
"sitemapUrls": ["https://example.com/sitemap.xml"],
"redirectMapCsv": "old,new\nhttp://example.com/old-page,https://example.com/new-page",
"onlyProblems": true
}

Output

One result per URL. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. It has two ready-made views: Overview and Redirect chains.

{
"url": "http://example.com/old-page",
"finalUrl": "https://example.com/new-page",
"finalStatus": 200,
"statusClass": "2xx",
"redirectCount": 2,
"redirectChain": [
{ "url": "http://example.com/old-page", "status": 301, "location": "https://example.com/old-page" },
{ "url": "https://example.com/old-page", "status": 302, "location": "https://example.com/new-page" }
],
"responseTimeMs": 184,
"contentType": "text/html; charset=utf-8",
"xRobotsTag": null,
"flags": ["redirect_chain", "temporary_redirect"],
"expectedUrl": "https://example.com/new-page",
"redirectMatch": true,
"error": null,
"checkedAt": "2026-09-23T20:15:00.000Z"
}

A SUMMARY record in the run's key-value store counts URLs by status class, along with broken URLs, redirected URLs, loops, errors, and redirect-map passes and failures.

Data fields

FieldDescription
urlThe URL you asked about
finalUrl / finalStatusWhere it ended up, and that page's status code
statusClass2xx, 3xx, 4xx, 5xx, or error
redirectCount / redirectChainEvery redirect hop, with its status and Location
flagsbroken, redirect_chain, temporary_redirect, redirect_loop, too_many_redirects, https_to_http_downgrade, error
expectedUrl / redirectMatchRedirect-map target, and whether the URL really landed there
canonical / metaRobots / indexableWith indexability checks on
responseTimeMs, contentType, xRobotsTag, error, checkedAtDetails for each check

Use it from AI agents (MCP)

AI agents can find and run this Actor through the Apify MCP server.

  • Claude, ChatGPT, or any MCP client: add https://mcp.apify.com?tools=creativefour/url-status-audit as a custom connector, and sign in to Apify when prompted.
  • Claude Code, Cursor, VS Code, or Codex: run apify mcp install claude-code (swap in your client's name), then ask your agent to run creativefour/url-status-audit.

The agent sends the same input as the Input tab, gets the same results, and pays the same per-result price.

How much does it cost to check URLs?

You pay per result: each URL saved to the dataset is one charge, and URLs skipped by Save only problems cost nothing. Set a maximum charge per run in the run options; the Actor stops cleanly at that limit and keeps everything checked so far. Checks use lightweight HEAD requests, so large lists finish quickly.

Tips

  • Save only problems keeps big sitemap audits cheap: you pay for the 3% that are broken, not the 97% that are fine.
  • Per-host concurrency (default 3) is polite to a single site. Raise overall concurrency, not per-host, when checking many different sites.
  • GET only helps with the rare server that answers HEAD requests incorrectly.
  • Schedule it in Apify to catch broken links the day they appear.

FAQ and support

Why does a URL show a different status than my browser? Some sites answer HEAD requests or bots differently. Switch the request method to GET only, or set a browser-like user agent.

Does it follow JavaScript or meta-refresh redirects? No. It follows HTTP redirects (301, 302, 303, 307, 308).

Is it allowed to check any site? Please check sites you own or are permitted to test. The Actor sends ordinary, rate-limited requests with a clear user agent and downloads no page content unless you turn on indexability checks.

Found a bug or need a feature? Open an issue on the Issues tab. Custom versions are available on request.