Skip to content
Blobz docs

Limits, headers, and errors

Account-wide quotas, rate-limit response headers, retry behavior, and every public error code.

Monthly allowances

PlanSuccessful requests per usage month
Plus5,000,000
Pro10,000,000

The allowance is account-wide because each account has one active endpoint. Monthly subscriptions reset with the billing period. Yearly subscriptions receive a fresh monthly window anchored to the annual billing start. Unused requests do not roll over.

Only successful 200 image responses consume the monthly allowance. Validation failures, missing endpoints, rejected origins, and inactive subscriptions do not.

Burst protection

An additional account-wide limit of 10,000 requests per minute applies. A burst rejection returns 429 and Retry-After: 60.

Success headers

HeaderMeaning
Content-Typeimage/svg+xml; charset=utf-8
Access-Control-Allow-OriginThe exact approved account origin or trusted platform origin
RateLimit-LimitMonthly account allowance
RateLimit-RemainingRemaining successful requests, clamped at zero
RateLimit-ResetUnix timestamp in seconds for the current usage-window reset
Cache-Controlno-store
VaryOrigin
X-Content-Type-Optionsnosniff

Error shape

Errors are JSON:

{
  "code": "origin_forbidden",
  "error": "This origin is not approved for this account."
}
StatusCodeCause
403origin_requiredNo valid Origin header was sent by a non-platform request
403origin_forbiddenOrigin is not on the account allowlist
403subscription_inactiveSubscription is not active
403billing_period_unavailableCurrent billing window is not active
403unknown_planSubscription does not include API access
404endpoint_not_foundEndpoint is unknown or revoked
414invalid_requestComplete URL exceeds 4096 characters
422invalid_requestQuery is missing, repeated, unknown, malformed, or out of range
429monthly_quota_exceededMonthly successful-request allowance is exhausted
429burst_limit_exceededAccount exceeded 10,000 requests in the current minute

Both 429 cases include Retry-After. For a monthly quota response it is the number of seconds until the next usage window; for a burst response it is 60 seconds.

Because <img> does not expose response bodies to application code, use browser network tools or a controlled fetch during diagnostics. Remember that browser JavaScript cannot manually set the forbidden Origin header; the page origin must itself be approved.