Broken Link Checker: Find 404s, Redirects & Dead Links
Pricing
from $0.35 / 1,000 link checkeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Security
Limited permissionsShare
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
HEADare re-checked withGET; sites that block checkers (401, 403, 429, LinkedIn's 999) are markedblockedinstead ofbroken - ✅ 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:
| Category | Meaning |
|---|---|
ok | Answers 2xx directly |
redirected | Works, but only through redirects (update the link to finalUrl) |
broken | 4xx or 5xx answer, or the domain does not exist |
blocked | The server refuses automated checks (401, 403, 407, 429, 451, 999); check it in a browser |
error | Timeout, SSL problem, redirect loop or connection failure (see error) |
skipped | robots.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:
| url | category | error |
|---|---|---|
https://this-domain-does-not-exist-4711.com/ | broken | Domain does not exist (DNS lookup failed) |
https://expired.badssl.com/ | error | SSL 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
- Sitemap Extractor: all URLs of a website from its sitemaps, with lastmod
- SEO Audit: on-page SEO checks for any list of URLs
- Wayback Machine Scraper: snapshots, archived URLs and site history
- Lighthouse Audit: bulk PageSpeed, Core Web Vitals and SEO scores
All our tools: apify.com/tidelane
Impressum
Levi Griesinger, Tidelane Data
Besigheimer Straße 18
74369, Löchgau, Deutschland
E-Mail: LeviGriesinger@gmail.com