Broken Link Checker
Pricing
from $0.60 / 1,000 links
Broken Link Checker
Find broken links and images on any website. Reads the site's pages, checks every link and image on them, and lists each broken one (404, server error, dead domain, timeout) with the pages it appears on. Also flags redirects and links that sites refuse to check.
Pricing
from $0.60 / 1,000 links
Rating
0.0
(0)
Developer
Sanira Botheju
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
What does Broken Link Checker do?
Broken Link Checker finds the links on your website that no longer work. Give it the address of a site and it reads the site's pages, collects every link and image on them, and checks each one. You get a list of the broken links (pages not found, server errors, domains that no longer exist, timeouts) together with the exact pages they appear on, so you know what to fix and where.
- Reads the pages of your site by following its own links, the way a search engine does
- Checks links to your own pages, links to other websites, and images (stylesheets, scripts, video and embedded frames on request)
- Checks each different link once, however many pages it is on, and lists up to 20 of those pages
- Separates truly broken links from links that only redirect, and from sites that refuse automated checks
- Respects
robots.txtand spaces out its requests, so it is safe to run on live sites - Saves a readable report of the broken links, page by page, next to the full results
What do you get?
For every link checked:
| Field | Example |
|---|---|
| Link | https://www.example.com/old-offer |
| Result | broken (or ok, redirected, blocked, skipped) |
| HTTP status | 404 |
| Problem | Page not found (HTTP 404) |
| Type | link or image |
| Same site | true |
| Found on | the pages that contain the link, and how many |
| Link text | the clickable text, or the image's alt text |
Three more records come with each run: a report page you can open in your browser, the broken links alone as JSON, and a summary with the counts.
How to find broken links on a website
- Enter the website under Websites, for example
https://www.example.com. - Set Maximum pages to read per website. Every page of a small site is covered by the default of 200.
- Press Start.
- When the run ends, open Broken links report on the Output tab, or export all results as Excel, CSV or JSON.
How much does it cost to check links?
You pay for links checked, not for time: $0.80 per 1,000 links. Apify subscribers on the Silver plan pay $0.70 and on the Gold plan $0.60 per 1,000 links. Each run also has a start fee of $0.00005. Reading the pages of your site is free; only the different links checked count, so a menu link that appears on every page is paid once.
| Links checked | Cost |
|---|---|
| 100 | $0.08 |
| 1,000 | $0.80 |
| 10,000 | $8.00 |
| 100,000 | $80.00 |
Apify's free plan includes $5 of credit each month, which covers about 6,000 links. Set Maximum links to check, or a maximum cost for the run in Apify Console, and the tool stops there and keeps what it has checked.
Input
The only required field is Websites. The other options:
- Maximum pages to read per website: how far the tool reads into each site.
- Maximum links to check: caps the run and its cost.
- Check links to other websites: on by default; turn it off to check only your own pages and files.
- What to check: links and images by default; add stylesheets, scripts, video and audio, or embedded frames.
- Only read pages matching and Skip pages matching: limit which pages are read, for example only
/blog/. Links found on the pages read are all checked. - Time limit per request and User-Agent under More options.
Output example
{"url": "https://www.example.com/summer-sale","result": "broken","broken": true,"status": 404,"reason": "Page not found (HTTP 404)","finalUrl": null,"redirectCount": 0,"type": "link","internal": true,"linkText": "Summer sale","nofollow": false,"foundOnCount": 3,"foundOn": ["https://www.example.com/", "https://www.example.com/shop", "https://www.example.com/blog/june"],"responseTimeMs": 182,"contentType": "text/html","site": "https://www.example.com","error": null}
What the results mean
- ok: the link works.
- redirected: the link works but goes through a redirect first. Pointing it straight at the final address (shown in
finalUrl) saves visitors a step. - broken: visitors get an error: page not found (404) or removed (410), a server error (5xx), a domain that does not exist, a server that does not answer, a certificate problem, or a link address that cannot be read at all.
- blocked: the other site refused the automated check (for example HTTP 403 or 429). Many large sites do this; the link usually works in a browser. These are listed separately so they do not hide the real problems.
- skipped: not checked because the site's
robots.txtasks programs not to, or because it points to a private network address.
What can you use it for?
- Fix broken links before visitors and search engines find them
- Check a site after a redesign, a move to a new domain or a change of addresses
- Find links to partner sites that have closed or moved
- Find missing images
- Run it on a schedule in Apify Console and get the report every week
Use it from the API
curl -X POST "https://api.apify.com/v2/acts/cyber1nj3ct0r~broken-link-checker/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.example.com"}], "maxPages": 500}'
The same works from Python, JavaScript, Make, Zapier and n8n through Apify's integrations.
FAQ
Why are some links "blocked" and not "broken"?
Some sites, often the large ones, answer automated requests with "forbidden" or "too many requests" even when the page exists. The tool reports what the site answered and does not try to get round it, so those links are marked blocked. Open them in a browser to be sure.
Does it read pages that are built by JavaScript?
It reads the HTML the server sends. Links that only appear after JavaScript runs in a browser are not seen. Most sites, including sites built with WordPress, Shopify and most site builders, send their links in the HTML.
Why was a page of my site not read?
Either the page limit was reached, your robots.txt asks programs not to read it, or it is not linked from the pages that were read. Raise the page limit, check robots.txt, or start from another page.
A site blocks the tool. What can I do?
The tool identifies itself honestly in its User-Agent and does not try to get round blocks. If it is your own site, allow the User-Agent in your firewall, or set your own under More options.
Is it allowed to check links?
The tool requests public pages the way a visitor's browser would, once per link, and follows robots.txt. You are responsible for checking only sites you are allowed to and for how you use the results.
Something does not work
Open an issue on the Issues tab with the website you tried. Every report is read and answered.