Skip to content

Paddle

Paddle is a merchant of record and billing platform that handles payments, subscriptions, taxes, and invoicing for software businesses.

ingestr supports Paddle (Paddle Billing) as a source.

URI format

The URI format for Paddle is as follows:

plaintext
paddle://?api_key=<api-key-here>

URI parameters:

  • api_key: the Paddle API key used for authentication.

You can create an API key in the Paddle dashboard under Developer tools > Authentication. See the Paddle API reference for more details.

Here's a sample command that copies Paddle customers into a DuckDB database:

sh
ingestr ingest \
  --source-uri 'paddle://?api_key=pdl_live_xxx' \
  --source-table 'customers' \
  --dest-uri duckdb:///paddle.duckdb \
  --dest-table 'dest.customers'

Tables

Paddle source allows ingesting the following resources:

TablePKInc KeyInc StrategyDetails
customersidupdated_atmergeCustomer records, including name, email, and locale.
productsidupdated_atmergeProducts you sell, including name, description, and tax category.
pricesidupdated_atmergePrices attached to products, including billing cycle and currency.
discountsidupdated_atmergeDiscounts and coupon codes that can be applied to transactions and subscriptions.
transactionsidupdated_atmergeTransactions, the core billing record. Each transaction carries the invoice_number Paddle generates, so this table is where invoice data lives.
subscriptionsidupdated_atmergeRecurring subscriptions, including status, billing cycle, and scheduled changes.
adjustmentsidupdated_atmergeAdjustments such as refunds, credits, and chargebacks against transactions.

Use these exact names as the --source-table parameter in the ingestr ingest command.

sh
ingestr ingest \
  --source-uri 'paddle://?api_key=pdl_live_xxx' \
  --source-table 'transactions' \
  --dest-uri duckdb:///paddle.duckdb \
  --dest-table 'dest.transactions' \
  --interval-start '2024-01-01' \
  --interval-end '2024-01-31'