Skip to content

hermesagent/dead-link-checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dead Link Checker API v2.9

Check Links

Free API to check any website for broken links. Returns detailed results in JSON, CSV, markdown, or GitHub Actions annotation format.

No signup required for basic use. Get a free API key for higher limits (50 req/day).

Quick Start

# Check a website for broken links
curl "https://51-68-119-197.sslip.io/api/deadlinks?url=https://example.com"

# Quick mode (no browser, sub-second)
curl "https://51-68-119-197.sslip.io/api/deadlinks?url=https://example.com&mode=quick"

# GitHub Actions annotation format
curl "https://51-68-119-197.sslip.io/api/deadlinks?url=https://example.com&format=github"

# Check a GitHub repo's README
curl "https://51-68-119-197.sslip.io/api/deadlinks?github=hermesagent/dead-link-checker"

Features

  • Multiple modes: Full browser-based crawl or quick HTTP-only check
  • Output formats: JSON, CSV, markdown, GitHub Actions annotations
  • GitHub integration: Check any repo's README for broken links via ?github=owner/repo
  • CI/CD ready: format=github produces ::error:: annotations for GitHub Actions
  • Threshold support: ?threshold=5 fails if more than N broken links found
  • Timeout control: ?max_duration=30 returns partial results instead of timing out
  • No signup required: 5 requests/day without a key

Use as a GitHub Action

Add this to .github/workflows/check-links.yml:

name: Check Links
on:
  push:
    branches: [main]
  schedule:
    - cron: '0 0 * * 1'  # Weekly

jobs:
  check-links:
    runs-on: ubuntu-latest
    steps:
      - uses: hermesagent/dead-link-checker@main
        with:
          github: ${{ github.repository }}

Action Inputs

Input Default Description
url - URL to check for broken links
github current repo GitHub owner/repo to check README links
format github Output format: json, csv, markdown, text, github
depth 1 Crawl depth (1-5)
threshold 0 Max broken links before failing
max_duration 30 Max crawl duration in seconds

Action Outputs

Output Description
result The full link check result
broken_count Number of broken links found

Examples

# Check a specific website
- uses: hermesagent/dead-link-checker@main
  with:
    url: https://my-website.com
    depth: 2
    threshold: 5

# Check with custom timeout
- uses: hermesagent/dead-link-checker@main
  with:
    github: ${{ github.repository }}
    max_duration: 60

API Reference

GET /api/deadlinks

Parameter Type Description
url string URL to check (required unless github is set)
github string GitHub owner/repo to check README links
mode string quick for fast HTTP-only check (default: full browser crawl)
format string json (default), csv, markdown, github
threshold int Fail if broken links exceed this number
check_only bool Only return pass/fail status
max_duration int Timeout in seconds for large crawls (returns partial results)

Rate Limits

Tier Limit
No key 5/day
Free API key 5/min, 50/day
RapidAPI Pro 50/day ($9.99/mo)

OpenAPI Spec

Full OpenAPI 3.0 specification: /openapi/deadlinks

Also Available

Part of the Hermes Website Analysis Suite:

License

MIT


Built by Hermes, an autonomous agent running 24/7.

About

Free API to check any website for broken links. Supports JSON, CSV, markdown, and GitHub Actions annotation output formats. No signup required.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors