Skip to main content
Question

Best setup for integrating RevenueCat data — webhooks vs direct S3

  • January 13, 2026
  • 1 reply
  • 10 views

Forum|alt.badge.img

Hey everyone,

At our company, we currently ingest RevenueCat data through a webhook setup that sends events into our internal pipeline. We’re now considering whether to keep this approach or switch to pulling data directly into S3 (for example, via the API or an ETL process).

I’d love to hear what RevenueCat recommends here — and what other teams have found works best — especially regarding:

  • Data reliability and completeness over time.

  • Ease of scaling and maintaining the integration.

What’s the setup you’d suggest or have seen work best for production environments?

Thanks in advance for any insights!

 

1 reply

chris_perriam
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • January 20, 2026

Hi ​@en-9c4cee, happy to help here!

It might be best to use a hybrid approach depending on your specific needs. Like you identified in your message, there are three main ways to ingest RevenueCat data:

  1. Via our API
    Key benefit: find the current state of a user/transaction on-demand
  2. Via Webhooks
    Key benefit: learn of a significant event as soon as it is processed by RevenueCat
  3. Via Scheduled Data Exports
    Key benefit: daily processing of all (or only updated) transactions

When receiving a Webhook, we recommend calling our API to source the latest transaction and entitlement information for the customer. This reduces the burden of implementing subscription logic, and also helps make your systems resilient to delayed/replayed events. 

Syncing Subscription Status

Webhooks are commonly used to sync a customer's subscription status across multiple systems. Because different webhook events contain unique information, we recommend calling the GET /subscribers REST API endpoint after receiving any webhook. That way, the customer's information is always in the same format and is easily synced to your database. This approach is simpler than writing custom logic to handle each webhook event, and has the added benefit of making your system more robust and scalable.

 

Here are some additional helpful resources:

Let me know if there’s anything I can clarify further. Happy to help!