Pushover: Simple Notifications for Android, iPhone, iPad, and Desktop
Android
iPhone & iPad
Desktop
Integrations
Pricing
Teams
API
Blog
Help
Login or Signup
Latest Pushover News:<br>API usage limit changes coming May 1st
Simple Notifications
Pushover makes it easy to get real-time notifications on your<br>Android, iPhone, iPad, and Desktop (Android Wear and Apple Watch, too!)
Powered by Pushover
With our Android ,<br>iPhone & iPad , and<br>Desktop Browser clients,<br>you can receive unlimited push notifications on all of your devices from<br>dozens of websites, services, and applications that<br>already integrate with Pushover. Just supply your Pushover User<br>Key or your Pushover<br>e-mail address and you'll be getting push notifications in an instant.
Pushover for Teams
Pushover for Teams is a monthly<br>service offering for organizations sending messages to multiple users and<br>includes a number of extra features such as user management and automated<br>onboarding.<br>Pricing is per month, per user, and more<br>information can be found on our Teams page.
Pushover for Everyone
Individuals and organizations not needing our Team features can use<br>Pushover for Android, iOS, and Desktop with no subscription and just a<br>simple one-time in-app purchase on each<br>platform where you need it, after a 30-day<br>free trial .
Simple Integration
For developers, system administrators, and everyone with just some<br>technical savvy, our API makes it<br>easy to integrate Pushover into your web app, network monitor, shell<br>script, and anything else you can think of to send notifications to<br>yourself or thousands of users. Pushing messages is as easy as using the<br>HTTP libraries available in nearly every programming<br>language with no custom modules required.
Command Line
curl -s \<br>--form-string "token=abc123" \<br>--form-string "user=user123" \<br>--form-string "message=hello world" \<br>https://api.pushover.net/1/messages.json
Python 3
import http.client, urllib<br>conn = http.client.HTTPSConnection("api.pushover.net:443")<br>conn.request("POST", "/1/messages.json",<br>urllib.parse.urlencode({<br>"token": "abc123",<br>"user": "user123",<br>"message": "hello world",<br>}), { "Content-type": "application/x-www-form-urlencoded" })<br>conn.getresponse()
Ruby
require "net/https"
url = URI.parse("https://api.pushover.net/1/messages.json")<br>req = Net::HTTP::Post.new(url.path)<br>req.set_form_data({<br>:token => "abc123",<br>:user => "user123",<br>:message => "hello world",<br>})<br>res = Net::HTTP.new(url.host, url.port)<br>res.use_ssl = true<br>res.verify_mode = OpenSSL::SSL::VERIFY_PEER<br>res.start {|http| http.request(req) }
Go
package main
import (<br>"net/http"<br>"net/url"<br>func main() {<br>http.PostForm("https://api.pushover.net/1/messages.json", url.Values{<br>"token": {"abc123"},<br>"user": {"user123"},<br>"message": {"hello world"},<br>})
Perl
use LWP::UserAgent;<br>use Mozilla::CA;
LWP::UserAgent->new()->post(<br>"https://api.pushover.net/1/messages.json", [<br>"token" => "abc123",<br>"user" => "user123",<br>"message" => "hello world",<br>]);
PHP
curl_setopt_array($ch = curl_init(), array(<br>CURLOPT_URL => "https://api.pushover.net/1/messages.json",<br>CURLOPT_POSTFIELDS => array(<br>"token" => "abc123",<br>"user" => "user123",<br>"message" => "hello world",<br>),<br>CURLOPT_SAFE_UPLOAD => true,<br>CURLOPT_RETURNTRANSFER => true,<br>));<br>curl_exec($ch);<br>curl_close($ch);
Get<br>Pushover for Android,<br>Pushover for iPhone/iPad,
or Pushover for Desktop and try it out<br>free for<br>30 days.
Pushover on Bluesky
Privacy |<br>Terms of Service |<br>API Status
Pushover® is a registered trademark of Pushover, LLC.
Copyright © 2012-2026 Pushover, LLC.<br>All rights reserved.