Skip to content

Pricing & Limits

Featsync has two simple plans: Free and Pro.

Plans

Free Plan - $0/month

Perfect for side projects and MVPs.

ResourceLimit
Workspaces1
Feature flags5
Evaluations/month100,000
Environments1 (Production)
Team members1
Targeting rules2 per flag
API rate limit100 req/min

Includes:

  • Boolean flags (on/off)
  • Targeting rules (2 per flag)
  • JavaScript SDK
  • Dashboard access
  • Email support

Does not include:

  • Percentage rollouts
  • Multiple environments
  • Team collaboration
  • User segments
  • Audit logs
  • CLI tool

Pro Plan - $19/month

For growing startups and teams.

ResourceLimit
WorkspacesUnlimited
Feature flagsUnlimited
Evaluations/month1,000,000
EnvironmentsUnlimited
Team membersUnlimited
Targeting rulesUnlimited
User segmentsUnlimited
API rate limit1,000 req/min

Includes everything in Free, plus:

  • Percentage rollouts
  • Unlimited targeting rules
  • User segments (reusable groups)
  • Multiple environments (Dev, Staging, Production)
  • Unlimited team members (no per-seat pricing!)
  • CLI tool (scan codebase, cleanup stale flags)
  • Audit logs
  • Change history
  • Priority support

Feature Comparison

FeatureFreePro
Workspaces1Unlimited
Boolean flags
Targeting rules2 per flagUnlimited
User segments
Percentage rollouts
Environments1Unlimited
Team members1Unlimited
CLI tool
Audit logs
Change history
API rate limit100/min1,000/min
SupportEmailPriority

Evaluation Counting

An “evaluation” is counted each time your code checks a flag:

// Each of these counts as 1 evaluation
await featsync.isEnabled('flag-a'); // +1
await featsync.isEnabled('flag-b'); // +1
await featsync.isEnabledForUser('flag-c', userId); // +1

Reducing Evaluations

The SDK caches flags to reduce evaluations:

// Configure cache time
const featsync = new Featsync({
apiKey: 'fs_...',
cacheMs: 60000, // 1 minute cache
});
// During cache window, no new evaluations counted
await featsync.isEnabled('my-flag'); // +1 (API call)
await featsync.isEnabled('my-flag'); // +0 (cached)
await featsync.isEnabled('my-flag'); // +0 (cached)

Evaluation Limits Behavior

Usage LevelBehavior
0-79%Normal operation
80-99%Warning banner in dashboard
100-149%SDK refresh interval doubled
150-199%Dashboard read-only
200%+SDK uses cached values only

Your app never breaks - even at 200%+, the SDK returns cached values.

Upgrading

  1. Go to SettingsBilling in the dashboard
  2. Click Upgrade to Pro
  3. Enter payment details
  4. Instantly unlock Pro features

Downgrading

When you downgrade from Pro to Free:

ResourceBehavior
Flags 1-5Stay active
Flags 6+Archived (still evaluate, can’t edit)
EnvironmentsOnly Production remains editable
Team membersRemoved (notified via email)

Important: Archived flags continue to work. Your app won’t break.

FAQ

Why no free trial?

The Free plan is your trial:

  • Test the SDK integration
  • Validate the dashboard UX
  • Ship a real feature behind a flag

Pro features (environments, rollouts) are things you know you need. At $19/month, if unsure, just pay for one month.

Why no per-seat pricing?

We believe team pricing should be simple:

  • $19/month = unlimited team members
  • No surprise costs as your team grows
  • Everyone can toggle flags

What happens if I exceed limits?

  • Evaluation limits: SDK slows down, then uses cache. Never breaks.
  • Flag limits: Can’t create new flags. Existing flags work.
  • Rate limits: 429 response, retry after delay.

Can I get higher limits?

For enterprise needs, contact us.

Next Steps