Website Analysis APIs

8 free REST APIs. JSON responses. No signup required.

Try it now — click any link:

Check example.com for broken links

Audit example.com SEO

Capture screenshot of example.com (returns PNG image)

Detect dev.to tech stack

Check github.com SSL certificate

Check all links in astral-sh/ruff README (new!)

All APIs return JSON (except screenshot → PNG). No API key needed for basic use.

API Playground

All APIs accept GET requests with query parameters and return JSON. Rate limits apply to direct access — for higher limits, use RapidAPI (free tier available).

Endpoints

GET /api/deadlinks?url={url} v2.5

Scan a webpage for broken links. Returns all links found with HTTP status codes, redirect chains, and broken link summary. Supports CI/CD integration with native GitHub Actions annotations.

Parameters

ParamValuesDescription
urlstringURL to check (or use github instead)
githubowner/repoCheck all links in a GitHub README.md
modequick | fullquick: sub-second, single page. full: deep crawl with browser.
formatjson | csv | github | markdowngithub: Actions annotations. markdown: formatted report for PR comments.
thresholdintegerMax broken links before "pass": false. Use for CI/CD gating.
check_onlyinternal | externalFilter by link type
max_pagesintegerMax pages to crawl (full mode only)

Examples

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

# GitHub Actions annotations for CI/CD
curl "https://51-68-119-197.sslip.io/api/deadlinks?url=https://example.com&mode=quick&format=github"

# Fail if any broken links (CI/CD gating)
curl "https://51-68-119-197.sslip.io/api/deadlinks?url=https://example.com&mode=quick&threshold=0"

# Markdown report for PR comments
curl "https://51-68-119-197.sslip.io/api/deadlinks?url=https://example.com&mode=quick&format=markdown"

# Check all links in a GitHub README
curl "https://51-68-119-197.sslip.io/api/deadlinks?github=astral-sh/ruff&threshold=0"

Try it interactively → | GitHub Actions guide → | OpenAPI spec | RapidAPI

GET /api/seo?url={url}

Audit a webpage's SEO. Checks title, meta description, headings hierarchy, image alt text, canonical tags, Open Graph tags, robots directives, and more.

Example

curl "https://51-68-119-197.sslip.io/api/seo?url=https://example.com"

Try it interactively → | OpenAPI spec | RapidAPI

GET /api/screenshot?url={url}

Capture screenshots of any URL as PNG, JPEG, WebP, or PDF. 20 device presets, dark mode, retina 3x, ad blocking, custom JS, region cropping. Rendered with Playwright/Chromium.

Parameters

urlURL to capture (required)
formatpng, jpeg, webp, pdf (default: png)
viewportDevice preset: mobile, tablet, desktop, desktop_hd, macbook, iphone_14, pixel_7, ipad_pro, og, twitter, linkedin
width/heightViewport size (max 3840x2160)
full_pagetrue/false — capture entire page
dark_modetrue/false — dark color scheme
scale1, 2, 3 — retina scaling
selectorCSS selector for element capture
clipCrop region: x,y,width,height (e.g. 0,0,800,400)
delayWait in ms (max 10000, 30000 with API key)
qualityJPEG/WebP quality 1-100
block_adstrue/false — block ads, trackers, cookie banners
jsCustom JavaScript to run before capture (max 2000 chars)
wait_forCSS selector to wait for before capture (SPA support)
http_username/http_passwordHTTP Basic Auth (requires API key)
accept_language / langBrowser language for localized captures (e.g. fr-FR, de-DE, ja-JP)

Examples

# Basic screenshot
curl "https://51-68-119-197.sslip.io/api/screenshot?url=https://example.com" -o screenshot.png

# WebP (49% smaller), dark mode, retina 2x
curl "https://51-68-119-197.sslip.io/api/screenshot?url=https://example.com&format=webp&dark_mode=true&scale=2" -o dark.webp

# Mobile viewport preset
curl "https://51-68-119-197.sslip.io/api/screenshot?url=https://example.com&viewport=mobile" -o mobile.png

# PDF export (vector document)
curl "https://51-68-119-197.sslip.io/api/screenshot?url=https://example.com&format=pdf" -o page.pdf

# Clean screenshot: block ads, crop hero section
curl "https://51-68-119-197.sslip.io/api/screenshot?url=https://example.com&block_ads=true&clip=0,0,1280,400" -o hero.webp

Try it interactively → | OpenAPI spec | Compare APIs → | RapidAPI

POST /api/html2image

Convert HTML & CSS to PNG, JPEG, or WebP images. Send HTML as POST body. Perfect for OG images, social cards, certificates, invoices. Full Chromium rendering.

Parameters (query string)

formatpng, jpeg, webp (default: png)
width/heightViewport size (default 800x600, max 1920x1080)
scale1, 2, 3 — retina scaling
qualityJPEG/WebP quality 1-100
dark_modetrue/false — dark color scheme

Examples

# Basic HTML to PNG
curl -X POST -d '<h1 style="color:red">Hello World</h1>' "https://51-68-119-197.sslip.io/api/html2image" > output.png

# OG Image (1200x630, WebP)
curl -X POST -d '<div style="background:#1a1a2e;padding:40px;text-align:center"><h1 style="color:white">My Article</h1></div>' \
  "https://51-68-119-197.sslip.io/api/html2image?format=webp&width=1200&height=630" > og.webp

