# Pocket Alert vs Bark

> Bark alternative with iOS and Android apps, a web dashboard, shared message history, inbound webhooks with JSON field mapping and scheduled delivery. Same one-request push, free tier.

<!-- source: https://pocketalert.app/alternatives/bark -->

Last updated: 2026-10-10

Bark is one of the nicest ways to get a push onto an iPhone: free, open source, one URL to call, and encryption the server cannot read. It also stops at the iPhone. Pocket Alert keeps the one-request API and adds the parts Bark leaves out: an Android app, a web dashboard, history shared by every device on the account, and webhook URLs that turn GitHub, Sentry or Grafana payloads into readable alerts with no script in between.

## Where Bark runs out

Bark gets the sending right. The gaps show up once there is more than one phone, or more than one service.

- **iPhone only** — There is no Android app. If a teammate or your second phone runs Android, the alert never reaches it.
- **You shape every message** — Bark expects title and body in its own parameter names. A service that posts its own JSON needs a script to translate it first.
- **History stays on one phone** — Archived pushes are stored in the app on that phone. There is no dashboard or account to read them from anywhere else.
- **One key, one device** — A key belongs to a single device. Put the same key on two phones and only the one opened last gets the push.

## Pocket Alert vs Bark, feature by feature

Both send a push from a single HTTP request. The difference is what is there once you need more than one iPhone.

### Where you use it

- **iOS app** — Pocket Alert: Yes; Bark: Yes (iOS 15 and later)
- **Android app** — Pocket Alert: Yes; Bark: No
- **Web dashboard** — Pocket Alert: Yes (Devices, keys, apps, webhooks); Bark: No
- **Chrome extension** — Pocket Alert: Yes (Send a link or note to your phone); Bark: Partly (Community-built only)
- **Command-line tool** — Pocket Alert: Yes (Official binary for Linux, macOS, Windows); Bark: No (Any HTTP client)
- **MCP server for AI agents** — Pocket Alert: Yes (10 tools); Bark: Yes (HTTP endpoint per device key)

### Sending alerts

