Skip to content
Documentation sections

Quotas and limits

Two limits apply: a monthly allowance of calls, which belongs to the account, and a number of requests a minute, which follows the credential a request carries. Reading what is left is never counted.

Monthly allowance, per account

The allowance belongs to the account, not to a key: the calls of all its keys count against one figure. It resets at the start of each calendar month in UTC. A refused call (a missing or invalid key, an unknown calculator, a body that does not parse) costs nothing, and a call the service fails after counting is given back.

Monthly allowance per plan
PlanCalls a monthKeysBatch endpoint
Free51 API keyNo
Pro · $9 a month1003 API keysNo
API · $19 a month10,0005 API keysYes, up to 50 a request

A spent allowance is 402, never 401 or 429; see Errors.

Usage

GEThttps://rftools.io/api/py/v1/usage

GET /api/py/v1/usage answers a key or a signed-in session with what the account has used this month and what is left, the overage state, and the calls attributed to each of its keys. Reading it is never counted, so a program can show its remaining calls as often as it likes, within the per-minute limit.

The daily series

Add ?days=N, a whole number from 1 to 90, and the answer gains daily: exactly N entries {date, calls}, oldest first, ending on today's UTC date. A day with no calls is listed with 0. Each day is the account's calls over all its keys, net of calls given back. Without days the answer is unchanged.

Usage response fields
FieldDescription
tierstringThe account's plan: free, pro or api.
periodstringThe calendar month, YYYY-MM (UTC).
resetAtstringWhen the allowance resets: the first instant of next month.
allowance, used, remainingintegerThe month's allowance, the calls counted against it net of releases, and what is left.
overageobjectPay-as-you-go overage: whether the account is eligible, whether it is on, and its use and cap.
keysarrayEach key of the account: keyId, label, client, active, used, lastUsedAt.
rateLimitPerMinuteintegerThe per-minute limit for the credential the request carried.
daily{date, calls}[]Only with ?days=N: the calls of each of the last N UTC days.

Usage headers

Every metered response (a calculator call, a batch, a job submitted with a key) carries the same figures in headers a browser can read:

Usage headers
HeaderMeaning
X-Usage-AllowanceThe account's monthly allowance.
X-Usage-UsedCalls counted this month, including this one.
X-Usage-ResetWhen the allowance resets (ISO-8601, UTC): the first instant of next month.
X-Usage-OveragePresent only when pay-as-you-go overage was counted this month: how many calls.

Requests a minute, per address

The per-minute limit follows the credential a request carries, not the plan. Over it, the API answers 429 with a Retry-After header. The device-grant endpoints are held to the no-credential rate whatever they carry.

Per-minute rate limits
The request carriesRequests a minute
No credential30
Signed-in session60
API key120

Other limits

  • A batch carries at most 50 calculations; see Batch.
  • 3 simulation jobs queued or running at once, per caller; see Simulation jobs.