Renduo

Plans & limits

What each plan includes, and how limits are enforced.

Renduo has four plans. Limits are enforced at the API, with the plan's numbers living in a single typed source (@renduo/types) shared by the API, CLI, and dashboard — so the docs, the product, and the enforcement can't drift.

Plan comparison

FreeStarter — $29/moGrowth — $79/mo ⭐Enterprise
PDFs / month1002,00010,000Custom
Templates5UnlimitedUnlimitedUnlimited
Members13UnlimitedUnlimited
Asset storage10 MB / 5 assets100 MB500 MBCustom
Async retention24 h30 days90 daysCustom / BYOS
Overage— (hard stop)$0.015 / PDF$0.01 / PDFCustom
Webhooks
Priority queue
Render Inspector (full)
BYOS, SSO/SAML, SLA

Annual billing gives 2 months free (~17% discount). The unit of billing is the PDF, not the page — one request is one PDF regardless of length.

How limits are enforced

  • PDF quota — counted per billing period across sync and async (the ephemeral inline editor mode is exempt). Free stops hard at the limit (HTTP 402 with a readable message); paid plans pass the render and accumulate overage.
  • Templates — the 5-template cap on Free counts new slugs only (a new version of an existing template never blocks). Applied at POST /v1/templates.
  • Assets — storage is gated by quota; renduo assets list shows usage vs. the limit.
  • Pages per document — a hard 100-page cap on every plan, including Enterprise. A document over the cap fails with DOCUMENT_TOO_LARGE. This is not a technical ceiling — Chromium paginates documents well past that size without issue. It's a cost guardrail: render time scales with page count, and an unbounded document ties up a Browserless session (a shared, metered resource) for an unpredictable amount of time. If your use case is large tabular reports that legitimately need more than 100 pages, reach out — that's a real, known gap for that use case today, not something the cap is meant to silently rule out.

When you hit a limit

The API returns structured errors with the machine-readable code in error:

{
  "error": "QUOTA_EXCEEDED",
  "message": "You've reached the 100-PDF limit of the Free plan for period 2026-08. Upgrade your plan at https://app.renduo.dev/dashboard/settings/billing to keep generating.",
  "details": { "plan": "free", "period": "2026-08", "limit": 100, "used": 100 },
  "requestId": "…"
}

Common codes: QUOTA_EXCEEDED (plan limit), DOCUMENT_TOO_LARGE (over 100 pages), BUNDLE_TOO_LARGE (bundle over the size cap).

Design decisions worth knowing

  • No watermark on any plan. The free tier is an acquisition channel; a watermarked PDF doesn't circulate.
  • Assets on every plan, gated by storage, not by tier — brand fonts are a requirement for adoption.
  • Retention is a download guarantee, not archival custody. Renduo is a generation API; your real backup is regeneration from an immutable version + payload. Who needs years of archive needs BYOS (Enterprise).
  • Unlimited templates on every paid plan — the per-plan cap is the documented weakness of competitors that Renduo exploits.

See also

On this page