Scale AI
AI · AI
Data-labeling tasks, projects, and batches in the account they connected.
Connecting Scale AI in practice
Scale’s live and test modes are separate worlds of data — a project created with a live key cannot be referenced from a test-mode task — and every live-mode request is completed by a human and billed, so there is no free way to exercise a real pipeline end to end. Task creation is capped at 30 requests a second, and some task types return 402 "Not enabled" until Scale’s sales team switches them on.
Scopes that draw scrutiny
live_… API key (HTTP Basic username, empty password)Scale defines no scopes. A live key creates real, human-completed, billable tasks; it is sent as the Basic-auth username with a trailing colon and no password.test_… API keyThe same reach against a completely separate environment. Responses are machine-generated and wrong on purpose, so test traffic proves plumbing and nothing about output.Live Callback Auth KeyThe value Scale sends in the scale-callback-auth header on every callback. Absent or wrong means the callback is not from Scale, so this is the only thing standing between your endpoint and forged results.
Rate limits
- Task creation: 30 requests per second.
- Max attributes 2,500 per task; annotations and instances unlimited; tasks per batch unlimited.
- Max task metadata JSON 10 kB, file-upload metadata JSON 8 kB, file-upload attachment 120 MB.
- Exceeding a limit returns 429 Too Many Requests.
Who has to approve
The API Keys section is visible only to account Admins and Managers — a member has to have their role raised at dashboard.scale.com/settings/team before a key exists for them at all. Separately, Scale itself gates task types: creating one that has not been enabled returns 402 with "Not enabled — Please contact sales@scaleapi.com before creating this type of task".
Worth knowing
- A reused idempotency key or unique_id on a different request returns 409 Conflict, so retry logic has to distinguish a genuine duplicate from a changed payload.
- Attachment failures do not fail the API call. The task flips to status "error" and the callback carries the per-attachment HTTP codes, so errors arrive asynchronously in the callback rather than in the create response.
- If you allowlist Scale’s egress, allowlist all seven published addresses (52.38.24.56, 35.160.30.43, 35.167.66.86, 52.11.250.38, 54.203.55.239, 18.246.77.0/27, 2602:fb33::/45). For S3 sources Scale says not to use IP allowlisting at all — use S3 IAM access, because requests will not necessarily come from those addresses.
- There is no environment switch: mode is decided entirely by which key you send, which makes a misconfigured secret a billing event rather than an error.
Checked against Authentication (2026-09-29), Technical limits and recommendations (2026-09-29), API errors (2026-09-29), IP allowlisting (2026-09-29)
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
Often connected alongside
Put Scale AI behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.