Broken Link Checker
Pricing
from $0.45 / 1,000 link checkeds
Broken Link Checker
Fast, no-browser broken link checker. Extracts every link from one or more pages and checks its HTTP status, so you can catch dead links before your users or Google do. Flags internal vs. external links, with clear timeout and error reasons. Also in Full Site Health Suite.
Pricing
from $0.45 / 1,000 link checkeds
Rating
0.0
(0)
Developer
Zaden
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
A fast, no-browser broken link checker built for teams, not just one-off checks. Point it at one or more pages; it extracts every link, checks them in parallel, and hands back a per-page letter grade plus a triage-ready, severity-tagged list -- so you catch dead links before your users, your boss, or Google does.
What you get
Per page
- A letter grade (A+ to F) and 0-100 score summarizing link health at a glance
- A one-line executive summary ("3 of 42 links are broken -- review recommended")
Per link
- Status code and pass/fail, checked concurrently (configurable, up to 20 at once) so a 200-link page finishes in seconds, not minutes
- A severity tag --
critical(dead link),warning(redirects somewhere else), orok-- for instant triage in any BI tool or spreadsheet - Redirect detection with the final destination URL, and response time in milliseconds
- Anchor text, so you know exactly which piece of link copy points where
- Internal vs. external flag, with an option to skip external links entirely
Why this instead of checking manually
| Manual spot-checks | Broken Link Checker | |
|---|---|---|
| Coverage | Whatever you click | Every link on the page, automatically |
| Speed | Minutes per page | Seconds, via parallel checking |
| Triage | You guess what's urgent | Pre-classified severity + letter grade |
| Repeatability | Forgotten next sprint | One click, or schedule it |
| Output | Notes in a doc | Structured dataset, exportable to CSV/JSON/BI tools |
Who this is for
- Dev and QA teams running a pre-launch or post-migration link audit
- Content and marketing teams auditing old blog posts or resource pages
- Agencies checking a client's site health alongside an SEO audit
- Anyone wiring a scheduled link-rot regression check into their workflow
How to use it
- Add one or more pages to scan. Each page's HTML is fetched once and every link on it is checked.
- Leave check external links on (default) to check every link, or turn it off to only check links on the same domain.
- Tune concurrency (default 8) to trade speed for gentleness on slow servers, and max links per page to bound very link-heavy pages.
- Run it once for a snapshot, or schedule it to catch link rot as it happens.
Example output (one item)
{"sourceUrl": "https://example.com/","linkUrl": "https://example.com/old-page","linkText": "Read more","isExternal": false,"statusCode": 404,"ok": false,"severity": "critical","redirected": false,"finalUrl": null,"responseTimeMs": 412,"error": null,"pageTotalLinksChecked": 42,"pageBrokenLinks": 3,"pageScore": 93,"pageGrade": "A-","pageSummary": "3 of 42 link(s) are broken -- review recommended.","checkedAt": "2026-08-20T12:00:00.000Z"}
Pricing
This Actor uses pay-per-event pricing:
- Page scanned -- charged once per page URL processed (covers fetching the page and extracting its links), whether the page loaded successfully or not.
- Link checked -- charged once per unique link actually checked on a page.
You only pay for links that get checked -- if a page has fewer links than your max, or you skip external links, you pay less. Parallel checking doesn't cost more -- it just finishes faster.
FAQ
Does this render JavaScript?
No -- it reads the raw HTML response and extracts <a href> links from it, the same way a search engine's initial crawl would see the page. Links injected purely by client-side JavaScript won't be found.
Does it follow links and crawl deeper into the site? No -- this checks the links found on the pages you give it, one level deep. It's a fast link-rot check, not a full-site crawler.
What counts as "broken" vs. a "warning"?
critical means the request failed outright (non-2xx status after redirects, timeout, DNS error, connection reset). warning means the link resolved successfully but redirected somewhere else -- not broken, but often worth cleaning up (e.g. pointing links straight at the final URL).
Will higher concurrency get me rate-limited? It can, on servers with aggressive rate limiting. Start at the default (8) and lower it if you see a spike in timeouts for a particular site.
Does this send any data anywhere besides your own Apify account? No. It only makes standard HTTP requests to the pages and links you provide and returns what it finds -- no login, no third-party analytics calls.