Broken Link Checker: 404s & Dead Links w/ Status Codes avatar

Broken Link Checker: 404s & Dead Links w/ Status Codes

Pricing

from $16.00 / 1,000 page checks

Go to Apify Store
Broken Link Checker: 404s & Dead Links w/ Status Codes

Broken Link Checker: 404s & Dead Links w/ Status Codes

Broken link checker: give it a start URL, it checks every link on the page and returns the broken ones as JSON — link URL and HTTP status code. $0.02 per page checked, so cost is bounded before you run. No API key.

Pricing

from $16.00 / 1,000 page checks

Rating

0.0

(0)

Developer

Broke to Built

Broke to Built

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 days ago

Last modified

Share

Broken Link Checker

Send a page URL, get the HTTP status of every link on it and a list of the broken ones, split internal vs external.

You give itYou get backYou pay (Free plan)
One page URL or a list; caps on pages and links per pagePer page: links checked, broken count (internal/external), each broken link with its status$0.02 per page

Pay per result only: no subscription, no start fee. Paid Apify plans get Store discounts on the price above.

Try it in one click

The input form is already filled in with this example. Press Start and you get the output below.

{
"url": "https://the-internet.herokuapp.com/status_codes",
"urls": []
}

Real output from that exact input (run on 2026-09-24, unshortened). The example page is a public test page whose links deliberately return 404 and 500, so you can see what a finding looks like:

[
{
"url": "https://the-internet.herokuapp.com/status_codes",
"totalLinks": 7,
"brokenCount": 2,
"brokenInternal": 2,
"brokenExternal": 0,
"okCount": 5,
"broken": [
{
"link": "https://the-internet.herokuapp.com/status_codes/404",
"status": 404,
"internal": true
},
{
"link": "https://the-internet.herokuapp.com/status_codes/500",
"status": 500,
"internal": true
}
],
"summary": "2 broken (2 internal) of 7 links"
}
]

Find dead links on any web page — checks every outbound link's HTTP status and reports the broken ones. No API key, pay per page.

▶ Live on the Apify Store: https://apify.com/eliai/broken-link-checker — run it instantly, or call it as an agent tool via Apify MCP.

What it does

  • Extracts every outbound <a href> link on the page
  • Checks each link's HTTP status (HEAD, falling back to GET)
  • Flags broken links: 4xx/5xx, timeouts, and connection errors
  • Returns counts + the full broken-link list

Input

{ "url": "https://example.com", "maxLinks": 60 }

or bulk:

{ "urls": ["https://a.com", "https://b.com"], "maxUrls": 10 }

Output (per page)

{
"url": "https://example.com",
"totalLinks": 48,
"brokenCount": 2,
"okCount": 46,
"broken": [{ "link": "https://example.com/old", "status": 404 }],
"summary": "2 broken of 48 links"
}

Use cases

SEO maintenance, site migrations, content audits, and link-rot monitoring — by hand or wired into an agent. Pairs with our SEO & Tech Auditor.

Pricing

$0.02 per page checked — flat, billed as the page-checked event, however many links the page holds (capped by maxLinks). Measured 2026-08-07: the category's most-used actor, parseforge/broken-link-checker, charges a per-run start fee ($0.01–0.04 by plan) plus $0.0006–0.0012 per link result — on a typical 50-link page that is $0.04–0.10 versus $0.02 flat here.

FAQ

How do I find broken links on my website? Pass the page URL — every outbound <a href> is status-checked and the 4xx/5xx, timed-out, and unreachable ones come back in the broken array with their status codes.

Does it check external links or only internal ones? Both — every link on the page is checked, so you catch dead outbound references (link rot) as well as broken internal navigation.

Why do broken links matter for SEO? They waste crawl budget, leak link equity, and signal neglect to both users and search engines — link rot is one of the quietest ways old content loses rankings.

How does it check links without slowing sites down? HEAD requests first (no body transfer), falling back to GET only when a server rejects HEAD.

Can I check many pages in one run? Yes — pass an array in urls (capped by maxUrls); each page is one $0.02 charge and one result record.

A dead link is often a redirect that lost its destination — Redirect Chain Checker traces every 301/302 hop of a URL to the final status, so you can see where the chain broke instead of just that it did. Also on this account: Website SEO Tech Auditor, Sitemap Analyzer.

For AI agents

This Actor is built to be called by software, not just by people.

  • Mount it directly as an MCP tool — no Store search, no ranking, just this one tool: https://mcp.apify.com/?actors=eliai/broken-link-checker
  • Or call it over HTTP and get the results in the same request: POST https://api.apify.com/v2/acts/eliai~broken-link-checker/run-sync-get-dataset-items
  • Pay with x402, without an Apify account. This Actor is whitelisted for agentic payments, so an agent holding USDC on Base can buy a prepaid token and spend it here. The minimum purchase is $1, the token balance is an absolute spending cap, and it expires 14 days after purchase.
  • Costs are predictable before you call. Pricing is pay-per-event (see Pricing above), so an agent can budget a run in advance instead of discovering the bill afterwards.
  • Send only the field you mean. If you pass the bulk field, it is used on its own; the single-value field is a fallback, never merged into your request. You are charged for the items you sent and nothing else.

Changelog

  • 2026-09-24: The prefilled example now checks a page that really has broken links (two internal links returning 404 and 500), so the sample output shows what a finding looks like. No change to how links are checked or to the price.
  • 2026-09-24: New summary at the top of this page: what you send, what you get, the price, and a real output from the prefilled example.