Web Push Notifications
Pushpad is the easiest way to send notifications from websites and web apps.
We deliver millions of web push notifications per hour.
About Web Push Notifications
Websites and web apps can send push notifications.
Try a notification ›
Web Technology
We rely on browser features: Pushpad uses the W3C Push API and related standards for sending the notifications.
Off-Site Push Notifications
Web push notifications are delivered instantly, even when the users are not on your website.
Desktop & Mobile Browser Support
Pushpad works with all browsers (desktop & mobile) that support web push notifications.
-

Chrome
Desktop and Android
-

Firefox
Desktop and Android
-

Opera
Desktop and Android
-

Edge
Windows
-

Safari
MacOS and iOS
-

Samsung Internet
Android
Web Push Notification Service
Pushpad is the professional solution for web app developers and websites of any size that want to send push notifications. We offer an API and a dashboard and you can subscribe the users to web push notifications on your domain using the Javascript SDK or the widget.
The JavaScript SDK in 1 minute
If you are looking for a standard solution you can use pushpad('widget')
.
Otherwise you can build any UI component with your custom style and a few simple methods: you can subscribe the user and display the native permission prompt with pushpad('subscribe')
, you can get the current subscription status with pushpad('status')
, you can unsubscribe the user with pushpad('unsubscribe')
, you can authenticate your users with pushpad('uid')
or attach other data for targeting with pushpad('tags')
.
Read the docs
Sending web push notifications
You can send web notifications manually from the dashboard. You can also automate notification sending with the REST API or using one of the libraries. We also offer a Zapier app for RSS feeds and other integrations.
notification = Pushpad::Notification.new({
title: "Web Notification Example",
body: "Hello world!",
target_url: "https://example.com"
})
# deliver to specific users
notification.deliver_to ["user1", "user2"]
# deliver to segments
notification.broadcast tags: ['tag1', 'tag2']
# deliver to everyone
notification.broadcast
$notification = new Pushpad\Notification(array(
'title' => "Web Notification Example",
'body' => "Hello world!",
'target_url' => "https://example.com"
));
# deliver to specific users
$notification->deliver_to(["user1", "user2"]);
# deliver to segments
$notification->broadcast(["tags" => ["tag1", "tag2"]]);
# deliver to everyone
$notification->broadcast();
var pushpad = require('pushpad');
var project = new pushpad.Pushpad({ authToken: AUTH_TOKEN, projectId: PROJECT_ID });
var notification = new pushpad.Notification({
project: project,
title: 'Web Notification Example',
body: 'Hello world!',
targetUrl: 'https://example.com'
});
// deliver to specific users
notification.deliverTo(['user1', 'user2'], function(err, result) { /*...*/ });
// deliver to segments
notification.broadcast({ tags: ['tag1', 'tag2'] }, function (err, result) { /*...*/ });
// deliver to everyone
notification.broadcast(function(err, result) { /*...*/ });
import pushpad
project = pushpad.Pushpad(auth_token=AUTH_TOKEN, project_id=PROJECT_ID)
notification = pushpad.Notification(
project,
title="Web Notification Example",
body="Hello world!",
target_url="https://example.com"
)
# deliver to specific users
notification.deliver_to(('user1', 'user2'))
# deliver to segments
notification.broadcast(tags=['tag1', 'tag2'])
# deliver to everyone
notification.broadcast()
Pushpad pushpad = new Pushpad(authToken, projectId);
Notification notification = pushpad.buildNotification("Web Notification Example", "Hello world!", "https://example.com");
try {
// deliver to specific users
String[] users = {"user1", "user2"};
notification.deliverTo(users);
// deliver to segments
String[] tags = {"tag1", "tag2"};
notification.broadcast(tags);
// deliver to everyone
notification.broadcast();
} catch (DeliveryException e) {
e.printStackTrace();
}
pushpad.Configure("AUTH_TOKEN", "PROJECT_ID")
n := pushpad.Notification {
Title: "Web Notification Example",
Body: "Hello world!",
TargetURL: "https://example.com",
}
res, err := n.Send()
// deliver to specific users
n := pushpad.Notification { Body: "Hello world!", UIDs: []string{"user1", "user2"} }
res, err := n.Send()
// deliver to segments
n := pushpad.Notification { Body: "Hello world!", Tags: []string{"tag1", "tag2"} }
res, err := n.Send()
// deliver to everyone
n := pushpad.Notification { Body: "Hello world!" }
res, err := n.Send()
curl -X POST 'https://pushpad.xyz/api/v1/projects/PROJECT_ID/notifications' \
-H 'Authorization: Token token="AUTH_TOKEN"' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"notification": {
"title": "Web Notification Example",
"body": "Hello world!",
"target_url": "https://example.com"
},
"uids": ["user1", "user2"],
"tags": ["tag1", "tag2"]
}'
Reach the Right Audience
Transactional Notifications & User Authentication
Authenticate your users with signed tokens when they subscribe to notifications and then send messages to specific users or groups.
Tag-based Routing
Filter your audience with tags and expressions (AND, OR, NOT) and manage notification preferences for each device.
Marketing Campaigns & Bulk Notifications
You can reach all your subscribers or create custom segments. It's very simple and you can reach your audience in a few minutes, even if you have millions of users.
Analytics & Monitoring
Project overview
See how many people subscribe to your web notifications and monitor your project with aggregated stats.
Detailed stats
See the number of clicks and the delivery status for each notification.
Custom metrics
Tag the notifications to aggregate the stats in custom ways. Compare the CTR and other metrics for different groups of notifications.
A Layer of Abstraction
Unified API for Multiple Services
Send web notifications to Firebase, Mozilla autopush, Windows Push Notification Services and Apple Push Notification service with just one API.
High Level SDK
The libraries for web push are simple and opinionated. We have already made the hard choices for you.
Subscription Management
Pushpad automate the configuration of VAPID key pairs required for web push, simplify the management of subscriptions, automatically replace subscriptions with the new ones when they expire and removes the invalid subscriptions.
Performance & Deliverability
High Throughput
You can send thousands of web push notifications per second and they get delivered in near real-time, without queues.
Low Response Time & Page Speed
An API call for sending a web push notification to millions of subscribers takes only fractions of a second. Also the Javascript SDK is asynchronous and doesn't impact page load speed.
Error Handling
We manage many kinds of exceptions and perform automatic retries to ensure the notification delivery.
Full-Featured Web Notifications
Awesome Notifications
Send awesome web notifications and customize the title, body, link, icon, expiration and sender domain. You can also add emoji, large images and action buttons. Action buttons can open a web page or even perform Javascript actions in background.
Welcome Notifications
You can easily create welcome messages and welcome series that are automatically sent to the new subscribers.
Scheduled Notifications
You can create scheduled notifications that will be sent at a given time in the future.
Your Style & Custom Behavior
Customizable Widget
The widget is the easiest way to collect subscribers on your website using a subscription prompt, a floating action button or a subscribe button. You have complete control over text, color, behavior, timing, position, size, font and more.
Javascript SDK for Developers
The Javascript SDK allows you to build a custom subscription flow or new components for advanced integrations and a perfect user experience. You can create your own design or display the browser permission prompt directly.
Data Protection
Privacy & Data is yours
We protect the privacy of your business and we don't resell data about your users. Our SDK is completely free from tracking cookies. We are based in Europe.
Identity and Access Management
You can add members with limited access to your project. In this way you protect your data, while multiple authors can manage the notifications.
Easy Integration
Vanilla JavaScript & Any Frontend Framework
The JavaScript SDK is written in plain JavaScript, without dependencies. It works well with any technology and any frontend framework, including React and Vue.
WordPress Plugin
Web push notifications re-engage your users by notifying them when you publish something new.
7+ years of experience with web push notifications.
10,000+ websites have reached 200,000,000+ devices with billions of notifications using Pushpad.