Limits

Plan allowances and the query, sync, Slack, and API limits that apply to every workspace.

Plan allowances

Each plan includes monthly allowances. See pricing for prices.

PlanSourcesManaged storageData scanned per monthAI credits per month
Free310 GB50 GB1,000
Starter5100 GB250 GB1,000
Growth151 TB2 TB6,000
Scale403 TB10 TB15,000
  • A source is one connected database or application, however many tables it has.
  • Storage is the data Contrast hosts. Data scanned is what queries read to answer questions.
  • AI credits cover Contrast answers and other agent work, and vary by model and task.
  • Allowances are in preview. There are no automatic overage charges: when a workspace reaches an allowance, the action that needs it stops until the next month or a plan upgrade. Reaching the source or storage limit blocks new sources; reaching the AI credit or scan allowance pauses Contrast answers.
  • Contrast warns workspace members when the workspace has used 80% of its AI credits, scan allowance, or managed storage, and again when it reaches the limit. Usage for each allowance is shown in Settings.
  • Workspaces created before plan allowances were introduced aren't limited by them.

Free does not expire. Workspace owners, admins, and members with the billing_admin role can upgrade from Settings.

Safety limits

Every workspace, on every plan, also has daily and monthly safety limits that protect against runaway queries, agent loops, and unexpectedly large syncs. They are on by default.

LimitDefaultWhat stops
Data scanned per day500 GBWarehouse queries from Contrast answers, SQL, MCP, the CLI, and the API
Spend per day$100 of AI and query computeContrast answers and warehouse queries
Spend per month$1,000 of AI and query computeContrast answers and warehouse queries
Rows ingested per day100 millionNew syncs
Data ingested per day100 GBNew syncs
  • Days and months are UTC. Daily limits reset at 00:00 UTC; monthly limits reset on the 1st.
  • When a limit is reached, requests return 429 with a message that says when it resets. A sync already in progress stops after the batch it is writing, and the source shows as degraded rather than failed. The first scheduled sync after the reset continues from where it left off.
  • Continuous PostgreSQL and Supabase change data capture keeps running over the ingestion limit, so your database doesn't retain replication logs. New full resyncs wait for the reset.
  • Owners and admins can see current usage against each limit and change it in Settings → Billing → Safety limits. A limit can be raised, lowered, or left empty for no limit.
  • Each limit either pauses usage when it is reached, which is the default, or only notifies. Plan allowances are separate and always pause usage when used up.
  • At 80% and 100% of a limit, workspace owners and admins get an email, and members see a notice in Contrast. Each notice is sent once per day or month, and again if the limit changes. Admins can turn off the email under Usage limit alerts in their notification settings.

Queries

These apply to SQL from Contrast answers, SQL in Contrast, MCP, the warehouse CLI, and the API.

LimitValue
Query timeout120 seconds by default; the API accepts up to 3,600 seconds
Queries against a connected Snowflake source60 seconds
Data scanned per query25 GiB
Rows kept per result10,000 by default; SQL also offers 100,000 or unlimited
Result retention7 days
SQL length262,144 characters
Statements per request1
Rows per result page1,000 through the API; 100 through MCP and the warehouse CLI
Rows Contrast reads per query500

See the SQL reference for the statements each surface allows.

Syncs

LimitValue
Batch sync intervalEvery 15 minutes to every 7 days
Default intervalEvery 60 minutes; every 15 minutes for Snowflake and every 2 hours for PostgreSQL batch syncs
Continuous syncPostgreSQL and Supabase, through change data capture
Connection checks5 per user per 10 minutes

When a source API rate-limits Contrast, the sync waits and retries. You don't need to reconnect.

Slack

LimitValue
Question length8,000 characters; longer messages are cut off
Chart size20 points, 12 series or slices
Table size100 rows and 8 columns, shown 10 rows per page
One-off scheduled messagesUp to 120 days ahead

Questions on Home

LimitValue
Questions per user30 per hour
Question length2,000 characters

API, MCP, and tokens

LimitValue
Personal access token lifetime30 days by default, 1 to 365 days
Databases a token can write to20
MCP tool response size64,000 bytes
Rate limitsSee versioning and rate limits

Contrast can also set custom usage quotas for a workspace. Requests over a quota or a safety limit return 429; see troubleshooting.