seoscoreapi
v1.3.1
Published
Node.js client for SEO Score API — audit any URL for SEO issues with one function call
Maintainers
Readme
seoscoreapi
Node.js client for SEO Score API — audit any URL for SEO issues with one function call. 82 checks across SEO, performance, accessibility, and AI readability, returned as scored JSON.
Install
npm install seoscoreapiQuick Start
const { signup, audit } = require("seoscoreapi");
// Get a free API key (2 audits/day, no credit card)
const key = await signup("[email protected]");
// Run an audit
const result = await audit("https://example.com", key);
console.log(`Score: ${result.score}/100 (${result.grade})`);Functions
| Function | Description |
|---|---|
| signup(email) | Get a free API key |
| audit(url, apiKey) | Run an SEO audit on a URL |
| batchAudit(urls, apiKey) | Audit up to 10 URLs in one call (paid) |
| compare(urls, apiKey) | Compare 2–5 URLs with a structured diff (Basic+) |
| competitiveAudit(url, competitorUrl, keyword, apiKey) | Head-to-head audit with gap score (Pro+) |
| history(url, apiKey, opts) | Full audit timeseries for a URL (Starter+) |
| historyDomains(apiKey) | Every audited domain with latest score and 30-day trend (Starter+) |
| usage(apiKey) | Check usage and limits |
| addMonitor(url, apiKey, opts) | Set up score monitoring with optional Slack/webhook alerts (paid) |
| scoreboardOptOut(apiKey, optOut) | Opt in or out of the public scoreboard |
| reportUrl(domain) | Get a shareable report URL |
CI/CD quality gate
Fail a build when a page regresses below your SEO score threshold:
const { audit } = require("seoscoreapi");
const { score } = await audit(process.env.DEPLOY_URL, process.env.SEO_API_KEY);
if (score < 85) {
console.error(`SEO score ${score} is below the 85 threshold`);
process.exit(1);
}See the SEO Checker API guide for the full CI/CD pattern, or the official GitHub Action.
Webhook alerts on score drops
await addMonitor("https://example.com", key, {
frequency: "daily",
webhookUrl: "https://hooks.slack.com/services/T0/B0/xxxx",
alertThreshold: 5,
});Slack incoming-webhook URLs are auto-formatted as Block Kit messages; any other https endpoint receives the raw event JSON.
Full Documentation
- API docs: seoscoreapi.com/docs
- SEO Audit API: seoscoreapi.com/seo-audit-api
- SEO Monitor API: seoscoreapi.com/seo-monitor-api
Part of SEO Score API — instant SEO audits via API.
License
MIT