- **Send via HTTP API** — Pocket Alert: Yes; Bark: Yes (GET, POST or JSON)
- **Inbound webhook URL per source** — Pocket Alert: Yes (One URL per service); Bark: Partly (The device URL takes POST, without mapping)
- **Payload mapping into the message** — Pocket Alert: Yes (%field.path% into title, body and buttons); Bark: No (The sender uses Bark's parameters)
- **Scheduled delivery** — Pocket Alert: Yes (Up to 30 days, listable and cancellable); Bark: No
- **Priority levels** — Pocket Alert: Yes (Five, silent to critical); Bark: Yes (Four iOS interruption levels)
- **Critical alerts that override Do Not Disturb** — Pocket Alert: Yes (On paid plans); Bark: Yes (iOS critical alerts, ring on silent)
- **Action buttons on the notification** — Pocket Alert: Yes (Up to 3: open, HTTP request, copy); Bark: Partly (Open a URL or copy, no custom buttons)
- **Attachments** — Pocket Alert: Yes (Images); Bark: Yes (Image by URL)
- **Grouping by source** — Pocket Alert: Yes (Applications, filtered in the app); Bark: Yes (group parameter)
- **Email delivery** — Pocket Alert: No; Bark: No
- **SMS or phone-call delivery** — Pocket Alert: No; Bark: No (call=1 repeats the ringtone for 30 s)

### Records and debugging

- **Message history** — Pocket Alert: Yes (Account-wide, synced to app and web); Bark: Partly (In the app, on that phone only)
- **Webhook call log** — Pocket Alert: Yes (Headers, payload, rendered message, result); Bark: No
- **History retention** — Pocket Alert: Yes (Messages until you delete them; webhook calls 7–365 days by plan); Bark: Yes (Until deleted, or a per-message ttl)
- **Delivery statistics** — Pocket Alert: Yes (Per application and per device); Bark: No

### Account and data

- **Content encryption** — Pocket Alert: Yes (At rest with a per-account key, secrets redacted); Bark: Yes (End-to-end AES with your own key)
- **Two-factor authentication** — Pocket Alert: Yes (TOTP with recovery codes); Bark: No (No account, a device key)
- **Open source or self-hosted** — Pocket Alert: No; Bark: Yes (MIT, Docker image)

Bark data from bark.day.app, the Bark and bark-server GitHub repositories and the App Store listing (v1.6.4), checked October 2026.

## Pricing

- **Free plan** — Pocket Alert: 50 messages a day, no card; Bark: Free app and public server, no sign-up
- **Entry paid plan** — Pocket Alert: $6/month — 1,000 messages a day, 5 webhooks; Bark: No paid plans
- **Highest tier** — Pocket Alert: $25/month — unlimited messages, 365-day history; Bark: No paid plans; self-hosting costs only your server

Pocket Alert pricing as of October 2026. Bark figures from bark.day.app and the App Store.

## Coming from Bark

1. **Install and get a key** — Install the app on your iPhone or Android phone, sign in, and copy your API key from the dashboard.
2. **Swap the URL** — Replace api.day.app/your-key with the Pocket Alert endpoint. body becomes message, and level=timeSensitive becomes level=high.
3. **Point services at webhooks** — Where a script was reshaping JSON into Bark parameters, create a webhook and map the payload with %field.path% instead.
4. **Add the other phones** — On a paid plan, sign in on every phone that should get alerts. Leave the device out of the request and the push goes to all of them, no list of keys to keep.

### Before: Bark

```bash
curl https://api.day.app/push \
  -H 'Content-Type: application/json' \
  -d '{
    "device_key": "YOUR_DEVICE_KEY",
    "title": "Deploy finished",
    "body": "main is live",
    "level": "timeSensitive",
    "url": "https://github.com/you/repo/actions"
  }'
```

### After: Pocket Alert

```bash
curl https://api.pocketalert.app/v1/messages \
  -H 'Token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Deploy finished",
    "message": "main is live",
    "level": "high",
    "actions": [{ "type": "view", "label": "Open run",
                   "value": "https://github.com/you/repo/actions" }]
  }'
```

## FAQ

### Is there a Bark app for Android?

No. Bark is an iOS app, and bark-server delivers through Apple Push Notification service only. Pocket Alert has apps for iPhone and Android, and one API key reaches every device on the account, whichever platform it runs: one device on the free plan, three or more on paid plans.

### Bark is free. Why use Pocket Alert?

For one iPhone and a handful of scripts you may not need to: Bark is free and open source. Pocket Alert has a free plan as well, 50 messages a day with no card. What it adds on every plan is Android, a web dashboard, history shared across your devices, and inbound webhooks with field mapping and a log of every call. Paid plans raise the volume and add scheduling, longer history and critical delivery.

### Which one is more private?

Bark has the stronger answer here. You can run bark-server yourself, and its encrypted push uses a key only your phone knows, so neither the server nor Apple can read the content. Pocket Alert is a hosted service: message content is encrypted at rest with a per-account key, secrets in webhook payloads are redacted, and the account can be locked with two-factor authentication.

### Can an alert ring my phone on silent?

Bark can: `level=critical` uses iOS critical alerts and rings in silent mode at a volume you choose. On Pocket Alert, the critical level overrides Do Not Disturb on Android. On iPhone it arrives as a time-sensitive notification that gets through Focus; the full critical-alert sound is rolling out as Apple grants the entitlement.

### Can services send to it without a script?

Yes, and it is the biggest difference day to day. Each Pocket Alert webhook has its own URL. Point GitHub, Sentry, Grafana or Stripe at it, and placeholders like `%repository.name%` pull fields from the raw JSON into the title, body and action buttons. Bark expects its own parameter names, so a service that posts its own JSON needs a script in between.
