Broken Link Checker: Find 404s, Redirects & Dead Links avatar

Broken Link Checker: Find 404s, Redirects & Dead Links

Pricing

from $0.35 / 1,000 link checkeds

Go to Apify Store
Broken Link Checker: Find 404s, Redirects & Dead Links

Broken Link Checker: Find 404s, Redirects & Dead Links

Crawl a website and check every link, image, script and stylesheet, or check a bulk list of URLs. Finds 404s, server errors, dead domains, SSL errors, redirect chains and loops, shows on which pages each broken link appears and its anchor text.

Pricing

from $0.35 / 1,000 link checkeds

Rating

0.0

(0)

Developer

Tidelane Data

Tidelane Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Security

Limited permissions

Share

Crawl your website and check every link, image, script and stylesheet in one run, or paste a bulk list of URLs to check their status. You get each broken link with the pages it appears on and its anchor text, so you know exactly what to fix.

  • ✅ Finds everything that breaks: 404 and 410 pages, server errors (5xx), dead domains, expired or wrong SSL certificates, timeouts, redirect loops
  • ✅ Full redirect chains with every hop and status code (301, 302, 307, 308), plus the final URL
  • ✅ Where to fix it: up to 5 pages each link was found on, how often it was found, its anchor text and the tag (a, img, script, link, iframe …)
  • ✅ Fewer false alarms: servers that reject HEAD are re-checked with GET; sites that block checkers (401, 403, 429, LinkedIn's 999) are marked blocked instead of broken
  • ✅ Fast and light: plain HTTP requests, no browser. In our test 437 links on 60 pages took 6 seconds
  • ✅ Polite: at most 3 parallel requests per host, robots.txt respected
  • ✅ Fair billing: you pay per checked link; links skipped by robots.txt are free

Results

Each checked URL gets a category:

CategoryMeaning
okAnswers 2xx directly
redirectedWorks, but only through redirects (update the link to finalUrl)
broken4xx or 5xx answer, or the domain does not exist
blockedThe server refuses automated checks (401, 403, 407, 429, 451, 999); check it in a browser
errorTimeout, SSL problem, redirect loop or connection failure (see error)
skippedrobots.txt forbids checking it (not billed)

Input example

{
"startUrls": ["https://crawler-test.com/"],
"maxPages": 60,
"urls": ["http://github.com", "https://expired.badssl.com/"],
"checkExternalLinks": true,
"checkResources": true,
"onlyProblems": false
}

Use startUrls to crawl a site (www and non-www count as one site), urls to check a list without crawling, or both.

Output example

Real output from a test run:

{
"url": "https://crawler-test.com/redirects/redirect_2",
"category": "redirected",
"status": 200,
"ok": true,
"finalUrl": "https://crawler-test.com/redirects/redirect_target",
"redirectChain": [
{ "url": "https://crawler-test.com/redirects/redirect_2", "status": 301 },
{ "url": "https://crawler-test.com/redirects/redirect_1", "status": 301 }
],
"type": "internal",
"tags": ["a"],
"anchorText": "Redirect Double 301",
"foundOn": ["https://crawler-test.com/"],
"foundOnCount": 1,
"contentType": "text/html",
"responseTimeMs": 35,
"crawled": false,
"error": null
}

From the same run's bulk list:

urlcategoryerror
https://this-domain-does-not-exist-4711.com/brokenDomain does not exist (DNS lookup failed)
https://expired.badssl.com/errorSSL certificate has expired
http://github.com/redirected(final URL https://github.com/)

The OUTPUT record in the key-value store holds the totals, for example {"linksChecked": 437, "pagesCrawled": 60, "counts": {"ok": 349, "broken": 63, "redirected": 15, "blocked": 4, "error": 6, "skipped": 21}}.

Pricing

A fixed price per checked link (every unique URL is checked once, however often it appears). Turn on Only save problems to get a short fix list; all checked links are still counted.

Paid Apify plans pay less: 10% off on Starter, 20% on Scale and 30% on Business and higher plans.

FAQ

Why is a link blocked and not broken? Some sites (LinkedIn, Instagram, many shops behind bot protection) refuse requests that are not from a browser. The link may work for people, so it is listed separately for a manual check.

Are links on pages beyond maxPages checked? Links are collected only from crawled pages, but every link found there is checked, including internal pages that were not crawled any more.

Can I check a site that blocks crawlers in robots.txt? Only if it is your own site or you have the owner's permission: then turn off Respect robots.txt.

Does it run JavaScript? No. It reads the HTML the server sends, which covers almost all links. Links that only appear after JavaScript runs are not found.

More tools from Tidelane Data

All our tools: apify.com/tidelane


Impressum

Levi Griesinger, Tidelane Data
Besigheimer Straße 18
74369, Löchgau, Deutschland
E-Mail: LeviGriesinger@gmail.com