Head to head · Push notifications · October 2026 research run

Expo Push Notifications vs Firebase Cloud Messaging

Firebase Cloud Messaging scores 69.8 (B) on agent readiness against Expo Push Notifications's 58.8 (C), and leads in 6 of 7 scored categories. Both do push notifications.

Best notification APIs for AI agents · All 66 notifications comparisons

Which one, for what

Expo Push Notifications C

Good for An agent that must push to an app already built with Expo, at no cost and with one call for both platforms.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

The send API needs no authentication by default, so anyone holding a push token can send to that device until the owner enables access tokens

Firebase Cloud Messaging B

Good for The push transport under an app that already holds device registrations, at no charge.

Ahead on

  • Schema & documentation, 86 against 60
  • Agent ergonomics, 70 against 63
  • Security & auth, 68 against 48
  • Maintenance & community, 83 against 74
  • Transparency & trust, 81 against 68

Watch for

Push transport only. No in-app feed, email, SMS, user preferences, digests or templates

Score by category

CategoryWeight this runExpo Push NotificationsFirebase Cloud MessagingEdge
Reliability16%206566Firebase Cloud Messaging +1
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26086Firebase Cloud Messaging +26
Agent ergonomics13%16.26370Firebase Cloud Messaging +7
Security & auth14%17.54868Firebase Cloud Messaging +20
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87483Firebase Cloud Messaging +9
Transparency & trust7%8.86881Firebase Cloud Messaging +13
Negative events≤1500
Total58.8 · C69.8 · B

Facts side by side

FactExpo Push NotificationsFirebase Cloud Messaging
KindHTTP APIHTTP API
VendorExpoGoogle
Hosted endpointhttps://exp.host/--/api/v2/push/sendhttps://fcm.googleapis.com
TransportsHTTPHTTP
AuthOAuth or keyOAuth
PricingFreeFree
x402nono
LicenceProprietary service under Expo's terms of service. The Node.js server SDK is MITProprietary service under the Google APIs Terms of Service. The Firebase Admin SDKs are Apache-2.0
Read-only variant documentednono
llms.txtyesyes
Last release2026-08-242026-09-24
Terms last updated2025-05-292021-11-09
Privacy policy last updated2025-10-212026-10-01
Customer content may train modelsnot found in the textyes
Terms restrict automated accessyesyes
Terms restrict benchmarkingnot found in the textnot found in the text
Terms or service can change without noticeyesnot found in the text
Arbitration or class-action waiveryesnot found in the text
Popularity1k stars, 1.3M npm/wk11.5M npm/wk, 3.8M PyPI/wk

Verdicts

Expo Push Notifications

A free push relay with a small, well documented HTTP API, published limits of 600 notifications a second and written error codes. Sending needs no credential unless the owner turns on access tokens, there is no idempotency key or SLA, and the status page records three iOS push incidents since 4 August 2026.

Firebase Cloud Messaging

Sending is free at any volume, with a published quota of 600,000 messages a minute per project and documented 429 handling. FCM is push transport only. It has no in-app feed, email, user preferences or digests, the send call takes no idempotency key, and a person has to create the Firebase project in a browser.

Before you call either

Expo Push Notifications

  1. Send an array of up to 100 messages per request, all for one project, and stay under 600 notifications a second
  2. Keep each ticket id and POST them to /--/api/v2/push/getReceipts about 15 minutes later. Receipts are cleared after 24 hours
  3. Stop sending to a token when a ticket or receipt returns DeviceNotRegistered
  4. If the project has enhanced push security on, send Authorization: Bearer <access token> or the call fails with UNAUTHORIZED
  5. Retry 429 and 5xx with exponential backoff, and expect an occasional duplicate because there is no idempotency key

Firebase Cloud Messaging

  1. Mint an access token from a service account with the scope https://www.googleapis.com/auth/firebase.messaging, then POST to https://fcm.googleapis.com/v1/projects/<project-id>/messages:send
  2. Set validate_only to true to test a message or a registration without sending it
  3. On 429 wait for the retry-after header, or 60 seconds if it is absent. Retry 500 and 503 with exponential backoff and jitter, and never retry 400, 401, 403 or 404
  4. Drop a registration when the error is UNREGISTERED (404). Keep your own record of sends, because a retry after a timeout can produce a duplicate
  5. Target fid in new code. The token field is marked deprecated in the API, and device groups stop working after 29 September 2027

Questions

Which is better for AI agents, Expo Push Notifications or Firebase Cloud Messaging?

Firebase Cloud Messaging scores 69.8 (B) on agent readiness against Expo Push Notifications's 58.8 (C), and leads in 6 of 7 scored categories.

Do Expo Push Notifications and Firebase Cloud Messaging need an API key?

Expo Push Notifications takes an API key or an OAuth sign-in. Firebase Cloud Messaging uses an OAuth sign-in.

Can an agent call Expo Push Notifications and Firebase Cloud Messaging without installing anything?

Yes. Expo Push Notifications has a hosted endpoint at https://exp.host/--/api/v2/push/send and Firebase Cloud Messaging at https://fcm.googleapis.com.

Other comparisons with Expo Push Notifications or Firebase Cloud Messaging

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.