PDF Blocks
PricingSupport
Start Free
Go to Page

Rate limits and usage

How usage is metered per plan, the 429 rate-limit contract, and request-size limits — forward-looking where thresholds aren't enforced yet.

Forward-looking. Rate limiting, usage caps, and the 402, 403, 413, and 429 responses are part of the API contract but are not enforced yet. This page describes how they behave so you can build a client that is ready for them. No numeric thresholds are published here, because none are in effect.

PDF Blocks is built to fail gracefully under load and to keep your usage visible. This page covers how usage is metered, how rate limiting surfaces, and how to size your requests.

How usage is metered

Usage is metered per plan and tracked in your dashboard. The dashboard is the source of truth for what you’ve consumed against your plan — both the number of documents processed and the number of requests made. Check it to monitor consumption and to see how close you are to your plan’s allowance.

Because the API is stateless, each request is metered on its own; there are no sessions or batches to reconcile. A multi-document action such as a split still counts as a single request.

Rate limits and the 429 response

When rate limiting is enforced, requests that exceed your plan’s allowance are answered with 429 Too Many Requests and a problem+json body. A 429 is transient — the same request will succeed once you slow down.

Build clients to handle it from day one:

  • Back off exponentially. On a 429, wait before retrying and increase the delay on each successive 429 (for example, doubling it) instead of retrying immediately in a tight loop.
  • Respect Retry-After. When the response carries a Retry-After header, wait at least that long before retrying rather than using your own delay.
  • Add jitter. Randomize the backoff slightly so parallel workers don’t retry in lockstep.
  • Cap retries. Give up after a sensible number of attempts and surface the failure rather than retrying forever.

The same backoff strategy applies to the rare 5xx server error.

Request-size limits

Very large uploads may be rejected with 413 Payload Too Large. When this limit is enforced, a request whose body exceeds the accepted size returns a problem+json body and is not processed. Unlike a 429, a 413 will not succeed on retry — you must send a smaller file.

For strategies on streaming uploads and downloads, timeouts, and processing big documents, see Working with large files.

Two more reserved codes relate to your account rather than the individual request:

  • 402 Payment Required — a billing or quota condition on your plan. Resolve it from the dashboard.
  • 403 Forbidden — your key is valid but not permitted to use the requested resource.

Both appear in the Errors catalog alongside the full response shape.