pricing
Plans and limits
Prices are in beta. The structure below is what the API enforces today; paid plan prices are not published yet, and the per-call price shown is a beta figure that will change once it is calibrated.
Start free
Keyless reads
Read the library over REST or MCP (?keyless=1), up to 50 requests per IP address per day. Live pulls and AI analyses need you to sign in.
Monthly allowance
Each new workspace gets 200,000 micro-USD of library reads a month: 1,000 reads at the current beta price. Unused allowance does not roll over.
Sandbox keys
tf_test_… keys return fixture data, never call a supplier and are never charged. Read-only.
Plans
Limits per workspace. Going past one answers 402 with the code plan_limit and a message naming the limit.
Free
No charge
- Tracked apps1
- Target markets per app1
- Ingest pillars you can enableBrand
- AI analyses a month3, brand-name check only
- Data budget a month$1
- Hosted MCPRead tools
- Seats1
- WatchesNone
Indie
Price in beta
- Tracked apps3
- Target markets per app3
- Ingest pillars you can enableBrand, Paid, Organic (Paid and Organic collect once their sources are connected)
- AI analyses a month40, every kind
- Data budget a month$15
- Hosted MCPYes
- Seats2
- WatchesNone
Team
Price in beta
- Tracked apps15
- Target markets per appAll
- Ingest pillars you can enableBrand, Paid, Organic (Paid and Organic collect once their sources are connected)
- AI analyses a month250, every kind
- Data budget a month$75
- Hosted MCPYes
- Seats15
- Watches10
- White-label reportsYes
Enterprise
Price in beta, invoiced
- Tracked appsNo set limit
- Target markets per appAll
- Ingest pillars you can enableBrand, Paid, Organic (Paid and Organic collect once their sources are connected)
- AI analyses a monthNo set limit
- Hosted MCPYes
- SeatsNo set limit
- WatchesNo set limit
- Single sign-on (OIDC)Yes
- Audit log and exportYes
Source: lib/plans.mjs in the threefold repository, also served at /api/billing/plans. The data budget caps what live ingest and AI analyses may spend for the workspace in a month; it is a safety limit, not a charge.
How calls are metered
1,000,000 micro-USD is one US dollar. Every response says what it cost.
| Kind of call | Examples | What it costs |
|---|---|---|
| Free | Discovery, variant linting, managing workspace context | Nothing; no meter row |
| Library read | app, market, check (reads across stores, charts, ads, posts) | Beta price: 200 micro-USD ($0.0002) a call, from the allowance and then your balance |
| Fresh pull | A live store search, a backfill | Not available to customer keys until priced (fresh_pull_unpriced) |
| AI analysis | Server-side REST analyses (listing differences, market narrative, brand-name check) | Counts toward your plan's analyses and data budget |
| Watch | Continuous app and competitor monitoring (workspace action: watch) | A monthly charge per watch (beta) |
Every response carries X-Threefold-Cost-Micro-Usd and, when there is a balance, X-Threefold-Balance-Micro-Usd; MCP results carry the same in _meta. A key can have its own monthly spend cap. Send an Idempotency-Key header and a retried call is not charged twice. Sources: lib/pricing.mjs and lib/meter.mjs; every figure there is marked as a placeholder until pricing calibration is done.
Try it before you choose
Keyless reads and sandbox keys cost nothing. Connect your agent and see whether the answers are worth it to you.