Limits
Per plan
| Limit | Trial | Developer | Team | Business | When reached |
|---|---|---|---|---|---|
| Price (USD / month) | 0 | 49 | 199 | 499 | — |
| Models | 1 | 3 | 15 | 50 | 402 model_limit |
| Scenarios per period | 1,000 | 50,000 | 500,000 | 5,000,000 | 402 quota_exceeded |
| Period | 14 days from email confirmation | Paid month | Paid month | Paid month | 402 plan_required after access ends |
| Compute hours per period | 0.5 | 68 | 276 | 693 | 429 compute_limit |
| Concurrent calculations and uploads | 1 | 2 | 4 | 8 | 429 concurrency_limited |
| Requests / minute (approximate) | 30 | 120 | 600 | 1,200 | 429 rate_limited |
| Uploads and replacements / UTC day | 5 | 20 | 50 | 100 | 429 upload_limit |
A plan change within a period changes this period's scenarios and compute time by the share of the period left. Full limits apply from the renewal.
The free trial lasts 14 days, includes 1 model and 1,000 scenarios, and needs no card. Paid plans renew monthly. Change your plan in the dashboard.
Rate limits are approximate: from one location, up to twice the listed per-minute limit can pass. Quotas, concurrent slots, daily upload attempts and compute limits are enforced separately. All 429 and 503 responses include Retry-After in seconds.
Upload attempts count once checking starts, including rejected workbooks, model_limit, version_conflict and a check that fails after starting. A busy check service that cannot start returns 503 without using an attempt. Only one upload per account can run at once; uploads use a concurrent calculation slot.
Per workbook and request
| Limit | Maximum | When reached |
|---|---|---|
| Workbook file (MB) | 10 | 413 file_too_large |
| Calculation memory (MB) | 98 | 422 model_too_large |
| Upload check (seconds) | 30 | 422 check_timeout |
| Calculate compute time (seconds) | 30 | 422 calculation_timeout |
| Start a new batch part (seconds) | 25 | Partial batch, time_limit |
| Scenarios per batch | 10,000 | 413 batch_too_large |
| JSON body (MB) | 8 | 413 request_too_large |
| Serialized response (MB) | 8 | Partial batch, response_size_limit |
| Outputs of one scenario (MB) | 4 | 422 response_too_large, or a partial batch if earlier rows fit |
| Declared outputs | 100 | 422 invalid_interface |
| Output cells per scenario | 10,000 | 422 invalid_interface |
| Output values per response | 100,000 | Partial batch, response_value_limit |
| Declared inputs | 4,096 | 422 invalid_interface |
| Concurrent uploads per account | 1 | 429 concurrency_limited |
| Active keys per account (both kinds) | 5 | 409 key_limit; revoke a key before creating another |
| Trial (days) | 14 | 402 plan_required after access ends |
A batch starts no new part after 25 seconds. One part may run up to 30 seconds of compute, so a request can take about 80 seconds. Set your client timeout to at least 90 seconds.
A response is billed when our server has finished sending it, which can be before a slow client has read it all. A response your client cuts off with its own timeout may already be billed. A retry is billed again. Only successful calculations and batch rows with outputs are billed; errors are not. Resume a partial batch with the scenarios after completed.
A workbook that passes the check on this site can still be too large for the API's calculation memory.
Team and Business quotas apply to workbooks within these limits.
Days and periods are in UTC. 1 MB = 1,048,576 bytes. The 8 MB JSON limit applies to calculate, scenarios and PUT interface, not workbook uploads.