Broken Link Checker
Pricing
Pay per usage
Broken Link Checker
Crawl a website and find every broken link (404/500/timeouts) with the source page where each was found. Internal + external. Great for SEO & QA audits.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Mehmet Kut
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Crawl any website and find every broken link (404, 500, timeouts, dead external links) โ with the exact source page where each one was found. Essential for SEO health and user experience.
๐ฏ What it does
- Crawls internal pages (same hostname) up to your page limit
- Checks every link on each page โ internal and external
- Reports broken links (4xx / 5xx / connection failures) with:
- The broken URL
- HTTP status code (or error message)
- The source page where the link was found
- Whether it's internal or external
- Smart HEAD โ GET fallback for servers that reject HEAD requests
๐ก Use cases
- SEO audits โ broken links hurt rankings and crawl budget
- QA / pre-launch checks โ catch dead links before users do
- Content maintenance โ find outbound links that have rotted
- Migration validation โ verify no links broke after a site move
๐ฅ Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Pages to start crawling from |
maxPages | integer | Max internal pages to crawl (default 200) |
checkExternal | boolean | Also check links to other domains (default true) |
maxConcurrency | integer | Parallel page crawls (default 20) |
useProxy | boolean | Route via Apify Proxy (default true) |
Example input
{"startUrls": ["https://example.com"],"maxPages": 500,"checkExternal": true}
๐ค Output
{"brokenUrl": "https://example.com/old-page","statusCode": 404,"foundOnPage": "https://example.com/blog","isExternal": false,"checkedAt": "2026-07-04T21:00:00.000Z"}
A run summary (total broken links + total links checked) is stored in the key-value store under SUMMARY.
โก Performance
HTTP-based โ no browser overhead. Deduplicates links globally so each URL is only checked once, even across thousands of pages.