A plan is bought by one workspace, can cover several of its owner's workspaces (Pro 3, Team 10 and Scale 25), and limits how many things you create and the monthly allowances. Free limits are per person, across all your free workspaces. A paid plan's limits are shared across the workspaces it covers. A Pro subscription from before these plans keeps what Pro included then (100 GB of files, 10 GB of database storage, 5,000 emails a month, $10 of AI usage a month included and server apps with no hourly charge), shared across the workspaces it covers, until we move it to Pro as listed here; we email the owner first. The technical limits below apply on every plan. File storage, database storage and build minutes have an amount included per plan; bandwidth and function traffic have no plan quota yet — they are listed as not metered.
Plans
Hobby
Pro
Team
Scale
Price (per subscription)
Free
$20 a month
$100 a month
$500 a month
Workspaces covered (limits shared)
Per person
Up to 3
Up to 10
Up to 25
Usage credit
None
None
$20 a month
None
AI usage
Pay as you go from your balance
Pay as you go from your balance
Pay as you go from your balance
Pay as you go from your balance
Emails (rolling 30 days)
100
2,000
10,000
100,000
Custom sending domains
1
10
25
50
Apps and sites (projects)
3
20
100
500
Server apps
Pro and up
Included
Included
Included
Functions
5
50
100
100
Databases (10 GB each)
1
10
50
100
Storage buckets
2
20
100
500
Vector collections
1
10
25
100
Memory stores
2
20
100
500
Agents
2
20
100
500
Auth pools
1
10
50
100
Payment accounts
1
10
50
100
Media assets (videos and live channels)
Pro and up
100
500
1,000
Repos
5
50
200
500
Your own domains connected
2
20
100
500
Team members
3
10
25
100
Workspaces you can own
2
10
20
50
AI requests a minute
60
600
2,000
6,000
Agent runs at once
1
5
10
20
Past a count the create call answers 402 with code plan_limit, the limit and the current count. On Hobby the count is the total across every free workspace the owner owns (the answer carries shared_workspaces); on a paid plan it is the total across the workspaces its subscription covers (the answer says how many share it), except team members, which are counted per workspace. Upgrading a free workspace, or covering it with a plan you pay for, moves it to that plan's limits. Server apps are on Pro and up, and videos and live channels on Pro and up: on a plan without them the deploy or create answers 402 plan_limit with required_plan, before anything is built or created. Server apps that were already live on a free workspace when server apps moved to Pro keep running and can be redeployed. Nothing existing is deleted when a plan changes; only new creates are refused. Enterprise is arranged with us, from $2,000 a month, and is not bought online (POST /api/billing and checkout answer 409 contact_sales with contact_url); workspaces already on Enterprise keep it, at the price they pay.
Usage included per plan
Measured daily (sizes, and server-app awake time as the runner counts it) and per deploy (build minutes), and shown on Billing → Usage, workspace by workspace on Billing → Workspaces. On a plan that covers several workspaces their use adds up against one amount, and the paying workspace's owner is emailed at 80% and at 100%.
Usage
Hobby
Pro
Team
Scale
Past it
File storage
1 GB
50 GB
250 GB
1,000 GB
Hobby: new uploads are refused (402 usage_limit). Pro, Team and Scale: $0.05 per GB a month, charged daily from the paying workspace's Balance (Team's $20 monthly usage credit pays first); new uploads paused (402 usage_paused) only while a charge cannot be paid: the Balance is empty or smaller than the charge, or the spending limit is reached.
Database storage
0.5 GB
5 GB
25 GB
100 GB
Hobby: database writes that add data (reads and deletes still work) are refused (402 usage_limit). Pro, Team and Scale: $1.00 per GB a month, charged daily from the paying workspace's Balance (Team's $20 monthly usage credit pays first); database writes that add data (reads and deletes still work) paused (402 usage_paused) only while a charge cannot be paid: the Balance is empty or smaller than the charge, or the spending limit is reached.
Build minutes (per calendar month, UTC)
100 minutes
1,000 minutes
5,000 minutes
10,000 minutes
Hobby: new deploys are refused (402 usage_limit). Pro, Team and Scale: $0.01 per minute, charged daily from the paying workspace's Balance (Team's $20 monthly usage credit pays first); new deploys paused (402 usage_paused) only while a charge cannot be paid: the Balance is empty or smaller than the charge, or the spending limit is reached.
Server-app awake time (per calendar month, UTC)
not charged
none included
none included
none included
Hobby: not charged. Pro, Team and Scale: $0.05 per awake hour, charged daily from the paying workspace's Balance (Team's $20 monthly usage credit pays first); new deploys paused (402 usage_paused) only while a charge cannot be paid: the Balance is empty or smaller than the charge, or the spending limit is reached.
Database storage past the limit holds only statements that add data (INSERT, UPDATE, REPLACE, UPSERT, CREATE, ALTER), and a batch that contains one is held whole: reads and DROP sent on their own always run, and so does DELETE unless the database has triggers (a trigger can add data when rows are deleted: drop it first), so you can clean up. Database sizes are measured again daily, so room you free counts from the next measurement. Each single database still stops at the engine's 10 GB.
Not metered or capped yet
Requests and bandwidth to sites and server apps, and traffic to function URLs.
Errors and latency are not measured.
Databases
Limit
Value
Size of one database
10 GB
One row or value
2 MB
One SQL statement
100 KB
Bound parameters per statement
100
Time per query
30 seconds
Columns per table
100
Statements in one batch
100
Query requests per workspace
600 per 5 minutes (a batch counts once)
Deploys and server apps
Limit
Value
One upload (folder, tar.gz or JSON files)
25 MB compressed, 40 MB unpacked
One file
10 MB
Files in one upload
5,000
Files a static site serves
500
Git repository download
20 MB compressed, no file-count cap
Build time
about 13 minutes
Server app
one container per app (about a quarter of a CPU and 1 GB of memory), no extra copies
Server app sleep
after 15 idle minutes; disk wiped on sleep and on every deploy
Awake server apps
40 across the whole platform today; sleeping apps do not count
Functions, storage and repos
Limit
Value
Function code
one ES module, at most 200 KB, no npm install
CPU time per request (functions and worker.js programs)
50 ms on Hobby, 1 second on Pro, 2 seconds on Team and 10 seconds on Scale; waiting on the network or a database does not count. A plan change applies on the next deploy
Function deploys
one deploy, rollback or delete of a function at a time: another sent meanwhile answers 409 deploy_in_progress
Test invoke
first 16 KB of the response, 10-second timeout
One storage upload
5 GB (one signed PUT); a link with size is at most 1 GB on Hobby, all the file storage it includes
Object key
1,024 characters
Download link lifetime
60 seconds to 7 days (default 15 minutes); viewers and read-only keys at most 15 minutes
Upload link lifetime
at most 15 minutes (a longer expiresIn is shortened); size, optional on every plan, locks the link to the file's exact length
Objects per listing page
1,000 (default 100), with a cursor for the next page
Repo push over REST
500 files, 10 MB per file, 25 MB per push
AI, vectors, memory and agents
Limit
Value
Gateway input
200,000 characters (system prompt plus messages), up to 500 messages
Gateway output
max_tokens up to 8,192 (2,048 on the Llama edge models); default 1,024
hobby: 10,000 items per store, 25 MB in all per workspace; pro: 100,000 items per store, 250 MB in all shared by the workspaces it covers; team: 250,000 items per store, 500 MB in all shared by the workspaces it covers; scale: 1,000,000 items per store, 1 GB in all shared by the workspaces it covers; every kind of store counts, and a write past them gets 402 plan_limit
Agent steps
1–24 per run (default 8)
Agent runs
6 a minute per workspace; input up to 32,000 characters
Agent schedules and events
a schedule runs at most every 10 minutes; a scheduled, event or background run starts within about 10 minutes and has 5 minutes to finish; a visitor's chat message has 60 seconds
Media upload
video only, up to 1 hour
Mail, payments and auth pools
Limit
Value
Email per call
one recipient; text and/or HTML
Email quota
100 hobby, 2,000 pro, 10,000 team, 100,000 scale per rolling 30 days; a Pro subscription from before these plans keeps 5,000; optional daily cap of your own
Custom sending domains
1 hobby, 10 pro, 25 team, 50 scale (pending and failed domains count until removed)
Checkout amount
$0.50 to $1,000,000, USD, one-time
Checkout link
single use, expires after 24 hours
Earnings hold
7 days per payment before it can be withdrawn
End-user password
8–256 characters; 10 wrong tries lock the account for 15 minutes
End-user token
HS256 JWT, valid 7 days unless the pool sets a shorter tokenTtl (5 minutes to 7 days)
End-user refresh token
ends after 60 days without a refresh, and a year after sign-in; 20 signed-in devices per user
Browser sign-up
10 per IP an hour (an IPv6 address counts by its /64), 600 per pool an hour
Sign-up from your server
600 per pool an hour, counted apart from the browser's; with ip, that address is also held to the browser's 10 an hour
Push notifications
100 users and 500 devices per send, 600 sends an hour per pool; 20 devices per user
Codes asked for from the browser
50 an hour and 300 a day per pool; at most 20% of the email quota per workspace (20 / 400 / 2,000 / 20,000 per 30 days)
Rate limits
Every 429 carries code, a Retry-After header and retry_after seconds in the body. API quotas also send X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Back off for Retry-After seconds and try again.
What
Limit
Code
AI chat
60 / 600 / 2,000 / 6,000 a minute (hobby / pro / team / scale)
ai_rate_limited
Embeddings, memory search, text sent to vectors
a separate bucket of the same size
ai_rate_limited
Database queries, vector calls, memory calls, video status checks
600 calls per 5 minutes per workspace, shared (a batch of statements is one call, and every memory call counts, key-value and conversation ones included). All workspaces together also share a platform ceiling lower than that on the calls that reach the edge, which can refuse calls first
rate_limited
Agent runs
6 a minute per workspace
rate_limited
Push sends
600 an hour per sign-in pool
rate_limited
Balance top-ups
10 an hour
rate_limited
New workspaces
5 a day per person
rate_limited
Email
your optional daily cap
daily_cap
Auth-pool codes asked for from the browser
50 an hour and 300 a day per pool, and 20% of the email quota per workspace
code_limit
How it scales
Service
At millions of users today
Static sites
Scale: served from the edge cache close to each visitor, the rest from object storage.
Functions
Scale: each request runs at the edge location nearest the caller, with no servers to size.
Storage
Scale: uploads and downloads go straight to object storage, never through Harakumo. Stored bytes count toward the plan's file storage (1 GB hobby, 50 GB pro, 250 GB team, 1,000 GB scale); past it Hobby stops and Pro, Team and Scale pay $0.05 per GB a month. Each signed link is one API call to Harakumo, so sign download links with a longer expiresIn and reuse them rather than signing one per page view.
Auth pools
Verify tokens in your app with the JWT secret (no call per request). Sign-ups and logins run on the shared platform and suit apps with thousands of active users.
Databases
Each database has one writer and stops at 10 GB, and each query is an HTTPS call through Harakumo capped at 600 requests per 5 minutes per workspace. Good for development, internal tools and low-traffic apps; not yet for a high-traffic public app. Batch statements, cache reads and split data across databases.
Server apps
One small container per app with no extra copies, a cold start after it sleeps, and a platform-wide cap on awake apps. For large traffic, put the front end on a static site and the server logic in functions.
AI
Model capacity scales with the vendors; your workspace is capped by the per-minute limits above.
Mail
Up to the plan's 30-day quota, one recipient per call.
Coming: databases reached directly from your functions and apps (no HTTPS hop, no shared limit), read replicas, a Postgres engine for datasets over 10 GB, extra copies and larger sizes for server apps, and metered traffic.