Get started

Works with all iOS and Android frameworks

Specify this in your PodFile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target 'YourApp' do
    pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git'
end
  1. Specify this in your Cartfile

    github "getsentry/sentry-cocoa"
  2. Then configure it:

    import Sentry
    
    func application(application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    
        // Create a Sentry client and start crash handler
        do {
            Client.shared = try Client(dsn: "https://<YOUR_DSN>@sentry.io/<YOUR_PROJ_ID>")
            try Client.shared?.startCrashHandler()
        } catch let error {
            print("\(error)")
        }
    
        return true
    }
  1. Grab the Sentry Java SDK. With Grade:

    compile 'io.sentry:sentry-android:VERSION'
  2. Then configure it:

    import io.sentry.Sentry;
    import io.sentry.android.AndroidSentryClientFactory;
    
    public class MainActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            Context ctx = this.getApplicationContext();
            Sentry.init(
              "your dsn",
               new AndroidSentryClientFactory(ctx)
            );
    
            try {
                runSomething();
            } catch (Exception e) {
                Sentry.capture(e);
            }
        }
    }

Learn more about our Java, Kotlin, and Scala SDKs.

No more guessing


A minimalist illustration of a user interface that alludes to the Mobile error tracking information features of Sentry.

Immediately discover the impact and severity of errors.


Automatically connect problems to the commits that unleashed them.


Assign them to the engineers — or teams — who wrote it. (Obviously that would never, ever be you.)

Work smarter, not dumber


Record environment and state details so you can recreate bugs down to screen orientation and resolution, OS version, and battery level.

Use Sentry’s tag distribution graph to isolate and prioritize any error by seeing how often it occurs in context.

  • “How actionable is this error? Can I just ignore it?”
  • “Is the error isolated to users who have an iPhone XS Max eXtreme Red Bull Edition?”
  • “What was the temperature of any impacted Samsung Galaxy Note 7s?”
  • “How many splines were being reticulated?”
  • “What was the value of the shopping cart?”

See the big picture And the little pictures. See any sized picture
without problem is what we’re saying.


Event trails detail what the app was doing before any error occurred.

An illustration depicting a sequence of events. A user types F, Ü, N, scrolls down, clicks a checkbox, then an error happens due to encoding problems.
A computer screen showing a modal window with the text “Everything is not fine,” indicating you are debugging an error.

No WiFi? No problem-fi. Record events even when devices are offline or in airplane mode, then send errors as soon as connection is regained.

Learn more

Is the problem actually not mobile at all, but instead maybe caused by something a back-end dev wrote for the web app that broke the API you’re using? Sentry can tell you that too.

An illustration of email, text, and chat notification. In the center is a flame icon representing alerts from exception handling.

Is your data secure?
You better believe it.


Just look at all the high-quality security features all accounts get, regardless of plan.

  • Two-Factor Auth
  • Single Sign On support
  • Organization audit log

Learn more about Security

  • Privacy Shield certified
  • PII data scrubbing
  • SSL encryption

Learn more about Privacy

Mobile debugging that looks nice too Have some self-respect while you monitor errors

A screenshot of the Sentry crash reporting dashboard
1,000,000 developers at over 30,000 companies already use Sentry. Why don’t you?