Try it interactively → | OpenAPI spec

POST /api/screenshot/batch API KEY REQUIRED

Capture up to 10 URLs in a single request. Returns base64-encoded images in JSON. Perfect for dashboard monitoring, competitive analysis, and automated reporting.

Example

curl -X POST "https://51-68-119-197.sslip.io/api/screenshot/batch" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{"urls":["https://example.com","https://example.org"],"format":"webp"}'

Parameters: urls (array, 1-10), format (png/jpeg/webp), width, height, full_page, delay, block_ads

Rate limit: 2 batch requests per minute per API key.

GET /api/perf?url={url}

Measure page load performance. Returns TTFB, total load time, content size, response headers, redirect chain, and server timing.

Example

curl "https://51-68-119-197.sslip.io/api/perf?url=https://example.com"

Try it interactively → | OpenAPI spec

GET /api/techstack?url={url}

Detect the technology stack of any website. Identifies frameworks, CMS, analytics, CDNs, and JavaScript libraries from HTTP headers and HTML content.

Example

curl "https://51-68-119-197.sslip.io/api/techstack?url=https://dev.to"

Try it interactively → | OpenAPI spec

GET /api/ssl?domain={domain}

Check SSL/TLS certificate details. Returns validity, expiry date, issuer, Subject Alternative Names, protocol version, cipher suite, and connection time.

Example

curl "https://51-68-119-197.sslip.io/api/ssl?domain=github.com"

Try it interactively → | OpenAPI spec

GET /api/audit?url={url}&seo={true|false}

Comprehensive website audit combining tech stack detection, SSL certificate check, and performance metrics in a single API call. Add seo=true for a full browser-based SEO audit (adds ~5s).

Example

curl "https://51-68-119-197.sslip.io/api/audit?url=https://example.com"

# With full SEO audit
curl "https://51-68-119-197.sslip.io/api/audit?url=https://example.com&seo=true"

Try it interactively → | OpenAPI spec

GET /api/health

Health check endpoint. Returns server status, uptime, and a directory of all available API endpoints. Useful for monitoring and service discovery.

Example

curl "https://51-68-119-197.sslip.io/api/health"

Returns: status, uptime_seconds, uptime_human, apis (all endpoints), docs, pricing

Rate Limits

APINo keyFree API keyRapidAPI Pro ($9.99/mo)
Dead Link Checker1 per 30 min5/min, 50/day50/day
SEO Audit1 per 5 min5/min, 50/day100/day
Screenshot2 per min5/min, 50/day200/day
Performance2 per min5/min, 50/day200/day
Tech Stack1 per 2 min5/min, 50/day100/day
HTML to Image2 per min5/min, 50/day200/day
SSL Check5 per min5/min, 50/day
Audit Bundle1 per 2 min5/min, 50/day

API Keys (Direct Access)

Get a free API key for better rate limits (5 req/min, 50/day) and clean JSON responses (no promo notices):

Get a Free API Key — instant, no signup:

# Or via command line:
curl -X POST -H "Content-Type: application/json" -d '{"email":"you@example.com"}' \
  "https://51-68-119-197.sslip.io/api/keys"

# Use it with any API endpoint
curl -H "X-API-Key: hk_your_key_here" "https://51-68-119-197.sslip.io/api/ssl?domain=github.com"

# Check your key status
curl "https://51-68-119-197.sslip.io/api/keys?action=info&key=hk_your_key_here"
TierPriceRate LimitDailyMonthly
Free$05/min50500
Pro$9.99/mo30/min1,00010,000
Ultra$29.99/mo60/min5,00050,000

Free keys available instantly. For Pro/Ultra keys, contact hermes-agent@agentmail.to

Response Format

All APIs return JSON. Unauthenticated responses include a _notice field with usage information. Authenticated requests (with API key) return clean JSON.

// Unauthenticated
{
  "url": "https://example.com",
  "results": { ... },
  "_notice": "Direct API access is rate-limited. Get higher limits via RapidAPI."
}

// Authenticated (with X-API-Key header)
{
  "url": "https://example.com",
  "results": { ... }
}

// Error
{
  "error": "Missing required parameter: url"
}

OpenAPI Specifications

Machine-readable API specs available for all endpoints:

GET /openapi/deadlinks  — Dead Link Checker v2.5
GET /openapi/seo        — SEO Audit v1.0
GET /openapi/screenshot — Screenshot Capture v2.0
GET /openapi/perf       — Performance Checker v1.0
GET /openapi/techstack  — Tech Stack Detector v1.0
GET /openapi/ssl        — SSL Certificate Checker v1.0
GET /openapi/html2image — HTML to Image v1.0
GET /openapi/audit      — Website Audit Bundle v1.0

Also available: Postman Collection | apis.json

Embeddable Site Health Widget

Add a live broken-link status widget to any webpage:

<script src="https://51-68-119-197.sslip.io/widget.js"
        data-hermes-url="https://your-site.com"
        data-theme="dark"></script>

Options: data-theme="light" or "dark" (default). Widget loads asynchronously and checks your site for broken links.

Need higher rate limits?

Get a free API key →

Or use RapidAPI →

Free tier available. Pro plans from $9.99/mo.