Broken Link Checker avatar

Broken Link Checker

Pricing

from $8.00 / 1,000 results

Go to Apify Store
Broken Link Checker

Broken Link Checker

Find broken website links. No API key / no login. Open Input → leave defaults → Start (1 start URL + shallow crawl ≈ USD 0.008/row): https://console.apify.com/actors/TtS6DPpMnIiaKnVcI/input

Pricing

from $8.00 / 1,000 results

Rating

0.0

(0)

Developer

naoki anzai

naoki anzai

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

an hour ago

Last modified

Share

What you get: one row per crawled page with the list of broken links found on it (target URL, status code, anchor text), starting from your URLs and following internal links up to maxDepth / maxPages.

Sample output from a real run (2026-10-18, default input: https://example.com, 1 row):

urlstatusbrokenLinkscheckedAt
https://example.comsuccess[] (no broken links)2026-10-18T11:49:39Z

That run was one Actor start ($0.001) + 1 page row × $0.008 = $0.009. Every crawled page is one billable row, including pages with no broken links, so maxPages is your cost cap.

Open Input (leave defaults → Start) Paid first-run JSON ≈ USD 0.008/row (1 start URL + shallow crawl). Keep reports, exports, and movement options bounded for the first run. Open Console Input (deep link above) and run this JSON.

{
"startUrls": [
"https://example.com"
],
"maxDepth": 1,
"maxPages": 5,
"concurrency": 1,
"checkExternal": false,
"timeoutMs": 10000,
"delivery": "dataset",
"webhookUrl": "",
"dryRun": false
}

Paste start URL and Start.

Run the next report

SEO teams, web operations, agencies, and content QA teams use this actor to turn Public websites supplied by the user into a clean dataset for Site QA & Content Intelligence Pack. Provide focused source inputs, keep the first run small, and expand only after the output shape is useful. Each emitted row includes source context, timestamps, and fields designed for monitoring, QA, research, or workflow handoff.

Store Quickstart

Start with one domain and a shallow crawl depth, then expand depth and URL limits after the first broken-link report is useful.

Recommended first run:

{
"startUrls": [
"https://example.com"
],
"maxDepth": 1,
"maxPages": 100,
"delivery": "dataset",
"dryRun": false
}

Use with Apify MCP

Exact actor: taroyamada/broken-link-checker

Sample input JSON:

{
"startUrls": [
"https://example.com"
],
"maxDepth": 1,
"maxPages": 5,
"concurrency": 3,
"checkExternal": true,
"timeoutMs": 10000,
"delivery": "dataset"
}

Input examples

Shallow crawl

{
"startUrls": [
"https://example.com"
],
"maxDepth": 1,
"maxPages": 100,
"delivery": "dataset",
"dryRun": false
}
{
"startUrls": [
"https://example.com"
],
"checkExternal": true,
"maxDepth": 2,
"maxPages": 20,
"delivery": "dataset",
"dryRun": false
}

Webhook audit

{
"startUrls": [
"https://example.com/docs"
],
"maxDepth": 1,
"delivery": "webhook",
"webhookUrl": "https://example.com/webhook",
"dryRun": false
}

Input Examples

{
"startUrls": [
"https://example.com"
],
"maxDepth": 1,
"maxPages": 1
}

Example: Small site crawl

{
"startUrls": [
"https://example.com"
],
"maxDepth": 2,
"maxPages": 20,
"concurrency": 3
}
{
"startUrls": [
"https://example.com"
],
"maxDepth": 2,
"maxPages": 10,
"checkExternal": false
}

Sample output

Row from the real run above:

{
"url": "https://example.com",
"brokenLinks": [],
"checkedAt": "2026-10-18T11:49:39.829Z",
"status": "success",
"chargedEvent": "apify-default-dataset-item"
}

Output fields

  • url — page that was crawled
  • brokenLinks — broken links found on that page (target URL, status code or error, anchor text)
  • status — success, or an error class when the page itself could not be fetched
  • error — fetch error, if any
  • checkedAt — when the page was checked

Pricing and no-change runs

$0.001 per Actor start and $0.008 per crawled page row. Pages with no broken links are still one row, so set maxPages to the number of pages you want to pay for.

The default dataset is the billable surface. Dry runs, validation-only runs, missing-key warnings, and unchanged recurring polls should not write payable default-dataset rows.

Compliance guardrails

  • Crawl only supplied public sites with reasonable limits.
  • Use for technical SEO, QA, and maintenance workflows.
  • Do not use aggressive crawl settings against sites you do not control.
  • Do not use provider emblems or wording that implies approval by an upstream data provider.

See also