# Limits

> The limits on keys, requests per minute, runs at once, sites, saved logins, seats, run history, waiting and result sizes.

Source: https://docs.fous.com/guides/limits
Index: https://docs.fous.com/llms.txt

Plan limits are in `GET /v1/account` and listed per plan in [Billing and credits](https://docs.fous.com/guides/billing.md#plans), and [Run history](https://docs.fous.com/guides/runs.md#run-history) explains how long results stay readable. Runs count against both plan limits; searches, builds and sign-ins against requests per minute.

| Limit | Value |
| --- | --- |
| Requests per minute, runs at once | Your plan's, in `GET /v1/account` ([per plan](https://docs.fous.com/guides/billing.md#plans)). A run past your runs at once waits up to 10 s for one to end, then `429 rate_limited` with `Retry-After: 2`. On Pro and Business, 5 more runs at once are a $25 a month add-on in Billing. |
| Saved logins | Your plan's, `limits.logins` in `GET /v1/account`, add-ons included (null: unlimited). A new website login past it is `403 plan_limit` with `limit.kind: "logins"`; on Pro and Business, one more is a $25 a month add-on in Billing. API keys don't count. |
| Sites | Your plan's, `limits.sites`, add-ons included (null: unlimited): the websites your organization has methods on, any number on each. A build that would put a method on another website past it is `403 plan_limit` with `limit.kind: "sites"`; on Pro and Business, one more is a $39 a month add-on in Billing. The methods you have keep running. |
| Builds and improvements | Starter 10 a month, Pro 30, Business 100, Enterprise as agreed; past them, a build that succeeds uses 50 credits. Repairs and failed builds never count. Free has 3 in all, started in Studio: past them `403 plan_limit` with `limit.kind: "builds"`, and on Free a key or MCP client cannot start one (`limit.kind: "api"`). |
| AI messages | Drafting or changing a workflow with AI, writing a transform's code, and Studio's assistant share one count per organization. Paid plans have no limit. On Free, a high limit only stops abuse: past it, `403 plan_limit` with `limit.kind: "chat_messages"`. A burst is `429 rate_limited` with `limit.kind: "chat_per_minute"`. |
| Seats | Your plan's: Free 1, Starter 3, Pro 10, Business and Enterprise unlimited. Members and open invitations each take one; an invitation past them is `403 seat_limit`. |
| Run record | `id`, `status`, `method`, `credits`, `duration_ms` and `created_at` stay readable for 30 days on every plan; an older run is `404 not_found`. A run stays visible while it runs. |
| Wait for a result | 60 s, then `202` while it keeps going. |
| Run input and result | `input` and `data` expire after your plan's `limits.run_history_hours`: 24 hours on Free, 7 days on Starter, 14 days on Pro, 30 days on Business and Enterprise. After that a run answers `expired: true` and `data: null`. |
| Result | 10 MB, then cut and marked `truncated`. |
| Request body | 4 MB. |

Workflows have their own: [schedules](https://docs.fous.com/guides/workflows/triggers.md#schedules) and [webhook triggers](https://docs.fous.com/guides/workflows/triggers.md#webhook-triggers) have per-trigger limits, and [steps](https://docs.fous.com/guides/workflows/steps.md) have their own.
