Limits
The limits stop automations that run in circles. For comparison: the Home Assistant integration needs about 1,450 calls a day.
On this page
Values
| Limit | Value | Code |
|---|---|---|
| Calls | 10,000 a day per account, across all connections combined. The day ends at midnight (UTC). | fair_ |
| At once | 4 requests per account. There are also limits that all accounts share: 12 requests together, and during the key check 16 together and 4 per IP address. Above that, the API answers right away with Retry-After: 1. | too_ |
| Request size | At most 64 KB for / and /. Spooly rejects larger requests with 413 without reading them. | no code, see error codes |
| Changes per minute | 60 per connection | change_ |
| Changes per day | 500 per connection | change_ |
| New spools per day | 100 per connection | new_ |
| New keys | 30 per hour per account | too_ |
What counts
- Every valid request counts as a call, including the one an AI uses to fetch its tool list.
- Failed changes do not count against the change limits.
GET /shows today’s count inme calls_andtoday daily_.limit
How your program should react
All limits answer with 429. The wait in seconds is in the Retry-After header. Wait at least that long, then retry. With fair_, it only continues after midnight (UTC).
too_ can also hit you when others are sending a lot right now, even if you send little yourself. Wait briefly and repeat the request.
Do not let an automation write on every reading. A scale that reports ten times a second needs a condition that waits for a steady value.