Broken Link Checker - Find 404s, Dead Links & Redirects
Pricing
from $0.40 / 1,000 link checkeds
Broken Link Checker - Find 404s, Dead Links & Redirects
Crawl a website and find every broken link: 404s, 5xx, dead external links, broken images and redirect chains, with the pages each one appears on. ~$0.50/1k links checked; robots.txt-skipped links free, no login.
Pricing
from $0.40 / 1,000 link checkeds
Rating
0.0
(0)
Developer
TinyRex
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Broken Link Checker: find 404s, dead links and redirects on any website
Crawl a website and get a list of every broken link — 404 and 410 pages, 5xx server errors, dead external links, broken images, scripts and stylesheets, plus redirect chains — each with the pages it appears on and its anchor text, so you know exactly what to fix. Paste a homepage, press Start, download the list as CSV or Excel. ~$0.50 per 1,000 unique links checked; each URL is checked once however many pages link to it; robots.txt-blocked paths and links over your cap are free; no login, no browser, no monthly fee.
What you get from the Broken Link Checker
- Every problem link, ranked —
broken(4xx/5xx),error(unreachable: DNS, timeout, TLS) andblocked(401/403/429/999, usually bot protection on sites like LinkedIn) come first, sorted by how many pages contain them. - Where to fix it —
foundOnlists up to 10 pages that contain the link,foundOnCounthow many crawled pages do, plus theanchorText(or image alt) of the link. - Redirect audit — by default every redirect is reported too, with its full
redirectChain,redirectCountandfinalUrl(handy after a migration or an http→https / www switch). - Links and assets —
<a href>links plus<img>,<script>, stylesheets, favicons and<iframe>sources, internal and external, withnofollowflagged. - Run summary — the
SUMMARYrecord has per-site totals: pages crawled, links found, checked, broken, unreachable, blocked, redirects, OK.
Sample output (JSON, real run on crawlee.dev, 13 Oct 2026)
{"site": "https://crawlee.dev/","url": "https://github.com/apify/crawlee-python/tree/master/templates","status": "broken","statusCode": 404,"finalUrl": "https://github.com/apify/crawlee-python/tree/master/templates","redirectChain": [],"redirectCount": 0,"linkType": "link","isInternal": false,"nofollow": false,"anchorText": "ready-made templates","foundOn": ["https://crawlee.dev/blog/launching-crawlee-python","https://www.crawlee.dev/blog/launching-crawlee-python"],"foundOnCount": 2,"error": null,"checkedAt": "2026-10-13T07:26:19.132Z"}
Download the dataset as CSV, Excel or JSON, or send it to Google Sheets, Slack, Make, Zapier, n8n, a webhook or the Apify API. Schedule it weekly to catch new broken links before your visitors (and Google) do.
How to use the Broken Link Checker
- Paste one or more website URLs (usually the homepage). The Actor crawls pages on the same domain —
www.and the bare domain count as one site, other subdomains don't — and collects every link. - Set Max pages to crawl per site (default 50) and Max link checks per run (default 500, up to 50,000). The link-check cap is your cost cap.
- Choose What to report: problems plus redirects (default), problems only, or every link.
- Run. Your own pages and files are checked first, then external links, most-linked first, so a capped run still covers what matters most.
Example input
{"startUrls": ["https://example.com"],"maxPagesPerSite": 200,"maxLinksToCheck": 3000,"checkExternalLinks": true,"checkAssets": true,"reportMode": "problemsAndRedirects"}
Example input: internal 404s only (fast weekly check)
{"startUrls": ["https://example.com"],"maxPagesPerSite": 500,"maxLinksToCheck": 2000,"checkExternalLinks": false,"checkAssets": true,"reportMode": "problems"}
| Setting | Default | Notes |
|---|---|---|
| startUrls | (required) | Websites to crawl, one per line |
| maxPagesPerSite | 50 | Internal HTML pages crawled per site (max 5,000) |
| maxLinksToCheck | 500 | Unique links checked per run, all sites together (max 50,000) |
| checkExternalLinks | true | Also check links to other domains |
| checkAssets | true | Also check images, scripts, stylesheets, favicons, iframes |
| reportMode | problemsAndRedirects | problemsAndRedirects, problems or all |
| respectRobotsTxt | true | Skip internal paths disallowed for user-agent * |
| maxConcurrency | 10 | Requests in parallel (keep it polite) |
| requestTimeoutSecs | 15 | After this a link counts as unreachable |
How much does it cost to check broken links?
You pay $0.0005 per unique link checked (about $0.50 per 1,000), with Bronze/Silver/Gold discounts on higher Apify plans, plus a tiny Actor-start fee. A typical 50-page small-business site has 300–800 unique links, so a full check costs roughly $0.15–$0.40. Each URL is checked once per run however many pages link to it, robots.txt-blocked paths are skipped for free, and the run stops cleanly at your max-charge limit.
FAQ — Broken Link Checker
How do I find broken links on my website? Paste your homepage into Website URLs and run. The dataset lists every broken or unreachable link with the pages that contain it, so you can open each page and fix or remove the link.
What counts as a broken link? Any link whose final response is HTTP 400 or higher (404 Not Found, 410 Gone, 500, 502, 503…), plus links that can't be reached at all (DNS failure, timeout, TLS error). Links answering 401/403/429/999 are reported separately as blocked, because sites like LinkedIn or Stack Overflow refuse automated checks even when the page exists — check those by hand.
Does it follow redirects? Yes, up to 10 hops. The final status decides whether a link is OK or broken, and redirectChain shows every hop. Redirects are reported by default (switch to problems only to hide them), which gives you a ready redirect report after a site migration.
Do broken links hurt SEO? Broken internal links waste crawl budget and leak link equity, and broken pages frustrate visitors. Fixing them is one of the quickest technical SEO wins. Pair this Actor with the SEO On-Page Audit for titles, meta tags and canonicals, or the Sitemap Scraper to check every URL in your XML sitemap.
How often should I check my site for broken links? Monthly is enough for most small sites; weekly for blogs, shops and sites that link out a lot, and always right after a migration or redesign. Save your input as an Apify task and add a schedule, so a fresh list lands in your dataset (or Slack / email via an integration) automatically.
How do I fix a broken link? Open one of the foundOn pages, find the link by its anchorText, then update it to the right URL, point it at the finalUrl of a redirect, or remove it. For a deleted page of your own, add a 301 redirect to the closest live page so old links and bookmarks keep working.
Does it crawl other websites? No. It only crawls pages on the domain you enter. External links are checked with a single HEAD request (GET fallback) and never crawled.
Can I check several sites at once? Yes, add one URL per line. The link-check cap applies to the whole run.
Is it a JavaScript crawler? No, it reads the HTML your server sends (fast and cheap). Links injected only by client-side JavaScript aren't seen.
Legal and politeness
The Actor fetches only public pages on the website you supply, respects robots.txt by default, runs at modest concurrency and never logs in or bypasses paywalls. It collects link URLs and HTTP status codes, not personal data. Use it on sites you own or are allowed to audit.
More tools from TinyRex
- SEO On-Page Audit — titles, meta, H1, canonical, hreflang, Open Graph and schema for a list of URLs
- Sitemap Scraper — every URL in a site's XML sitemaps, with status checks
- Tech Stack Detector — CMS, frameworks, analytics and hosting behind any website
- Contact Details Extractor — emails, phones and social profiles from a domain list
Questions or a site that fails? Open an issue on the Actor's Issues tab and I'll look at it.