SEO audit API: no-JS vs rendered, diffed
An SEO audit API shows how a page looks to crawlers — programmatically. One call fetches any URL twice, as a pure HTTP bot and fully rendered, then returns both views with the diff: JS-only content, changed titles, canonicals that vanish without JavaScript. $0.0012 per URL, $1 free every month.
$1 free every month · No card required · Works on any public URL
$ curl https://api.quanticdata.io/v1/seo-audit \ -d '{ "url": "https://example.com/pricing" }' { "noJs": { "title": "Example", "h1": null, "words": 42, "canonical": null }, "rendered": { "title": "Pricing — Example", "h1": "Pricing", "words": 1180 }, "diff": { "jsOnlyContent": true, "titleChanged": true, "canonicalMissingNoJs": true }, "meta": { "robots": "index,follow", "jsonLd": ["Organization"] } } # this page is invisible to non-rendering bots
Pricing
Per URL. No seat license.
Real unit prices billed only on success. One audit covers both fetches and the diff; compose with map and batch for site-wide sweeps.
Pay as you go
- $1 free credit / month
- 60 requests / min
- List unit prices
Starter
- $10 free credit / month
- 300 requests / min
- 10% off unit prices
Growth
- $50 free credit / month
- 600 requests / min
- 20% off unit prices
Scale
- $250 free credit / month
- 1,200 requests / min
- 30% off unit prices
What is an SEO audit API?
An SEO audit API checks how a page presents itself to search engines and returns the findings as structured JSON — no desktop crawler, no browser extension, no screenshots. This one is built around the question that decides indexing for modern sites: does the page exist before JavaScript runs?
Google crawls raw HTML first and renders JavaScript in a second wave that can lag behind — and many bots, AI crawlers included, never render at all. Each audit fetches your URL twice through the same pipeline as our scraping API: once as a pure HTTP bot, once in a real browser. What differs between those two views is exactly what a non-rendering crawler will never see.
What each audit returns
The no-JS view
Title, description, canonical, h1 and word count from the raw server response — what a pure HTTP bot sees. This is the view most crawlers, link-preview scrapers and AI agents operate on.
The rendered view
The same fields after a real browser executes the page — what users and rendering crawlers eventually get. On healthy server-rendered pages the two views match.
The diff
Content that only exists after JavaScript, titles and descriptions that change between views, canonicals missing without JS — each gap a field your code can branch on.
Bot-facing meta
Robots directives, Open Graph tags and the JSON-LD types present in the no-JS pass — the metadata that actually reaches non-rendering consumers of your page.
CSR detection
A thin no-JS view against a rich rendered one is the signature of client-side rendering. One call answers "is this site invisible to bots?" for any URL — including competitors'.
A cheaper half
Set no_render to skip the browser pass and get the bot view only — the right economy when you sweep hundreds of URLs and only diff the suspicious ones.
Audit a whole site for a few cents
Compose the primitives: map lists every URL of the site for $0.0005, a batch job in summary mode sweeps title, description, canonical and status across the list at $0.0002 per URL, and full audits go only to the pages that look wrong. A 500-page site costs about $0.10 to sweep and $0.0012 per page you inspect deeply.
Because it is one REST call, the audit drops into CI: fail the deploy when the no-JS view loses its canonical, its h1 or its content. Rendering regressions get caught before Google's second wave ever sees them.
Integration
One POST, both views
curl https://api.quanticdata.io/v1/seo-audit \
-H "Authorization: Bearer $QD_API_KEY" \
-d '{ "url": "https://example.com/pricing" }'
# bot view only — cheaper, no rendered pass
curl https://api.quanticdata.io/v1/seo-audit \
-H "Authorization: Bearer $QD_API_KEY" \
-d '{ "url": "https://example.com/pricing", "no_render": true }'
Audits your agent can run
The QuanticData MCP server exposes seo_audit as a native tool, so Claude, Cursor or any MCP-capable agent can audit a page and reason over the JSON — "check why this page dropped, then fix the template" becomes one conversation. The same tool sits next to map, crawl and search, so the whole diagnostic loop runs in one place. REST works everywhere else with a single JSON envelope.
QuanticData vs a typical desktop SEO crawler
| QuanticData | Typical desktop crawler | |
|---|---|---|
| Form factor | one REST call, JSON out | desktop app + export files |
| Pricing | $0.0012 per URL, pay-as-you-go | annual seat license |
| JS rendering check | both views + diff, built in | manual before/after comparison |
| Runs in CI / cron | yes — it's an API | needs a machine and a human |
| Any URL | yes, no site verification | yes, but licensed per seat |
| AI agent access | native MCP seo_audit tool | none |
What is an SEO audit API?
An SEO audit API checks how a page presents itself to search engines and returns the findings as structured JSON instead of a desktop report. This one fetches the URL twice — once as a pure HTTP bot with no JavaScript, once fully rendered in a browser — and returns both views plus the diff, so the gap between them is a field your code can read, not a screenshot you eyeball.
Does Google see JavaScript-rendered content?
Eventually, usually. Google crawls the raw HTML first and renders JavaScript in a second wave that can lag behind. Content that exists only after JS runs is invisible in that first pass, and other bots — many AI crawlers included — never render at all. That is why comparing the no-JS view against the rendered view is the core of a JavaScript SEO audit.
What is the difference between raw HTML and rendered HTML?
Raw HTML is what the server sends before any JavaScript executes — what a plain HTTP fetch sees. Rendered HTML is the DOM after scripts have run, which is what users see. On server-rendered pages the two match; on client-side apps the raw view can be nearly empty. The audit quantifies that gap per URL: titles, descriptions, canonicals, h1s and word counts for both views, plus what only exists after rendering.
How do I check what Googlebot sees on my page?
Search Console's URL Inspection shows Google's own render, but only for sites you have verified and one URL at a time. The audit API approximates both crawler passes on any URL: the no-JS fetch is what a non-rendering bot sees, the rendered fetch is what a rendering crawler sees eventually, and the diff highlights everything that depends on JavaScript.
Can I audit pages I don't own, like competitors?
Yes. The audit works on any public URL — there is no site verification step, because it fetches the page like a bot rather than reading a search engine's private index. Auditing how a competitor's pages render for crawlers is a normal part of technical SEO research.
What exactly is in the diff?
The diff flags content that only exists after JavaScript runs, titles and descriptions that change between the two views, and canonicals missing from the no-JS pass. Alongside it you get both full views — title, description, canonical, h1, word count each — and the bot-facing metadata: robots directives, Open Graph tags and the JSON-LD types found on the page.
How much does the SEO audit API cost?
$0.0012 per audited URL — $1.20 per thousand — covering both fetches and the diff. There is no subscription, no seat license and no monthly minimum. A cheaper no-render option returns the no-JS view only. Every account gets $1 of free usage per month, about 830 full audits, with no card required.
Can I audit a whole site, not just one URL?
Yes — compose it: map lists every URL of the site for $0.0005, then a batch job in summary mode sweeps titles, descriptions, canonicals and status codes at $0.0002 per URL, and you run full audits on the pages that look suspicious. That is a site-wide rendering audit for a few cents, driven from code or CI.
Does it validate structured data and Open Graph tags?
The audit reports the JSON-LD types present and the Open Graph tags as bots receive them, from the no-JS pass — which is the view most crawlers and link-preview scrapers actually use. If your FAQPage schema or og:image only appears after JavaScript runs, that is precisely the kind of gap the report surfaces.
How do I detect if a site is client-side rendered?
Compare the word counts and h1 between the two views in one audit call. A server-rendered page shows near-identical numbers; a client-side app shows a thin or empty no-JS view against a full rendered one, and the diff lists the JS-only content. It is the fastest programmatic CSR check we know of — one call, one boolean-ish answer.
Can I run audits from CI or from an AI agent?
Both. It is one REST call, so a CI step can fail a deploy when the no-JS view loses its canonical or its content. And the QuanticData MCP server exposes seo_audit as a native tool, so Claude, Cursor or any MCP-capable agent can audit pages and reason over the JSON directly.
Is there a free tier?
Yes. Every account gets $1 of free usage each month with no card required — around 830 audits at list price. The allowance renews monthly and is shared across all QuanticData Data APIs, so the same credit also covers map calls and batch sweeps in a site-wide audit.
Does the API return an SEO score?
No, and that is deliberate. Most audit APIs compress a page into a single number from a fixed checklist — easy to chart, hard to act on, and the weighting is someone else's opinion. This API returns evidence instead: the two fetches, the fields that differ between them, and the bot-facing metadata as it actually is. If you want a score, compute one from the fields with your own weights — your priorities are not ours. What you get here is the raw finding, not a verdict.
Does it cover AI crawlers and LLM readability?
Partly, and the honest boundary matters. The no-JS pass is exactly what most AI crawlers get, because the majority do not execute JavaScript — so the diff already tells you how much of your content is invisible to them. The response also reports the bot-facing metadata: robots directives, canonical, Open Graph and the JSON-LD types present. What it does not do is grade your writing for an LLM or score you against an AEO checklist; those are opinions, and this endpoint returns facts.
See what crawlers see — in one call
$1 free every month, no card. Audit any URL, yours or theirs, before Google's second wave decides for you.
Get my free API key