VOOZH about

URL: https://apify.com/automation-lab/broken-link-checker

โ‡ฑ Broken Link Checker โ€” Bulk Website Dead Link Scanner ยท Apify


Pricing

Pay per event

Go to Apify Store

Broken Link Checker crawls your website, discovers all internal and external links, and verifies each one. It finds 404 errors, server errors, timeouts, and other broken links โ€” then tells you exactly which page links to each broken URL and what the anchor text says.

Pricing

Pay per event

Rating

0.0

(0)

Developer

๐Ÿ‘ Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

25

Total users

7

Monthly active users

2 months ago

Last modified

Share

Broken Link Checker โ€” Find Dead Links on Any Website

What does Broken Link Checker do?

Broken Link Checker crawls your website, discovers all internal and external links, and verifies each one. It finds 404 errors, server errors, timeouts, and other broken links โ€” then tells you exactly which page links to each broken URL and what the anchor text says.

Who is it for?

  • ๐Ÿ” SEO specialists โ€” finding and fixing broken links that hurt search rankings
  • ๐Ÿ’ป Web developers โ€” validating all links work before deploying site updates
  • ๐Ÿ“ Content managers โ€” auditing large sites for outdated or dead links
  • ๐Ÿข Digital agencies โ€” running link health reports for client websites
  • โ™ฟ Accessibility auditors โ€” ensuring all navigation paths lead to valid destinations

Why use Broken Link Checker?

  • Full-site crawling โ€” automatically discovers and follows internal pages up to your depth limit
  • External link checking โ€” verifies links to other websites, not just your own domain
  • Source tracking โ€” every broken link shows which page contains it and the exact anchor text
  • Smart retry with backoff โ€” retries timed-out requests with exponential backoff to reduce false positives
  • Timeout/broken separation โ€” clearly distinguishes confirmed broken links (4xx/5xx) from timeouts and connection issues
  • No proxy by default โ€” runs direct for speed and low cost; optional proxy with fallback-to-direct on timeout
  • HEAD-first checking โ€” uses lightweight HEAD requests with GET fallback to minimize load on target sites
  • Structured output โ€” results include status code, error type, severity, confirmation status, and diagnostics

How much does it cost to check for broken links?

Uses pay-per-event pricing:

EventPriceWhen charged
startper runOnce when the actor starts
page-crawledper pageEach internal page crawled and analyzed

Example: Crawling a 50-page website costs 1 start + 50 page-crawled events. Platform compute and proxy costs are billed separately by Apify.

What data can you extract?

FieldExample
url"https://example.com/old-page"
statusCode404
statusText"Not Found"
isBrokenConfirmedtrue
errorType"http", "timeout", "dns", "tls", "blocked"
sourceUrl"https://example.com/blog/post-1"
anchorText"Click here for details"
linkType"internal" or "external"
severity"error" (confirmed broken) or "warning" (timeout/unreachable)
retryCountUsed2
usedProxyfalse
finalMethod"HEAD" or "GET"
checkedAt"2026-02-28T12:00:00.000Z"

