Across roughly 8,000 audits run through our API through May 2026, five issues account for almost everything we flag. Each one appears on close to nine of every ten sites we see:
| Issue | Share of audits flagging it |
|---|---|
| No structured data (schema.org) | ~94% |
| No sitemap.xml | ~93% |
| Missing meta description | ~92% |
| No canonical tag | ~92% |
| Thin content on the audited page | ~88% |
A caveat on that sample before you lean on it: these are sites someone chose to audit — agency client rosters, developers wiring up CI, builders checking their own pages. It is not a random crawl of the web, and it skews toward sites with someone paying attention. Take the ordering more seriously than the absolute percentages.
The strategic point survives the caveat. If you run an agency, the monthly audit you bill for is mostly rediscovery: confirming, again, that client sites are missing canonical tags and sitemaps. The diagnosis is nearly constant across your portfolio. What varies is the fix work — and that is the part worth a human.
Rediscovery is automatable. That is the whole case for auditing through an API instead of a dashboard.
What Is API-First SEO Auditing?
API-first SEO auditing means running site audits programmatically over HTTP rather than through a dashboard. Instead of logging in, clicking through menus, and exporting by hand, you call an endpoint and get structured JSON your code can store, diff, display, or alert on.
A single GET runs 80+ checks across SEO, performance, accessibility, and AI
readability, and returns a 0–100 score with a letter grade and a prioritized
fix list:
curl -H "X-API-Key: YOUR_KEY" \
"https://seoscoreapi.com/audit?url=https://client-site.com"
What Is the Agency Problem with Traditional SEO Tools?
If you manage 10+ clients, the loop is familiar: log into Ahrefs or SEMrush, run audits one by one, export to CSV, paste highlights into a template, email it, repeat next month.
Call it 2–4 hours per client per month. At 20 clients that is 40–80 hours — most of a full-time person — spent largely on the rediscovery step above.
The gap between audits is the worse problem. A client's developer ships a template change that strips every meta description on the site, and you find out at the next scheduled audit, or when the client calls about traffic. Monthly auditing gives you monthly resolution on a problem that moves daily.
How Do Agencies Run Bulk Audits for Multiple Clients?
The batch endpoint takes up to 10 URLs per call; loop your roster in groups:
from seoscoreapi import batch_audit
client_pages = [
"https://acmecorp.com",
"https://retailbrand.com",
"https://localservice.com",
"https://techstartup.io",
"https://medicalclinic.com",
]
results = batch_audit(client_pages, api_key="YOUR_KEY")
for page in results["results"]:
print(f"{page['url']}: {page['score']}/100 ({page['grade']})")
Run it nightly as a cron job, an n8n workflow, or a GitHub Actions job. Store the results, diff against last night, and alert only when something changes. That last part matters more than the audit itself — a score that has been 73 for six months is not news, and a score that fell to 61 overnight is.
Which SEO Issues Should Agencies Fix First?
Worth being precise about why these five matter, because they are not equally urgent and some of the conventional framing is wrong.
- Structured data is the one we would fix first. Google's AI Overviews, ChatGPT search citations, and Perplexity's source picker all lean on schema to work out what a page is about. See Google's structured data introduction.
- Sitemap.xml is the cheapest crawl signal available, and most sites either
lack one or never reference it from
robots.txt. Google's sitemaps overview is clear that it helps most on large or poorly-linked sites — so on a 12-page brochure site, this is a checkbox, not a priority. - Meta descriptions are not a ranking factor. Anyone selling you meta description optimization as a ranking lever is wrong. They are a click-through factor, and CTR is a downstream ranking input, which is a different and weaker claim. Google's snippet documentation describes how it will rewrite yours anyway.
- Canonical tags are the most reliable defense against self-inflicted duplicate content — see consolidating duplicate URLs.
- Thin content usually means the audited URL itself was light — a footer utility page, an "about" stub. Often the right fix is deciding it should not be indexed, not writing 800 words of filler.
How Does SEO Monitoring Work for Agency Clients?
Monitoring is continuous scoring on a schedule. Register a URL and it is checked automatically:
from seoscoreapi import add_monitor
monitor = add_monitor(
url="https://client-site.com",
api_key="YOUR_KEY"
)
When the score drops below a threshold you get an alert, so you catch a broken redirect or a dropped title before it affects rankings. This is the difference between explaining a traffic drop after the fact and flagging the cause before it had an impact. Monitors run on paid plans and log score history, so clients see a trend line rather than a point-in-time number.
What White-Label Options Exist for Agency Reporting?
Every audited domain gets two public, no-auth assets:
https://seoscoreapi.com/report/{domain}
<img src="https://seoscoreapi.com/badge/{domain}" alt="SEO Score" />
Both work immediately after the first audit. Share the report link in Slack or a client portal without making anyone create an account, embed the badge as a trust signal, or build your own presentation layer on the raw JSON — one template, reused across every client. You control the design and the framing; the API supplies the data.
What Does an SEO Audit API Not Do?
We do not do backlinks, keyword research, rank tracking, or competitive intelligence. Ahrefs, SEMrush, and Moz are genuinely better at those and you should keep paying one of them. This is technical on-page audit data delivered programmatically — one layer of your stack, not a replacement for it.
The accessibility category here is also a lightweight check, not a legal-grade audit. If a client needs WCAG conformance evidence, use the dedicated ADA compliance checker, which runs the full WCAG 2.1 AA ruleset via axe-core.
And automation does not do the fix work. It tells you, reliably and nightly, which of the five defects each client has. Someone still has to go change the templates.
Which Plan Is Best for a Growing SEO Agency?
| Plan | Audits/Month | RPM | Price | Best For |
|---|---|---|---|---|
| Free | 2/day | 2 | $0 | Testing and evaluation |
| Starter | 200 | 10 | $5/mo | 1-5 clients, monthly audits |
| Basic | 1,000 | 30 | $15/mo | 10-30 clients, monthly audits |
| Pro | 5,000 | 60 | $39/mo | 30+ clients or multi-page audits |
| Ultra | 25,000 | 120 | $99/mo | Large agencies, daily monitoring |
Most growing agencies land on Basic or Pro. At Basic, 1,000 audits covers ~30 clients with room for several pages each per month. At Pro, 5,000 supports daily monitoring across a large portfolio.
There are no per-seat and no per-client fees — one key covers the roster. As you grow you upgrade the plan, not the seat count.