Skip to main content
RevenueCat is a subscription management platform that simplifies in-app purchases and subscriptions for mobile apps. It provides a unified API to manage subscriptions across different app stores like Apple App Store, Google Play Store, and Stripe.

Configuring RevenueCat as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the RevenueCat option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You’ll need your RevenueCat API Key and Project ID for this connection. You can find these in your RevenueCat dashboard. Once you have them, add the account access. The following configurations are available:
  • API Key: Your RevenueCat Public API Key (v2).
  • Project ID: The ID of your RevenueCat project.
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.
  • Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
  • Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
    • Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from RevenueCat and their corresponding fields:
Stream for managing customer and subscriber information.Key Fields:
  • id - Unique identifier for the customer
  • first_seen_at - Timestamp of when the customer was first seen
  • last_seen_at - Timestamp of the customer’s last activity
  • last_seen_app_version - The last app version used by the customer
  • last_seen_platform - The last platform used by the customer
  • last_seen_country - The last country where the customer was seen
  • last_seen_platform_version - The last platform version used by the customer
  • active_entitlements - Object containing a list of active entitlements.
    • items: An array of entitlement objects.
  • experiment - Object containing details about any experiment the customer is enrolled in.
    • id: The experiment ID.
    • name: The experiment name.
    • variant: The variant of the experiment.
  • attributes - Object containing a list of custom customer attributes.
    • items: An array of attribute objects.
Core stream for tracking customer subscriptions. This is a child stream of Customers.Key Fields:
  • id - Unique identifier for the subscription
  • customer_id - ID of the customer associated with the subscription
  • original_customer_id - The original customer ID, in case of an alias
  • product_id - ID of the subscribed product
  • status - Current status of the subscription (e.g., active, expired)
  • starts_at - Timestamp of when the subscription started
  • current_period_starts_at - Timestamp of the start of the current billing period
  • current_period_ends_at - Timestamp of the end of the current billing period
  • ends_at - Timestamp of when the subscription is scheduled to end
  • gives_access - Whether the subscription currently grants access to entitlements
  • pending_payment - Whether there is a pending payment for the subscription
  • auto_renewal_status - Status of auto-renewal for the subscription
  • total_revenue_in_usd - Object containing total revenue details.
    • currency: Currency code.
    • gross: Gross revenue.
    • commission: App store commission.
    • tax: Sales tax.
    • proceeds: Net revenue.
  • presented_offering_id - The ID of the offering that was presented to the user
  • entitlements - Object containing a list of entitlements granted by this subscription.
    • items: An array of entitlement objects.
  • environment - The environment of the subscription (e.g., sandbox, production)
  • store - The app store where the subscription was made
  • store_subscription_identifier - The subscription identifier from the app store
  • ownership - The ownership type of the subscription
  • pending_changes - Object containing details about pending changes to the subscription.
    • product: Details of the product for the pending change.
  • country - The country of the subscription
  • management_url - URL to manage the subscription
Stream for tracking individual purchase events. This is a child stream of Customers.Key Fields:
  • id - Unique identifier for the purchase
  • customer_id - ID of the customer who made the purchase
  • original_customer_id - The original customer ID, in case of an alias
  • product_id - ID of the purchased product
  • purchased_at - Timestamp of the purchase
  • revenue_in_usd - Object containing revenue details.
    • currency: Currency code.
    • gross: Gross revenue.
    • commission: App store commission.
    • tax: Sales tax.
    • proceeds: Net revenue.
  • quantity - The quantity of the purchase
  • status - Status of the purchase
  • presented_offering_id - The ID of the offering that was presented to the user
  • entitlements - Object containing a list of entitlements granted by this purchase.
    • items: An array of entitlement objects.
  • environment - The environment of the purchase
  • store - The app store where the purchase was made
  • store_purchase_identifier - The purchase identifier from the app store
  • ownership - The ownership type of the purchase
  • country - The country of the purchase
Stream for managing subscription invoices. This is a child stream of Customers.Key Fields:
  • id - Unique identifier for the invoice
  • customer_id - ID of the customer associated with the invoice
  • total_amount - Object containing total amount details.
    • currency: Currency code.
    • gross: Gross amount.
    • commission: App store commission.
    • tax: Sales tax.
    • proceeds: Net amount.
  • line_items - Array of line item objects in the invoice.
    • product_identifier: The product identifier.
    • product_display_name: The product display name.
    • quantity: The quantity of the item.
    • unit_amount: Object with amount details for a single unit.
  • issued_at - Timestamp of when the invoice was issued
  • paid_at - Timestamp of when the invoice was paid
  • invoice_url - URL to view the invoice
Stream for managing product definitions.Key Fields:
  • id - Unique identifier for the product
  • store_identifier - The product’s identifier on the app store
  • type - Type of product (e.g., subscription, one-time)
  • subscription - Object with subscription-specific details.
    • duration: The subscription duration.
    • grace_period_duration: The grace period duration.
    • trial_duration: The trial duration.
  • one_time - Object with one-time purchase details.
    • is_consumable: Whether the product is a consumable.
  • display_name - The display name of the product
  • app_id - ID of the app this product belongs to
  • app - Object containing the full details of the app this product belongs to.
  • created_at - Timestamp of when the product was created
Stream for managing entitlements you’ve defined in RevenueCat.Key Fields:
  • id - Unique identifier for the entitlement
  • lookup_key - The lookup key for the entitlement
  • display_name - The display name of the entitlement
  • created_at - Timestamp of when the entitlement was created
  • products - Object containing a list of products associated with this entitlement.
    • items: An array of product objects.
Stream for managing offerings and packages.Key Fields:
  • id - Unique identifier for the offering
  • lookup_key - The lookup key for the offering
  • display_name - The display name of the offering
  • is_current - Whether this is the current offering
  • metadata - Custom key-value metadata associated with the offering.
  • packages - Object containing a list of packages in this offering.
    • items: An array of package objects.
  • created_at - Timestamp of when the offering was created
Stream for managing your app configurations in RevenueCat.Key Fields:
  • id - Unique identifier for the app
  • name - Name of the app
  • type - Type of the app (e.g., app_store, play_store)
  • created_at - Timestamp of when the app was created
  • amazon - Amazon Appstore configuration.
    • package_name: The package name.
  • app_store - Apple App Store configuration.
    • bundle_id: The bundle ID.
  • mac_app_store - Mac App Store configuration.
    • bundle_id: The bundle ID.
  • play_store - Google Play Store configuration.
    • package_name: The package name.
  • stripe - Stripe configuration.
    • stripe_account_id: The Stripe account ID.
  • rc_billing - RevenueCat billing configuration.
    • stripe_account_id: The Stripe account ID.
    • seller_company_name: The seller company name.
    • support_email: The support email address.
  • roku - Roku configuration.
    • roku_channel_id: The Roku channel ID.
    • roku_channel_name: The Roku channel name.
  • paddle - Paddle configuration.
    • paddle_is_sandbox: Whether it’s a sandbox environment.
    • paddle_api_key: The Paddle API key.