Broken Link Checker & SEO Crawler: 404s, Images, Redirects avatar

Broken Link Checker & SEO Crawler: 404s, Images, Redirects

Pricing

from $2.00 / 1,000 crawled pages

Go to Apify Store
Broken Link Checker & SEO Crawler: 404s, Images, Redirects

Broken Link Checker & SEO Crawler: 404s, Images, Redirects

Crawl a website and find every broken link (404s), dead external link, missing image, script or stylesheet, with the pages they appear on and the anchor text. Respects robots.txt. Priced per page crawled, not per link: $2 per 1,000 pages.

Pricing

from $2.00 / 1,000 crawled pages

Rating

0.0

(0)

Developer

WebIntel Tools

WebIntel Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Broken Link Checker: Find 404s, Dead Links, Broken Images & Redirects

Crawls your website and lists every broken link, missing image, dead script or stylesheet and dead external link, each with the pages it appears on and its anchor text, so you know exactly what to fix.

Priced per page crawled, not per link. A typical page has 50–150 links, so this costs far less than per-link checkers.

What you can use it for

  • SEO cleanup: find every internal 404 and dead external link before Google does, with the exact page and anchor text to fix.
  • Website migrations: crawl the new site after a redesign or CMS move and catch links that still point to old URLs.
  • Agencies: run a link audit for every client site on a monthly schedule and send the CSV to the content team.
  • Content teams and blogs: find outbound links that rotted over the years (404, DNS errors, timeouts).
  • QA before launch: check that images, scripts, stylesheets and iframes all load.

How to use it

  1. Add your site under Start URLs (you can add several sites; each is crawled separately).
  2. Set Max pages per site to cap the crawl and the cost.
  3. Click Start.
  4. Open the results: one row per broken or blocked URL, with foundOn pages. Export to CSV or Excel.

Features

  • Stays on your domain (optionally includes subdomains) and follows internal links up to a depth limit.
  • Checks <a> links, <img>, <script>, stylesheets, icons, <iframe>, <video>/<audio> sources, and external links.
  • Verdicts: broken (4xx/5xx, DNS error, timeout), blocked (401/403/429: the server refused the checker, so the link may still work in a browser) and ok.
  • Sends a HEAD request first and confirms with GET, which avoids false 404s from servers that mishandle HEAD. Each URL is checked only once per run.
  • Polite by design: always respects robots.txt, allows at most 2 parallel requests per external host, and backs off on 429.
  • Writes a summary record to the key-value store (SUMMARY): pages crawled, links checked, broken, blocked.

Input

{ "startUrls": [{"url": "https://example.com"}], "maxPagesPerSite": 200, "checkExternalLinks": true, "checkResources": true }
FieldDefaultMeaning
startUrls–One or more sites (each is crawled separately)
maxPagesPerSite200Upper limit on pages crawled, and so on cost
checkExternalLinkstrueVerify links to other domains
checkResourcestrueVerify images, scripts, CSS, iframes and media
includeWorkingLinksfalseAlso output working links
includeSubdomainsfalseTreat blog.example.com as internal
maxDepth / maxConcurrency / timeoutSecs10 / 5 / 15Advanced

Output (one item per broken or blocked URL)

{
"verdict": "broken", "status": 404, "url": "https://example.com/old-pricing",
"resourceType": "link", "internal": true,
"foundOn": ["https://example.com/", "https://example.com/blog/launch"],
"anchorTexts": ["See pricing"], "error": null, "site": "https://example.com/"
}

Export as CSV or Excel and hand it to whoever edits the site, or schedule a weekly run and get notified only when broken > 0.

Pricing

Pay per event, no monthly rent: $0.002 per page crawled ($2.00 per 1,000).

ExampleCost
200 pages (a small site)$0.40
1,000 pages$2.00
10,000 pages$20.00

You can set a maximum cost per run in the run options; the Actor stops cleanly when it is reached. New to Apify? The free plan includes $5 of platform credit every month, so you can try this Actor at no cost.

API, integrations and AI agents (MCP)

Run it from your own code with the Apify API and get the results in one call:

curl -X POST "https://api.apify.com/v2/acts/manageable_gully~broken-link-checker/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" -d @input.json
from apify_client import ApifyClient
run = ApifyClient("<YOUR_APIFY_TOKEN>").actor("manageable_gully/broken-link-checker").call(run_input={...})
  • No-code: use the Apify app in n8n, Make or Zapier ("Run Actor", then "Get dataset items"), or send results to Google Sheets, Slack or a webhook.
  • AI agents (MCP): add https://mcp.apify.com?tools=manageable_gully/broken-link-checker to Claude, Cursor, VS Code or any MCP client and the agent can call this Actor as a tool.
  • Schedules: run it hourly, daily or weekly from Apify Console.

FAQ

Is it priced per link? No. You pay per page crawled ($0.002). All links and resources on that page are checked at no extra cost, so a page with 150 links still costs $0.002.

Can it check a list of URLs without crawling? Set maxDepth to 0 to check only the links found on your start pages.

Why "blocked" instead of "broken"? Sites such as LinkedIn, Amazon and GitHub often refuse automated checkers (403/429). Those links usually work for people, so they are listed separately to avoid false alarms.

Does it run JavaScript? No. It reads server-rendered HTML, which is fast and cheap. Links that only appear after client-side JS runs are not discovered.

Can I check someone else's site? Only public pages, and only what robots.txt allows. The Actor never logs in or submits forms.

Can AI agents use it? Yes. It is available as a tool through the Apify MCP server (https://mcp.apify.com?tools=manageable_gully/broken-link-checker) and the Apify API, and it returns structured JSON that agents can read directly.

More tools from WebIntel Tools

See all WebIntel Tools Actors.

Made by WebIntel Tools. This Actor was built and is maintained with AI assistance. Report issues on the Issues tab; they are monitored daily.