Pricing
Pay for what you process, not for seats. No per-user pricing, no annual contract, no sales call.
Two products, two separate subscriptions — generation (rendering and extraction, billed per unit of work) and accessibility (billed per document checked). You can hold either, both, or neither, and both have a real free tier rather than a trial.
Rendering and extraction
What one unit is
One allowance covers both endpoints. One render is one unit. One extracted page is one unit — so pulling tables out of a 40-page statement with /v1/extract costs 40, not one. There is no separate extraction plan to buy and no second number to track: GET /v1/usage counts both.
That makes a long PDF the one thing worth watching. Read part of a document with "options": { "pages": "1-5" } and you are billed for those five pages only. On a plan with no overage we will not start a job larger than your remaining allowance — you get invalid_request naming the number, rather than a quiet overshoot.
What you are billed for
A render is billable if Chromium actually ran. That means successes, and it means render_failed — the browser did the work; the HTML is what broke. You are never billed for render_timeout, for internal_error, or for any request that was rejected before it reached the browser — bad JSON, a revoked key, a rate limit, a quota stop.
Extraction follows the same rule with one difference in your favour: a PDF that turns out to have no text layer — a scan — returns extraction_failed and is not billed. Finding that out takes about twenty milliseconds a page, and charging for a no is not a business.
Crossing your limit
On a paid plan nothing stops. You keep rendering and the extra renders accrue as overage, because a job that fails at 2am because of a counter is worse than a small invoice. On the free plan the 101st render returns 429 quota_exceeded. Either way GET /v1/usage and the X-Renders-Remaining header tell you where you stand before you get there.
PDF accessibility scanning
A different product with a different unit, so it is a separate subscription rather than another row in the table above. One checked document is one unit — a 200-page report and a 2-page form cost the same, because what you are buying is the judgement, not the page count.
One-off report
$49 once
1,000 documents
per scan
One scan, one report
Shareable report + PDF export
Monitor
$149 / month
10,000 documents
per scan
Re-scan as often as you like
Shareable report + PDF export
Scale
$399 / month
50,000 documents
per scan
Re-scan as often as you like
Shareable report + PDF export
Why a one-off tier exists
A small district with an approved budget and no authority to sign a subscription is a real buyer, and losing them to make this table tidier would be a bad trade. The One-off report tier is a single payment for a single report.
The monthly tiers exist because compliance is a state to maintain, not a project to finish: agencies publish new PDFs constantly, and a portfolio that passed in March is not the portfolio you have in September.
What this costs against what remediation costs
Established remediation vendors quote roughly $5 to $25 per page. At those rates a thousand-document portfolio averaging ten pages is a six-figure conversation — which is exactly why nobody approves it without knowing which documents actually need fixing. Triage is the cheap step that makes the expensive step fundable. Put your own numbers in the calculator.
We do not remediate. That is a service business with established vendors, and saying so plainly is what makes this the step before them rather than a competitor to them.
Data retention
Rendered PDFs are deleted once their signed URL expires — 24 hours by default. Render records (id, status, size, duration, error code) are kept indefinitely as billing history. We do not keep your HTML.
A scan keeps what it found — the URL, the findings and the scores — so a report link stays readable and a later scan can be compared with it. The PDFs themselves are fetched, checked and discarded; we never store a copy of your documents.