BastosConvert API

Rate limits

Rate limits

Two limits apply, both returning 429 when exceeded.

ScopeLimitApplies to
Global60 requests / minuteevery request
Per-tool10 conversions / day per IPeach public /pdf/* and /media/* tool

When you hit a limit

A 429 Too Many Requests problem document is returned with a Retry-After header (seconds to wait):

HTTP/2 429
content-type: application/problem+json
retry-after: 37

{ "type": "https://bastos-cms.dev/errors/rate_limited",
  "title": "rate_limited", "status": 429, "code": "rate_limited" }

Backing off

Respect Retry-After rather than retrying immediately. A simple, well-behaved client:

# pseudo: retry once after the server-advised delay
resp=$(curl -s -w '%{http_code}' -o out.bin ...)
if [ "$resp" = "429" ]; then
  sleep "$(curl -sI ... | awk '/retry-after/{print $2}')"
  # retry
fi

Raising the ceiling

The per-IP daily cap is meant for casual and trial use. Higher, account-based quotas come with an API key on Pro — the limit then tracks your account rather than your IP, so a shared office network or CI runner isn't throttled as one.

On this page