Broken Link Checker - Sitemap & Site Audit (404s, Redirects)
Pricing
$2.00 / 1,000 broken links
Broken Link Checker - Sitemap & Site Audit (404s, Redirects)
Find broken links on any website from its sitemap or a capped crawl: 404s, 5xx, timeouts, DNS errors and redirect chains, with source page and anchor text. $0 when nothing is broken.
Pricing
$2.00 / 1,000 broken links
Rating
0.0
(0)
Developer
GM Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Broken Link Checker: sitemap and site crawl audit for 404s, dead links and redirect chains
Find every broken link on a website in one run. Give it a homepage or a sitemap URL. It expands the sitemaps and sitemap indexes, crawls a capped number of public pages, checks each unique link (HEAD first, GET when HEAD isn't allowed), and returns only the problems: 404s and other 4xx/5xx errors, timeouts, DNS failures, SSL errors, redirect loops and redirect chains. Each row gives the page the link is on and its anchor text.
Nothing found means nothing charged. You pay only per broken link reported. Redirects, blocked links and OK links cost nothing.
Built for SEO audits, site migrations, content teams, agencies running weekly client checks, and AI agents that need a quick "is this site healthy?" answer.
Why this one
- One step from sitemap to audit: no second Actor needed to get URLs. Sitemap indexes,
.xml.gzand plain-text sitemaps all work, and sitemaps are found throughrobots.txt. - Sitemap entries are checked too: a 404 listed in your sitemap wastes crawl budget.
- Unique links, checked once: a dead footer link on 300 pages counts as one row (with
foundOnPagesand up to 9otherSources), and you're charged once. - Fewer false alarms: links that answer 401/403/429 to automated checks (login walls, bot protection) are marked
blockedand are free. Timeouts are retried once. - Polite and capped: respects robots.txt, max 20 parallel requests, hard caps on pages (2000), links (10000) and run time.
- Never fails on bad input: an invalid URL or a site with no links ends SUCCEEDED with 0 rows, $0 and a clear status message.
Compared with desktop crawlers like Screaming Frog, it runs in the cloud on a schedule, needs no install, and is easy to use from n8n, Make, Zapier, the API or an AI agent.
Try it free in 1 click
The input form is prefilled with a small, working example. Press Start without changing anything: the run audits 15 pages of crawlee.dev and lists broken, blocked and redirected links. Our test run of exactly this input finished in about 20 seconds with 74 results. At list price that is about $0.15 at most (you pay only per reported link), which fits inside the free monthly credit of Apify's free plan. Then swap in your own values.
Prefilled input:
{"startUrl": "https://crawlee.dev","maxPages": 15,"maxLinks": 300,"maxRunSecs": 180}
Sample output
Real rows from the prefilled run on 2026-10-14 (5 of 74 results shown; long fields trimmed). Download the full dataset as JSON, CSV or Excel.
| type | status | linkUrl | sourceUrl | foundOnPages |
|---|---|---|---|---|
| blocked | 403 | https://stackoverflow.com/questions/tagged/c… | https://crawlee.dev/ | 19 |
| redirect | 200 | https://www.crawlee.dev/blog/launching-crawl… | https://crawlee.dev/blog | 2 |
| redirect | 200 | https://www.semver.org/ | https://crawlee.dev/blog | 2 |
| broken | 404 | https://curl-cffi.readthedocs.io/en/latest/i… | https://crawlee.dev/blog/common-problems-in-… | 1 |
| blocked | 403 | https://www.upwork.com/freelancers/mantisus | https://crawlee.dev/blog/common-problems-in-… | 1 |
Input (copy-paste)
{"startUrl": "https://example.com","followSitemaps": true,"crawlHtml": true,"checkExternal": true,"maxPages": 200,"maxLinks": 3000}
Use "startUrl": "https://example.com/sitemap.xml", "crawlHtml": false to check only the URLs in a sitemap.
API (copy-paste)
curl -X POST "https://api.apify.com/v2/acts/appetizing_horsefly~sitemap-broken-link-auditor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' -d '{"startUrl":"https://example.com","maxPages":100}'
Output
{"type": "broken","sourceUrl": "https://example.com/blog/launch","linkUrl": "https://example.com/docs/old-guide","status": 404,"finalUrl": "https://example.com/docs/old-guide","redirectChain": [],"anchorText": "read the setup guide","error": "HTTP_404","internal": true,"foundOnPages": 3,"checkMethod": "HEAD"}
type is broken, redirect (with redirectChain like ["301 http://a", "200 https://a/"]), blocked (401/403/429) or ok (only when "Only problems" is off). error is one of HTTP_<code>, TIMEOUT, DNS_FAILURE, CONNECTION_REFUSED, CONNECTION_RESET, SSL_ERROR, REDIRECT_LOOP, TOO_MANY_REDIRECTS. A run summary (pages crawled, links checked, counts, which cap stopped the run) is saved as SUMMARY.
Pricing
Pay per event: $0.002 per broken link reported ($2 per 1,000). Redirect, blocked and OK rows are free, a clean site costs $0 in Actor fees, and setting a max charge limit stops the run when it's reached.
Weekly monitoring
Schedule it weekly in Apify (Schedules) or use our n8n template, which sends a Slack and email digest of broken links that are new since the last run.
Use it as an MCP tool (Claude, Cursor, ChatGPT, any AI agent)
This Actor works as a tool in the Apify MCP server, so an AI agent can call it directly and you pay per broken link, the same as a normal run. Add this server URL to any MCP client:
https://mcp.apify.com/?tools=appetizing_horsefly/sitemap-broken-link-auditor
Sign in with your Apify account (or pass your Apify API token as a Bearer header). Example request to the agent: "Check example.com for broken links and list the pages I need to fix."
FAQ
- JavaScript-only sites? Links are read from the server HTML. Pages that build links only in the browser may show fewer links. The sitemap URLs are still checked.
- Login pages? Only public pages are crawled. Nothing is submitted and no cookies are used.
- Why is a link "blocked" when it opens in my browser? Some sites (LinkedIn, some CDNs) refuse automated requests. That's why these rows are free and kept apart from real broken links.
Made by GM Labs.