How to check a website for broken links

  1. Open Broken Link Checker on Apify Console.
  2. Enter the Website URL to crawl (e.g., https://your-site.com).
  3. Set Max pages to control crawl depth (default: 100).
  4. Enable or disable Check external links.
  5. Click Start and review broken links in the dataset.

Example input

{
"startUrl":"https://example.com",
"maxPages":50,
"checkExternalLinks":true
}

Input parameters

ParameterTypeRequiredDefaultDescription
startUrlstringYesโ€”Website URL to crawl
maxPagesintegerNo100Max internal pages to crawl (1โ€“1000)
checkExternalLinksbooleanNotrueAlso check links to other domains
maxConcurrencyintegerNo5Parallel requests (1โ€“20)
requestTimeoutSecsintegerNo15Timeout per request in seconds
retryCountintegerNo2Retries for timed-out requests (0โ€“5), uses exponential backoff
useProxybooleanNofalseEnable proxy for requests
proxyGroupstringNodatacenterProxy group: datacenter, residential, or auto
timeoutFallbackToDirectbooleanNotrueOn proxy timeout, retry without proxy
proxyConfigurationobjectNoโ€”Advanced: custom Apify proxy settings

Output example

{
"url":"https://example.com/deleted-page",
"statusCode":404,
"statusText":"Not Found",
"sourceUrl":"https://example.com/blog/post-3",
"anchorText":"Read our case study",
"linkType":"internal",
"severity":"error",
"isBrokenConfirmed":true,
"errorType":"http",
"retryCountUsed":0,
"usedProxy":false,
"finalMethod":"HEAD",
"checkedAt":"2026-02-28T12:34:56.789Z"
}

Tips for best results

  • Start with a small maxPages (10โ€“20) to get a quick overview before running a full crawl.
  • Enable external link checking to catch broken outbound links โ€” these hurt SEO too.
  • Leave proxy off for most sites. Only enable if you get blocked or need geo-specific checking.
  • Increase requestTimeoutSecs if you see many timeout warnings (slow CDNs, overseas servers).
  • Use retryCount: 2 (default) to reduce false positives from transient network issues.
  • Filter by isBrokenConfirmed: true to see only confirmed broken links (4xx/5xx responses).
  • Lower maxConcurrency if the target site starts rate-limiting your requests.
  • Use the sourceUrl field to quickly find and fix the pages containing broken links.
  • Schedule regular runs with Apify Scheduler to catch new broken links as your site changes.

Integrations

Connect with Make, Zapier, n8n, or any HTTP tool. Use Apify webhooks to get notified when broken links are found. Feed results into your SEO dashboard or ticketing system.

Using the Apify API

Node.js

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token:'YOUR_TOKEN'});
const run =await client.actor('automation-lab/broken-link-checker').call({
startUrl:'https://your-site.com',
maxPages:50,
});
const{ items }=await client.dataset(run.defaultDatasetId).listItems();
console.log('Broken links found:', items.length);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('automation-lab/broken-link-checker').call(run_input={
'startUrl':'https://your-site.com',
'maxPages':50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(f'Broken links found: {len(items)}')

cURL

curl"https://api.apify.com/v2/acts/automation-lab~broken-link-checker/runs"\
-X POST \
-H"Content-Type: application/json"\
-H"Authorization: Bearer YOUR_TOKEN"\
-d'{"startUrl": "https://your-site.com", "maxPages": 50}'

Use with AI agents via MCP

Broken Link Checker is available as a tool for AI assistants via the Model Context Protocol (MCP).

Setup for Claude Code

$claude mcp add--transport http apify "https://mcp.apify.com?tools=automation-lab/broken-link-checker"

Setup for Claude Desktop, Cursor, or VS Code

{
"mcpServers":{
"apify":{
"url":"https://mcp.apify.com?tools=automation-lab/broken-link-checker"
}
}
}

Example prompts

Learn more in the Apify MCP documentation.

Legality

This tool analyzes publicly accessible web content. Automated analysis of public web resources is standard practice in SEO and web development. Always respect robots.txt directives and rate limits when analyzing third-party websites. For personal data processing, ensure compliance with applicable privacy regulations.

FAQ

Does it check external links? Yes, by default. Disable with checkExternalLinks: false to only check same-domain links.

Will it overload my website? No. It uses maxConcurrency: 5 by default and HEAD-first requests. For sensitive sites, lower concurrency to 1โ€“2.

What counts as a broken link? Any HTTP 4xx or 5xx response after retries. Timeouts and connection failures are reported as warnings, not confirmed broken.

How do I filter confirmed broken links? Filter the dataset by isBrokenConfirmed: true to exclude timeouts and unreachable links.

Does it follow redirects? Yes. Redirected links are considered OK. Only the final status matters.

Do I need a proxy? Usually no. Proxy is off by default. Enable it only if the target site blocks direct requests.

Can I schedule regular checks? Yes. Use Apify Scheduler to run weekly or daily checks and get notified of new broken links.

Does it need a browser? No. It uses fast HTTP requests only โ€” no Chromium/Playwright overhead.

I'm seeing many timeouts but the links work in my browser. What should I do? Some servers are slow to respond or rate-limit automated requests. Try increasing requestTimeoutSecs to 30 or more, lowering maxConcurrency to 2-3, or enabling proxy with useProxy: true. Timeout results appear as warnings, not confirmed broken links.

The crawler is not finding all pages on my site. How can I increase coverage? Increase the maxPages parameter to allow the crawler to discover more internal pages. The crawler follows links from each page it visits, so deeply nested pages may require a higher limit. Also ensure your site's internal linking allows the crawler to reach all sections.

Other SEO tools

You might also like

Website Monitoring: Broken Links & Resources Checker

gusdecool/website-monitoring

Monitor your website by detecting broken resources (images, scripts, styles) and broken deep links (404s, timeouts).

Broken Link Audit

zerobreak/broken-link-audit

Broken Link Audit is an Apify actor that crawls websites to find broken links, dead URLs, and failed HTTP requests. It scans internal pages, extracts all links, and performs live HTTP checks to detect 404 errors, timeouts, and server issues, helping you fix problems before they harm SEO.

Broken Link Checker

jancurn/find-broken-links

Crawls a website and finds broken links. Unlike other similar SEO analysis tools, the actor also reports broken URL #fragments. The results are stored in a JSON and HTML report.

791

Broken Link Finder

pillowy_travel/broken-link-finder

Finds and analyzes broken links on given web pages

Broken Link Checker โ€” Recursive Site Crawler

accurate_pouch/broken-link-checker

Recursively crawl your website and find every broken link, 404, redirect, and timeout. Checks internal and external links with configurable depth. 100 links free per run.

๐Ÿ‘ User avatar

Manchitt Sanan

3

Broken Link Checker - Find 404s and Dead Links

santamaria-automations/broken-link-checker

Crawl any website and find broken links, 404 errors, redirect chains, timeouts, and SSL failures. Essential for SEO audits, QA, and content maintenance. Export data, run via API, schedule and monitor runs, or integrate with other tools.

Broken Link Checker - Find Dead 404 Links

logiover/broken-link-checker

Site-wide broken link checker: crawl any website, find 404 and dead links, export the link audit to CSV or JSON with source page and status code.

Broken Link Checker - Ensure Your Website's Integrity

dainty_screw/find-broken-links-of-your-website

Maintain your website's health and user experience with our Broken Link Checker. Easily identify and fix broken links to enhance your site's navigation, improve SEO, and keep visitors engaged.

๐Ÿ‘ User avatar

codemaster devops

35

5.0