Your phone just chirped

Send push notifications to your iPhone with a single HTTP request. No accounts, no dashboards, no fuss.

Terminal
$ curl -X POST https://pushbird.app/pb_a1b2c3d4... \
  -H 'Content-Type: application/json' \
  -d '{"title":"Deploy","message":"v2.1 is live"}'

{"ok":true}
How it works
01

Install the app

Grab PushBird from the App Store. It generates a unique webhook URL for your device right away.

02

Copy your webhook URL

Your URL looks like https://pushbird.app/pb_abc123... - copy it, share it, or scan the QR code.

03

Make a request

Call the URL from curl, your CI pipeline, a cron job, a monitoring script. Any HTTP client works.

04

Get notified

Your phone buzzes. Done. No polling, no websockets.

Quick examples
curl
PHP
Python
Node.js
Go
# POST with JSON
curl -X POST https://pushbird.app/pb_your_secret \
  -H 'Content-Type: application/json' \
  -d '{"title":"Build #42","message":"All tests passed"}'

# POST plain text
curl -X POST https://pushbird.app/pb_your_secret \
  -d 'Server disk at 91%'

# GET request
curl 'https://pushbird.app/pb_your_secret?title=Alert&message=Check+logs'
# POST with JSON
import requests

requests.post("https://pushbird.app/pb_your_secret", json={
    "title": "Deploy",
    "message": "v2.1 shipped to prod"
})

# POST plain text
requests.post("https://pushbird.app/pb_your_secret",
    data="Server disk at 91%")

# GET request
requests.get("https://pushbird.app/pb_your_secret",
    params={"title": "Alert", "message": "Check logs"})
// POST with JSON
await fetch("https://pushbird.app/pb_your_secret", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ title: "CI", message: "Pipeline green" })
});

// POST plain text
await fetch("https://pushbird.app/pb_your_secret", {
  method: "POST",
  body: "Server disk at 91%"
});

// GET request
await fetch("https://pushbird.app/pb_your_secret?title=Alert&message=Check+logs");
// POST with JSON
body := strings.NewReader(`{"title":"Alert","message":"CPU > 90%"}`)
req, _ := http.NewRequest("POST",
    "https://pushbird.app/pb_your_secret", body)
req.Header.Set("Content-Type", "application/json")
http.DefaultClient.Do(req)

// POST plain text
http.Post("https://pushbird.app/pb_your_secret",
    "text/plain", strings.NewReader("Server disk at 91%"))

// GET request
http.Get("https://pushbird.app/pb_your_secret?title=Alert&message=Check+logs")
// POST with JSON
$ch = curl_init('https://pushbird.app/pb_your_secret');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode([
        'title' => 'Deploy',
        'message' => 'v2.1 shipped'
    ])
]);
curl_exec($ch);

// POST plain text
file_get_contents('https://pushbird.app/pb_your_secret', false,
    stream_context_create(['http' => [
        'method' => 'POST',
        'content' => 'Server disk at 91%'
    ]]));

// GET request
file_get_contents('https://pushbird.app/pb_your_secret?title=Alert&message=Check+logs');
Why PushBird?

Dead simple

Install the app, get a URL, start sending. No accounts, no email, no OAuth.

Privacy first

We don't store your messages. Notifications fly through to Apple and get forgotten. The webhook secret lives only on your device.

Minimal by design

If you need dashboards and team management - look elsewhere. If you need a webhook that delivers notifications reliably, this is it.

Works everywhere

curl, Python, Node, Go, PHP, Ruby. If it can make an HTTP request, it can send you a push.