SEO Audit API for Developers: Complete Guide
The SEO Score API is a REST API that runs a full technical SEO audit on any URL and returns a structured JSON response with a score, grade, and prioritized list of issues — covering meta tags, performance, accessibility, structured data, and AI readiness in a single call.
What is the SEO Score API?
The SEO Score API performs instant, headless-browser-backed audits across 54 checks and returns structured results in under 5 seconds. There's no scraping to manage, no Playwright setup required on your end, and no rate-limit gymnastics — just a single GET request per URL. It's designed for developers who want to add SEO intelligence to their applications, dashboards, or CI/CD pipelines without building the audit engine themselves.
How does authentication work?
Every request must include your API key in the X-API-Key header:
curl "https://seoscoreapi.com/audit?url=https://example.com" \
-H "X-API-Key: YOUR_KEY_HERE"
You can get a free key (5 audits/day) at seoscoreapi.com/#signup — no credit card required. Paid plans start at $5/mo for 200 audits/month.
The /audit Endpoint
GET /audit?url={url}
Response example
{
"url": "https://example.com",
"score": 74,
"grade": "B",
"priorities": [
{
"severity": "critical",
"issue": "Missing meta description",
"recommendation": "Add a 120–165 character meta description tag."
},
{
"severity": "warning",
"issue": "Page load time 2.8s",
"recommendation": "Optimize images and enable compression to get below 2s."
}
],
"audit": {
"meta": { "title": "pass", "description": "fail", "canonical": "pass" },
"performance": { "load_time_ms": 2800, "compression": "pass" },
"accessibility": { "lang": "pass", "alt_tags": "warning" },
"structured_data": { "json_ld": "pass", "og_tags": "pass" },
"ai_readiness": { "robots_ai": "fail", "llms_txt": "fail" }
}
}
Python SDK Example
Install the SDK:
pip install seoscoreapi
Run an audit in 5 lines:
from seoscoreapi import audit, signup
api_key = signup("you@example.com") # one-time free key creation
result = audit("https://example.com", api_key=api_key)
print(f"Score: {result['score']}/100 ({result['grade']})")
Iterate over issues:
for issue in result["priorities"]:
print(f"[{issue['severity'].upper()}] {issue['issue']}")
print(f" Fix: {issue['recommendation']}")
JavaScript / curl Examples
Node.js (fetch):
const response = await fetch(
"https://seoscoreapi.com/audit?url=https://example.com",
{ headers: { "X-API-Key": "YOUR_KEY_HERE" } }
);
const data = await response.json();
console.log(`Score: ${data.score}/100 (${data.grade})`);
curl with jq:
curl -s "https://seoscoreapi.com/audit?url=https://example.com" \
-H "X-API-Key: YOUR_KEY" | jq '{score, grade, issues: .priorities | length}'
The 5 Audit Categories
| Category | What it covers | Example checks |
|---|---|---|
| Meta | On-page SEO fundamentals | Title tag, meta description, canonical, robots meta |
| Performance | Speed and delivery signals | Load time, compression, render-blocking scripts |
| Accessibility | Usability and standards | lang attribute, image alt text, heading structure |
| Structured Data | Rich result eligibility | JSON-LD presence, Open Graph tags, schema types |
| AI Readiness | LLM discoverability | AI bot access in robots.txt, llms.txt, SSR, fact density |
On paid plans (Starter and above), three additional scoring dimensions are returned: SXO (search experience), AEO (answer engine eligibility), and AIO (AI optimization) — each with their own score, grade, and check breakdown.
Error Handling
| Status | Meaning | Action |
|---|---|---|
401 Unauthorized |
Missing or invalid API key | Check the X-API-Key header value |
422 Unprocessable Entity |
Invalid or missing URL parameter | Ensure url is a valid, fully-qualified URL |
429 Too Many Requests |
Rate limit or daily quota exceeded | Back off and retry, or upgrade your plan |
All error responses include a JSON body with a detail field explaining the specific problem.
Get Started
- Free key — Sign up here for 5 audits/day, no credit card
- Python SDK —
pip install seoscoreapi - npm SDK —
npm install seoscoreapi - Paid plans — start at $5/mo for 200 audits/month at seoscoreapi.com/#pricing
Frequently Asked Questions
What is the SEO Score API?
The SEO Score API is a REST API that runs instant technical SEO audits on any URL using a headless browser. It returns a structured JSON response with a 0–100 score, letter grade, and prioritized issue list covering 54 checks across meta, performance, accessibility, structured data, and AI readiness.
How do you authenticate with the SEO Score API?
Authentication uses an X-API-Key header on every request. Get a free key at seoscoreapi.com — it gives you 5 audits per day with no credit card required. Paid plans starting at $5/mo increase limits to 200–25,000 audits per month.
What does the /audit endpoint return?
The /audit endpoint returns a JSON object with score (0–100), grade (A+ to F), priorities (an array of issues with severity and recommended fix), and a full audit object broken into five categories. Paid plans also include sxo, aeo, and aio scoring objects.
How do you handle 429 rate limit errors?
A 429 response means you've hit either your per-minute rate limit (RPM) or your daily/monthly quota. Implement exponential backoff and retry after the interval suggested in the response. For sustained high-volume needs, upgrade to a higher plan — Pro allows 60 RPM and 5,000 audits/month.
Is there a Python or JavaScript SDK?
Yes. Install the Python SDK with pip install seoscoreapi and the JavaScript SDK with npm install seoscoreapi. Both wrap the REST API with typed function calls, handle authentication, and return parsed response objects — no raw HTTP requests needed for common operations.