RevenueCat

RevenueCat is a complete solution for implementing in-app subscriptions and purchases across all platforms, with real-time analytics and infrastructure for scaling subscription businesses.

omniload supports RevenueCat as a source.

URI format

The URI format for RevenueCat is:

revenuecat://?api_key=<api_key>&project_id=<project_id>
# or without project_id for projects table only
revenuecat://?api_key=<api_key>

URI parameters:

  • api_key: The API v2 secret key with Bearer token format used for authentication with the RevenueCat API.

  • project_id: The RevenueCat project ID (required for customers, products, and related resources).

Example usage

Assuming your API key is rcat_v2_abc123 and project ID is proj_abc123, you can ingest customers into DuckDB using:

omniload ingest \
--source-uri 'revenuecat://?api_key=rcat_v2_abc123&project_id=proj_abc123' \
--source-table 'customers' \
--dest-uri duckdb:///revenuecat.duckdb \
--dest-table 'dest.customers'

To ingest projects (no project_id required):

omniload ingest \
--source-uri 'revenuecat://?api_key=rcat_v2_abc123' \
--source-table 'projects' \
--dest-uri duckdb:///revenuecat.duckdb \
--dest-table 'dest.projects'

Tables

RevenueCat source allows ingesting the following tables:

Table

PK

Inc Key

Inc Strategy

Details

projects

id

merge

Fetches all projects from your RevenueCat account.

customers

id

merge

Fetches all customers with nested purchases and subscriptions data.

products

id

merge

Fetches all products configured in your RevenueCat project.

entitlements

id

merge

Fetches all entitlements configured in your RevenueCat project.

offerings

id

merge

Fetches all offerings configured in your RevenueCat project.

Use these as the --source-table parameter in the omniload ingest command.

Notes

  • The project_id parameter is required for customers and products tables but not for projects.