Broken Link Checker: Site Crawler for 404s & Redirects avatar

Broken Link Checker: Site Crawler for 404s & Redirects

Pricing

$0.70 / 1,000 link checkeds

Go to Apify Store
Broken Link Checker: Site Crawler for 404s & Redirects

Broken Link Checker: Site Crawler for 404s & Redirects

Crawl any website and check every internal and external link (plus images, scripts and CSS if you want). Get 404s, 5xx, DNS failures, timeouts and redirect chains, with the exact pages and anchor text that link to each one. Fast, no browser.

Pricing

$0.70 / 1,000 link checkeds

Rating

0.0

(0)

Developer

Matt

Matt

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Crawl a website and check every link on it. You get every 404, 410, 5xx, DNS failure, timeout and redirect loop, each with the exact pages that link to it and the anchor text, so you know what to fix and where.

It checks internal and external links, and can also check images, scripts, stylesheets, iframes and video/audio sources. It runs on plain HTTP, so there's no browser or proxy, and runs are fast and cheap.

Why use it

  • SEO audits: broken internal links waste crawl budget and leak link equity
  • Site migrations and redesigns: catch links that now 404 or bounce through redirect chains
  • Content and affiliate sites: find dead outbound links before readers and Google do
  • Agencies: run it on client sites on a schedule and export to a sheet
  • Monitoring: schedule it weekly with outputMode: "broken" to get only new problems

Features

  • Crawls same-site pages (www and non-www count as one site, subdomains optional) up to your page and depth limits, with include/exclude URL regex filters
  • Checks each unique link only once, even if it's linked from 500 pages; foundOnCount gives the total
  • HEAD first with GET fallback, which avoids the false 404/405 errors many servers send to HEAD
  • Redirect chains with every hop, the final URL and redirect loops
  • Bot-blocked responses (401/403/429/LinkedIn's 999) are not counted as broken by default, and you can configure this
  • Polite per-host concurrency, retries on 429/5xx, 5 MB page cap
  • Broken links are listed first in the dataset

Input

{
"startUrls": [{"url": "https://example.com/"}],
"maxPagesToCrawl": 500,
"maxLinksToCheck": 5000,
"outputMode": "broken",
"checkExternalLinks": true,
"checkAssets": ["img"]
}
{
"url": "https://example.com/old-pricing",
"isBroken": true,
"statusCode": 404,
"linkType": "internal",
"redirectCount": 1,
"redirectChain": ["https://example.com/old-pricing", "https://example.com/pricing-2019"],
"finalUrl": "https://example.com/pricing-2019",
"foundOnCount": 3,
"foundOn": [
{"page": "https://example.com/blog/launch", "anchorText": "see pricing", "rel": null}
],
"error": null
}

error explains network failures, such as "DNS lookup failed (domain does not resolve)", ConnectTimeout or TooManyRedirects. The SUMMARY record in the key-value store has totals for pages crawled, links checked, broken links and redirects.

Pricing

$0.70 per 1,000 unique links checked (pay-per-event, link-checked). Crawling pages is free, there's no start fee, and you don't pay for platform usage. Use maxLinksToCheck to cap the cost of any run. For example, a 200-page site with about 3,000 unique links costs about $2.10.

Tips

  • Pages that only render their links with JavaScript (some SPAs) expose fewer links to a plain-HTTP crawler. Server-rendered sites, WordPress, Shopify, docs and blogs work best.
  • To check a known list of URLs without crawling, use HTTP Redirect & Status Checker.