How it works
Or get JSON output for CI pipelines:
Try it now — no install
Enter any URL and get the same report the CLI produces, right in your browser.
Quick start
Zero dependencies — uses only the Python standard library. Python 3.8+ required.
Or download the full package:
What it checks
| Category | Checks |
|---|---|
| Status | HTTP status code, redirect chain |
| Core meta | Title (length), meta description (length), canonical URL, language, charset |
| Social | Open Graph (og:title, og:description, og:image, og:type), Twitter Card |
| Structured data | JSON-LD block count and @types |
| Content | Heading 1-6 outline, image alt-text coverage |
| Security | HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy |
| i18n | Language declaration, hreflang alternates |
| Score | 21-point weighted score with letter grade (A–F) and actionable penalties |
Tiers
Free
- All checks: core, social, structure, security, i18n
- Terminal report with score and grade
- JSON output for CI pipelines
- Redirect chain trace
- Zero dependencies — single Python file
Pro
- Everything in Free, plus:
- Comparison mode — diff two URLs side by side
- Batch mode — profile multiple URLs, ranked by score
- Client-ready HTML report
- Offline license — no account, no phoning home
- History tracking (free for everyone)
Free vs Pro — side by side
| Feature | Free | Pro |
|---|---|---|
| All checks (meta, social, security, i18n) | ||
| Score + grade report | ||
| JSON output for CI | ||
| Compare two URLs side by side | — | |
| Batch mode (many URLs, ranked) | — | |
| Client-ready HTML report | — | |
| Price | $0 forever | $19/year |
Pro is a one-time decision per year: offline license key, no account, no phoning home. If you audit pages for clients, the HTML report and batch mode pay for themselves on the first job.
Why use it?
- Zero dependencies — pure Python stdlib. No pip install, no npm, no Playwright. One file, any machine with Python 3.8+.
- 5-second check — faster than opening DevTools or a web auditor. Great for quick QA before publishing a page.
- CI-ready — JSON output works with jq, grep, or any pipeline. Gate deploys on a minimum score.
- Universal — works on any website (WordPress, Shopify, Next.js, static HTML — anything with a URL).
- Offline-capable — the tool has no external dependencies beyond what comes with Python.
Live example
Running against mahope.tools/:
Free JSON API
Everything the web tool does is also a public REST endpoint — no key, no signup. Fetch any page and get structured JSON back: status, meta, Open Graph, JSON-LD, headings, alt-text coverage, security headers, plus a quality score and grade.
Fair use: 30 requests per visitor per day. For unlimited local runs, use the single-file Python CLI instead — same checks, no limits. Full docs: API reference · OpenAPI spec.