Perchpush
NewIntelligent Delivery sends at each person’s best hour

Messages that landwhen people are listening.

Perchpush sends push, in-app messages, an inbox, email and SMS from one place, at the hour each person actually picks up their phone. It runs on your own Firebase and Apple keys, so you stay in control.

  • 20,000 sends a month free
  • Unlimited subscribers
  • Your Firebase & APNs keys
Perchpush — New messageLive demo · try it
Channel
Maya opens her phone most around 8:00 PM.
Tuesday, 12 May8:02
Lingonow
Your streak is waiting, Maya 🔥
Two minutes tonight keeps your 12-day streak alive. Pick up where you left off.

Illustration with an example user. Your app’s real best hours come from its own data.

Works with the stack you already ship

FlutterAndroidiOSWeb pushReact NativeNode.jsREST APIFirebase FCMApple APNsYour SMTPYour SMS gatewaySigned webhooksSlack alertsCSV import
The problem

Most notifications get swiped away.

Not because they’re spam, but because they show up at the wrong moment, in the wrong words, and nobody can tell if they helped.

They arrive at the wrong hour

A 2 PM blast lands mid-meeting for one person and at 3 AM for another. Both swipe it away.

Everyone gets the same words

One language, no name, a link that opens the home screen. It reads like a broadcast.

You can’t tell what worked

“Sent: 40,000” says nothing. Did anyone come back who wouldn’t have anyway?

Perchpush fixes all three: the right hour, their own words, and proof of what changed. See how it works →

What’s inside

Everything to message well.
Nothing to babysit.

Intelligent Delivery

The right person, at the right hour

Perchpush learns when each device engages and sends within that hour. Local time and quiet hours keep you polite.

How Intelligent Delivery works
Every channel

Five channels, one campaign

Push on Android, iOS and the web, live in-app messages, an inbox, email and SMS, all from one API call.

Push · Android, iOS, webDelivered
Inbox · stays until readSaved
Email · through your SMTPSent
See every channel
Journeys

Automations that run themselves

Waits, goals and exits. Set it up once and every new user walks the path.

Explore journeys
A/B tests

Tests that pick their own winner

Try two versions on a slice, then send the winner to everyone else.

How tests and hold-outs work
Localization

Their language, their name

One message, delivered in each phone’s language with personal details filled in.

Templates and languages in the docs

Explore all features →

For developers

Small SDKs. Clear errors. An API you’ll remember.

  • The Flutter SDK is pure Dart and plugs into the firebase_messaging you already use.
  • Every attempt is logged with the raw answer from Apple, Google or the browser.
  • Paste a setup brief into Claude Code, Cursor, Codex or Copilot and let it do the wiring.
  • Flutter
  • iOS
  • Android
  • React Native
  • Web
  • Node.js
  • REST
lib/main.dart
Perchpush.configure(appKey: 'pk_…');
await Perchpush.attachFirebase(FirebaseMessaging.instance,
    onMessageOpenedApp: FirebaseMessaging.onMessageOpenedApp);

await Perchpush.identify(user.id, signature: sig);
await Perchpush.track('lesson_completed');
Trust built in

Your users, your keys, your rules.

Your keys, your tokens

Sends go through your own Firebase, APNs, SMTP and SMS accounts. If you leave, your tokens come with you.

Encrypted credentials

Provider keys are sealed with AES-256-GCM under a rotatable keyring, and user identity can be HMAC-signed.

Hosted in the EU

Servers, database and backups live in Germany, with a GDPR Data Processing Agreement built in.

How we keep your data safe →

FAQ

Good questions, straight answers.

Do I need my own Firebase project?

Yes. Push tokens belong to the Firebase project your app was built with, so Perchpush sends with that project’s key. You keep ownership, and Google’s free FCM quota.

Which platforms are supported?

Flutter, web, React Native and native iOS (Swift), plus a Node.js server SDK and a plain REST API. A native Android (Kotlin) SDK is in preview; Android apps built with Flutter, React Native or the web are fully supported today.

Can I move from OneSignal or another provider?

Upload the same Firebase key, import your users from CSV and ship one app update with the Perchpush SDK. Existing tokens keep working.

Is there a free plan?

Yes. Starter is free for 20,000 sends a month with unlimited subscribers, and no card is needed to sign up.

More answers on pricing, developers and security.

Free to start

Your next message could be
the one they open.

Create an app, connect Firebase and send a test to your own phone in a few minutes.