{
  "markdown": "# @webanalyzer/cli\n\nOfficial SDK + CLI for [webanalyzer.dev](https://webanalyzer.dev) — score any public web\npage **0–100** across 8 quality dimensions (SEO, GEO/AI readiness, performance,\naccessibility, code quality, UI/UX, data & tracking, security) from **290+ deterministic\nchecks**. Free, keyless, no signup.\n\n## CLI\n\n```bash\nnpx @webanalyzer/cli https://example.com\n```\n\nOr install it globally and use the short command:\n\n```bash\nnpm i -g @webanalyzer/cli\nwebanalyzer https://example.com\n```\n\n```\n 62/100  grade C  https://example.com/\n\n   71  SEO\n   55  AI readiness\n   …\n\ntop issues:\n  - [SEO] Meta description missing\n```\n\n`webanalyzer leaderboard` shows the public leaderboard; `--json` prints raw API output.\n\n## SDK\n\n```js\nimport { analyze, leaderboard } from \"@webanalyzer/cli\";\n\nconst report = await analyze(\"https://example.com\");\nconsole.log(report.score, report.grade); // e.g. 62 \"C\"\n```\n\nZero dependencies, Node 18+. Errors throw `WebAnalyzerError` with a stable `.code`\n(`rate_limited`, `fetch_failed`, `blocked_host`, …).\n\n## Notes\n\n- The API is rate-limited per IP (8 analyses/min) and returns standard `RateLimit-*` headers.\n- Scores use a deliberately demanding curve with critical caps — a 70 is a good site. Not\n  comparable with linear percentage graders.\n- OpenAPI spec: <https://webanalyzer.dev/openapi.json> · docs: <https://webanalyzer.dev/developers>\n- MCP server for AI agents: `https://mcp.webanalyzer.dev` (`mcpName: dev.webanalyzer/webanalyzer`)\n\nMIT © Eduardo Gil\n",
  "bytes": 1501,
  "sha": "7c3c3ddcad1849283ef6ca74751991c969589d2f8dff826e67b5a39dafedb8fc",
  "repo_slug": "gechu03/webanalyzer-js",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_dev_webanalyzer_webanalyzer_206a2427/readme"
}