Extract Stripe payment data with the Data Platform connector
The Stripe connector extracts data from your Stripe account: customers, charges, payment intents, subscriptions, invoices, products, balance transactions
Objective
The Stripe connector extracts data from your Stripe account: customers, charges, payment intents, subscriptions, invoices, products, balance transactions, events, and more.
76 endpoint resources grouped into 12 domain groups + 4 filtered endpoints + 3 standalone endpoints + a custom endpoint for any Stripe resource path.
The connector returns raw JSON from the Stripe API. The platform automatically flattens nested objects into columns and stores the result in the lakehouse. No manual schema definition needed.
1. Get a Stripe API Key
Create an Account
- Sign up at dashboard.stripe.com/register, free, no credit card required
- Every account starts with a sandbox (Test mode), full API access, no real charges
Get the Secret Key
- Log into your Stripe Dashboard
- Make sure the Test mode toggle is ON (top right of the dashboard)
- Go to Developers > API Keys
- Copy the Secret key: it starts with
sk_test_in test mode,sk_live_in live mode
Important: Use the Secret key (sk_test_... / sk_live_...), not the Publishable key (pk_*). The Publishable key is client-side only and cannot call most API endpoints.
2. Configure Credentials
Paste your Secret key in the Stripe API Key field:
The connector uses Bearer token authentication. No scope configuration is needed. The secret key has full API access.
3. Available Endpoints
The connector is organized into 20 endpoints. Most group related resources with a "Resource Type" dropdown.
Domain Groups (12)
Filtered Endpoints (require a parent ID)
Standalone Endpoints
Custom Endpoint
Example Resource Path values: issuing/settlements, treasury/statements, capital/financing_offers. The /v1/ prefix is optional. The connector adds it if missing.
4. Add a Stripe source on Data Platform
- In the Data Platform Connectors, find Stripe in the source store and click Select.
- Paste the Secret key from step 1 into the Stripe API Key field.
- Click Connect to verify the credentials. The connector calls
GET /v1/balanceas a health check. - Click Add an Endpoint, choose an endpoint from the dropdown (e.g.
core,billing,custom), and where applicable pick a Resource Type (e.g.customers) and any required parameters (e.g. Customer ID forpayment_methods, Resource Path forcustom). - Repeat step 4 for every additional endpoint you want to ingest in this source. Each becomes a separate table in the lakehouse.
- Name the source and click Create.
The technical name cannot be changed after the source is created. It is used when opening the source via the Data Platform SDK.
5. Quick Example: Extract Customers
- Endpoint:
core - Resource Type:
customers - Max Items:
100(or empty to extract all)
The connector returns raw JSON from Stripe. The platform automatically flattens nested objects (e.g. address.country becomes a column address_country) and stores the result in the lakehouse.
6. Best Practices
Use max_items when testing
When setting up a new table, set max_items to 10 or 100 to verify the output quickly. Stripe has generous pagination (100 per page, unlimited total), so a large extraction may take time on accounts with lots of data.
Extract events for a full audit trail
The events endpoint in the core group contains every state change in your account: customer created, subscription updated, charge refunded, etc. This is the best source for an incremental audit log.
Extract pipelines as reference tables
The products, prices, plans, and coupons endpoints give you static reference data. Extract them separately and join with charges, subscriptions, or invoices for analytics.
Use balance_transactions for financial reporting
balance_transactions contains every movement on your Stripe balance, charges, refunds, fees, payouts, adjustments, all in one unified stream. This is typically the best starting point for reconciliation.
Secret key vs Restricted key
For read-only analytics, you can create a Restricted API key (prefix rk_test_ / rk_live_) with only Read permissions on the resources you need. This is safer than a full Secret key. Go to Developers > API Keys > Restricted keys > Create restricted key.
7. Limitations
- Static type prefixes: Every Stripe object has a typed ID prefix (
cus_,ch_,sub_,pi_,in_, etc.), keep these to join across tables. - Timestamps are Unix seconds, not ISO 8601. Cast them in your downstream processing.
- Some endpoints require a specific Stripe product (Issuing, Treasury, Terminal, Identity, Climate). If the product isn't activated on your account, Stripe returns a 400 error and the extraction fails. The connector does not skip or retry this error.
- Stripe product activation is managed from your Stripe Dashboard, outside this connector.
- Test mode vs Live mode: the Secret key determines which data is extracted. A
sk_test_key only sees sandbox data; ask_live_key only sees production data. They are completely isolated. - Reports API quirk:
/v1/reporting/report_typesrejects thelimitparameter. The connector automatically retries without it. No action needed on your side.
For detailed technical information (auth internals, full endpoint reference, pagination, rate limits, output format, limitations), see the Stripe Technical Reference.
Go further
If you need training or technical assistance to implement our solutions, contact your sales representative or click on this link to get a quote and ask our Professional Services experts for a custom analysis of your project.
Ask questions, give your feedback and interact directly with the team building the Data Platform on the dedicated Discord channel.
If you need support with your OVHcloud services, create a request in our Help Centre.
Join our community of users.

