Updated April 2026

Sentry Event-Based Pricing:Errors, Performance Units & Spike Protection

Sentry charges by event volume, not by seat. Understanding what counts as an event, how spike protection works, and when overages kick in is essential to budgeting accurately.

What Counts as a Sentry Event?

Sentry has four event types, each with its own monthly quota and pricing:

🐛

Errors

Dev: 5,000/moTeam: 50,000/mo

Any exception or error event captured by your Sentry SDK. Each occurrence of an error counts — even if it's the same exception thrown thousands of times. You can reduce error counts by enabling grouping and deduplication, but each event still counts when ingested.

Examples
  • Uncaught exceptions (Python, Ruby, Node, etc.)
  • JavaScript errors in the browser
  • HTTP 5xx errors captured via Sentry middleware
  • Background job failures

Performance Transactions

Dev: 10,000/moTeam: 100,000/mo

A performance transaction is a distributed trace — typically a single HTTP request, database query session, or background task — including all the spans within it. The transaction itself is one event; spans inside it are not counted separately.

Examples
  • An API endpoint request (1 transaction)
  • A database query session
  • A background Celery/Sidekiq job
  • A GraphQL mutation
🎬

Session Replays

Dev: 50/moTeam: 500/mo

A session replay is a video-like recording of a user's browser session, capturing mouse movements, clicks, network requests, and console errors. Each replay of a distinct user session counts as one event. Replays are useful for debugging complex UI issues.

Examples
  • User checkout flow recording
  • Admin dashboard session with errors
  • Mobile web session replay
🔬

Profiling

Dev: IncludedTeam: Included

Continuous profiling samples your application's call stack at regular intervals, creating flame graphs of CPU usage. Profiling events are counted separately from performance transactions. Currently available for Python, Node.js, Java, Go, and Rust.

Examples
  • CPU flame graphs for Python web workers
  • Memory profiling for Node.js services
  • Go goroutine profiling

How Spike Protection Works

Spike protection is one of Sentry's most important features for production safety. Available on Team plans and above.

Without spike protection (Free)

A deploy with a critical bug triggers 50,000 errors in 2 hours, exhausting your entire monthly 5,000 quota in minutes. Sentry stops ingesting events. You're blind for the rest of the month.

With spike protection (Team+)

The same deploy spike is detected. Sentry samples events during the spike at a reduced rate — you still see the error, its stack trace, and frequency. Your quota is preserved for the rest of the month.

How the detection works

1Sentry tracks your rolling average event rate over the past 7 days
2If incoming rate exceeds ~4x the recent average, spike mode activates
3Events are sampled probabilistically — you get representative coverage
4Spike mode deactivates automatically when rate normalises
5You receive a notification when spike protection activates

Reserved vs On-Demand Volume

Reserved Volume

  • • Pre-purchased at a discounted rate
  • • Committed for the full billing period
  • • Best for predictable, stable workloads
  • • Can't be rolled over if unused
  • • Roughly 20-40% cheaper than on-demand
Best choice if your monthly volume is consistent ±25%

On-Demand Volume

  • • Pay-as-you-go after reserved quota exhausted
  • • More expensive per event than reserved
  • • Good for unpredictable traffic spikes
  • • Can set spending caps to limit exposure
  • • Charged monthly based on actual usage
Set an on-demand spending cap to prevent surprise bills

5 Ways to Reduce Your Sentry Bill

1
Sample performance transactions

Most teams don't need 100% trace coverage. 10-20% sampling gives statistically representative performance data at 80-90% cost savings. Set tracesSampleRate: 0.1 in your SDK config.

2
Filter known noise at the SDK level

Use beforeSend in your SDK config to drop known-harmless errors (404s from bots, cancelled fetch requests, third-party script errors). These count toward your quota but have no debugging value.

3
Use inbound data filters

Sentry's dashboard has built-in filters: browser extensions, localhost, known crawlers. Enable these in Project Settings → Inbound Filters. Free error reduction with one click.

4
Group similar errors aggressively

Use fingerprinting rules to group related errors into fewer issues. This doesn't reduce ingested events, but helps you prioritise which errors to fix first — reducing future volume.

5
Review and clean up integrations

Every integration you connect can generate automatic events. Review which integrations are active and whether they're generating noise. Disable noisy integrations during off-hours.

Event Pricing FAQs

What counts as a Sentry event?+

Sentry counts four main event types: (1) Errors — any exception or error captured by the Sentry SDK. Multiple occurrences of the same error count separately. (2) Performance transactions — a trace of a user request or background job, including all spans within it. (3) Session replays — video-like recordings of user browser sessions. (4) Profiles — continuous profiling calls sampling your application's call stack. Each plan includes monthly quotas for each type.

How does Sentry spike protection work?+

Spike protection is a safeguard that prevents a sudden burst of errors from exhausting your entire monthly quota. When Sentry detects an abnormal spike (typically 4x or more above your recent baseline), it temporarily throttles event ingestion — dropping some events during the spike — rather than consuming your full quota in minutes. This means a bad deploy doesn't blind you for the rest of the month. Spike protection is available on Team plans and above; the free Developer plan does not have it.

What is the difference between reserved and on-demand volume?+

Reserved volume is purchased in advance at a discounted rate and committed for the billing period. On-demand volume is charged after the fact at a higher per-event rate when your reserved volume is exhausted. For predictable workloads, reserved volume is almost always cheaper. On-demand gives flexibility but can result in unexpected charges. Sentry lets you set on-demand spending caps to prevent surprises.

How can I reduce my Sentry event volume and costs?+

Key cost reduction strategies: (1) Use sampling — send only a percentage of performance transactions rather than 100%. 10% sampling on 1M transactions gives representative data at 10% of the cost. (2) Implement error filtering in your SDK configuration to ignore known noise (like expected 404s). (3) Set up inbound data filters in Sentry's settings to drop events from known bot traffic. (4) Use issue grouping rules to aggregate similar errors and reduce unique event counts. (5) Review your performance trace sample rate — most teams can safely sample at 10-20%.