Is there any limit for sending push notification?

Hi all,

I am working on an application which requires to send push notifications to the user. I tried expo push notification, I was able to integrate it with my app very easily. Kudos to the team.

Now, I am done with my MVP. Now moving to production. So can you guys tell me, how reliable is this expo push notification system in production.

  • Has anyone done benchmarking?
  • How many push notification per second we can send?
  • How many devices we can handle?
3 Likes

hello! send as many as you like, however if you plan on sending more than ~1 million per day then let us know, we’d love to talk to you about it.

9 Likes

It’s social application. It’s binary product. It might need more than 1 million push notification if it gets viral, otherwise it will be less than that. I just want to confirm, is it free for unlimited usage? If not then is there any pricing table?

1 Like

It’s free for unlimited usage.

4 Likes

Hi notbrent, my server did response Timeout error when I try to send PUSH notification to ~2000 devices. Below is my code:

        const msg = createPushNotificationMessage(null, title, description, data);
        
        let messages = [];
        for (var i = 0, len = tokens.length; i < len; i++) {
            let token = tokens[i];

            if (token != null && token != '') {
                messages.push(Object.assign({}, msg, { to: token }));
            }
        }

        /**@type {Array} */
        const chunks = expo.chunkPushNotifications(messages);

        const promises = chunks.map(items => {
            return expo.sendPushNotificationsAsync(items);
        });

        return Promise.all(promises);

It take a while(2-3 minutes) to send notifications to 2000 devices using this code so I think It’s impossible to send to ~1 million devices. Is there any better solution to do that ?

Hi @notbrent , any comment on that?

I also have a large number of users in one project that I’m working for and I would like to know if its possible to send hundred thousands of push notifications with expo or if is better to use another solution.

If you plan on sending a million push notifications at once, currently it might be better to detach and send notifications through your own server. We’re working on increasing the peak capacity of our push services amongst many other projects but you’ll always inherently have more control over a server you run yourself.

2 Likes

Thanks for answering, James and congratulations for your amazing work at Expo!

I’m planning for sending around one hundred thousand push notifications at once, daily.

Will it works fine as is much below the ‘million’ mark you said?

I suspect you’ll see issues right now if you send 100k at once but things should be fine if you space out your requests and have retry policies. And also be sure to use the batched API (our Node and Python SDKs use it by default) and to remove tokens for which you get DeviceNotRegistered errors.

Thanks! I"ll do as you suggested!

A couple days ago we also deployed a change to the Expo servers to fix an issue that could cause push notifications to time out if a couple thousand were received at once. We still recommend throttling the notifications and having retry logic (we could add this to the Node SDK perhaps) but push notification performance and reliability should be better now.

1 Like

Hello @notbrent, we are planning to send more notifications per day. Who should we contact with?

you can email secure@expo.io with more information :slight_smile:

As a fellow dev you have no idea how much I admire your Expo team hehe. Greetings.

Can anyone help me, I want to send notification to all users of my app via HTTP, but when I tried this way

{
    "to": [
      "ExponentPushToken[zzzzzzzzzzzzzzzzzzzzzz]",
      "ExponentPushToken[cvcvcvccvvvvvvvvvvvvvv]",
      "ExponentPushToken[ewrwerwerwerwerwerwe]",
      "ExponentPushToken[aaaaaaaaaaaaaaaaaaaaaa]"
    ],
    "body": "Breaking news!"
  }

Its not working.

it is only allow to send notification to only max 2 users or can I add unlimited?
How long it will take to send 1000 users notification at a time ?
Will it possible ?

2 Likes

I have the same issue

Yes, there is limit for emails and messages

Email limits

Address verification emails

Spark plan limit - 1000 emails/day

Flame and Blaze plan limit - 10,000 emails/day

Address change emails

Spark plan limit - 1000 emails/day

Flame and Blaze plan limit - 10,000 emails/day

Password reset emails

Spark plan limit - 150 emails/day

Flame and Blaze plan limit - 10,000 emails/day

Email link sign-in emails

Spark plan limit - 2000 emails/day

Flame and Blaze plan limit - 25,000 emails/day

Verification code SMS messages

50 messages/IP address/minute, 500 messages/IP address/hour

Verification requests

150 requests/IP address/hour

Regards
EngageAsap Team