OneSignal Push Notifications

Customer Messaging Delivered

The market leading self-serve customer engagement solution for Push Notifications, Email, SMS & In-App.

Get Started NowContact Sales

No credit card required

Trusted by 1,400,000+ leading businesses

Key to Success for Marketers

Connect with your audience the right way

15 Minute Setup

Our users are always shocked at how easy it is to get started.

Real-Time Reporting

View delivery and conversion performance for every message.

Incredible Scalability

Millions of users? No problem. We send out billions of notifications daily.

A/B Testing

Compare message performance and automatically send the best.

Superior Segmentation

Create personalized messages and send them to the right audiences.

Automated Messaging

Set it and forget it. You can trigger notifications based on user behavior.

Intelligent Delivery

Leverage machine learning to send your messages at the optimal time.

Analyze Results Anywhere

Our SDKs are open source and every component is accessible via API.

Loved by Developers

Our founders were developers who built OneSignal out of a personal need. We've made it easy for any business to get running and to get amazing results. All in less than 10 lines of code.

Apple iOS
import OneSignal

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    appId: "YOUR_APP_ID",
    handleNotificationAction: nil,
    settings: [kOSSettingsKeyAutoPrompt: false])

  OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification;

  OneSignal.promptForPushNotifications(userResponse: { accepted in
    print("User accepted notifications: \(accepted)")

  return true
import com.onesignal.OneSignal;

public class YourAppClass extends Application {
   public void onCreate() {

Web Push
  <link rel="manifest" href="/manifest.json">
  <script src="" async></script>
    var OneSignal = window.OneSignal || [];
    OneSignal.push(["init", {
      appId: "YOUR_APP_ID"
React Native
import OneSignal from 'react-native-onesignal';

export default class App extends Component {
  constructor(properties) {

    OneSignal.addEventListener('opened', this.onOpened);

  componentWillUnmount() {
    OneSignal.removeEventListener('opened', this.onOpened);

  onOpened(openResult) {
    console.log('Message: ', openResult.notification.payload.body);
    console.log('openResult: ', openResult);
using System.Collections.Generic;

void Start() {

  OneSignal.inFocusDisplayType = OneSignal.OSInFocusDisplayOption.Notification;

private static void HandleNotificationOpened(OSNotificationOpenedResult result) {
  // use notification opened result here
void main() {
    OneSignal.shared.init("YOUR_APP_ID", {
        OSiOSSettings.autoPrompt: false


Code in any language. We provide native support for every development environment.

30+ Platform Integrations

Integrations diagram

Limitless Integrations

OneSignal integrates with leading analytics, CMS, and eCommerce solutions including Amplitude, Mixpanel, Segment, HubSpot, Shopify, WordPress, and many more.

Sync audiences and user data to trigger real-time messages.

More Integrations
John Turner
With more than 60 owned and operated sports sites, the USA Today Sports Media Group relies on OneSignal to get the right content in front of the right fans. From notifications on desktop browsers to targeted deep-links into our SportsWire app, OneSignal has made engaging our readers fast, simple and effective.