Quick Start

Scan a single URL

deadfinder url https://www.example.com

The terminal shows discovered links and their status:

▶ Fetching https://www.example.com
  ● Discovered 12 URLs, currently checking them. [anchor:8 / link:4]
  ├── ✓ [200] https://www.example.com/about
  ├── ✘ [404] https://www.example.com/old-page
  └── ● Task completed

Exit code is 0 even when dead links exist — parse the output to make a build pass/fail decision.

Structured output

Write JSON to a file:

deadfinder url https://www.example.com -o output.json
cat output.json
{
  "https://www.example.com": [
    "https://www.example.com/old-page"
  ]
}

YAML, TOML, CSV, and SARIF are available via -f <format>. See Output formats.

Scan a sitemap

deadfinder sitemap https://www.example.com/sitemap.xml -o results.json

Scan many URLs

From a file:

cat > urls.txt <<'EOF'
https://www.example.com
https://docs.example.com
EOF

deadfinder file urls.txt -o results.json

From STDIN:

printf 'https://www.example.com\nhttps://docs.example.com\n' \
  | deadfinder pipe -o results.json

Coverage report

--coverage adds a per-target summary with dead-link percentage:

deadfinder sitemap https://www.example.com/sitemap.xml --coverage -o results.json

Optionally render a PNG chart:

deadfinder sitemap https://www.example.com/sitemap.xml --coverage --visualize report.png

Next