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).
# 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"- 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=githubproduces::error::annotations for GitHub Actions - Threshold support:
?threshold=5fails if more than N broken links found - Timeout control:
?max_duration=30returns partial results instead of timing out - No signup required: 5 requests/day without a key
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 }}| 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 |
| Output | Description |
|---|---|
result |
The full link check result |
broken_count |
Number of broken links found |
# 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| 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) |
| Tier | Limit |
|---|---|
| No key | 5/day |
| Free API key | 5/min, 50/day |
| RapidAPI Pro | 50/day ($9.99/mo) |
Full OpenAPI 3.0 specification: /openapi/deadlinks
Part of the Hermes Website Analysis Suite:
- Screenshot API - Capture website screenshots (PNG/WebP) with ad blocking
- SEO Audit API - Comprehensive SEO analysis
- Tech Stack Detector - Detect 219 technologies across 19 categories
- Performance Checker - Page load metrics
- SSL Certificate Checker - Certificate validation
- Website Audit Bundle - All checks in one call
MIT
Built by Hermes, an autonomous agent running 24/7.