Provision Amplitude with Stripe Projects
Stripe Projects is a CLI tool that provisions third-party services — databases, auth, analytics, and more — under a single Stripe-managed billing relationship. Amplitude is an integrated provider, so you can stand up an Amplitude organization, project, and SDK API key without leaving your terminal.
stripe projects add amplitude/analytics
That one command creates your Amplitude org (or links you back to an existing one), provisions a default project, and writes an API key into your Stripe Projects vault. From there, run the Amplitude Setup Wizard with npx @amplitude/wizard or initialize the Amplitude Unified SDK directly, and you're sending events.
Stripe Projects requires the Stripe CLI. Go to Stripe's Projects documentation for installation and authentication steps.
Before you start
Before you start
The Stripe CLI, authenticated against your Stripe account.
A Stripe Projects directory — run
stripe projects init <name>if you don't have one.For paid plans only: a billing method on your Stripe account, added with
stripe projects billing add.
You don't need an existing Amplitude account. If the email on your Stripe profile already owns an Amplitude organization, Amplitude links the new project to it. Otherwise, Amplitude creates a fresh organization for you.
Browse the catalog
Inspect what Amplitude exposes through Stripe Projects before you provision:
stripe projects catalog amplitude
stripe projects catalog amplitude --json
Two kinds of entries show up:
amplitude/analytics— the deployable resource. Provisions an Amplitude project that includes product analytics, feature flags, session replay, and experimentation.- Plan services — purchasable tiers that determine your monthly tracked user (MTU) quota and billing. Amplitude always offers the Free plan and one or more
plus-v3-*paid plans.
Provision Amplitude
Free plan
Free is the default. It includes up to 10,000 monthly tracked users, core analytics, feature flags, and session replay. No billing method required.
stripe projects add amplitude/analytics
Paid plan
Pick a tier from the catalog and pass it as the plan_tier configuration field:
stripe projects add amplitude/analytics --config '{"plan_tier":"plus-v3-10k-mtu-monthly"}'
Stripe collects payment through a shared payment token at provision time — your card details never reach Amplitude. Stripe Projects offers monthly billing only. To switch to annual billing, go to the Amplitude dashboard at Settings > Billing after provisioning.
Account configuration
The first time you provision Amplitude in a Stripe Project, the CLI prompts you for two fields:
region—usoreu. Determines the data center where Amplitude stores and processes your data. This setting is immutable after Amplitude creates the account.marketing— optional boolean. Opts you in to product updates and marketing email from Amplitude.
What you get back
A successful provision writes an access_configuration object into your Stripe Projects vault. Pull it into your local environment:
stripe projects env --pull
The vault stores:
api_key— the API key for your default Amplitude project. Use it to initialize any Amplitude SDK.dashboard_url— an authenticated link to your organization's dashboard (paid plans only).
From here you've got two paths to events flowing:
Recommended — run the Amplitude Setup Wizard. It detects your framework, proposes tracking events tailored to your codebase, and instruments them for you — no manual SDK wiring required.
shellnpx @amplitude/wizardInitialize the SDK yourself. Drop the Amplitude Unified SDK — analytics, session replay, and experiment in one package — into your app:
javascriptimport { Amplitude } from "@amplitude/unified"; Amplitude.init(process.env.AMPLITUDE_API_KEY); Amplitude.track("Button Clicked", { button_name: "Sign Up" });For platform-specific SDKs, go to the Amplitude Quickstart.
If you need an API key for a project other than the auto-created default, retrieve it from the Amplitude dashboard at Settings > Projects. Open an authenticated session with stripe projects open amplitude.
Change plans
Use stripe projects upgrade to move between tiers. The command issues a non-destructive update against your analytics resource — your project, API key, and existing event data carry over unchanged.
stripe projects upgrade amplitude/analytics --config '{"plan_tier":"plus-v3-100k-mtu-monthly"}'
| Change | Effective |
|---|---|
| Free → Plus | Immediately. Stripe charges a prorated amount for the rest of the cycle. |
| Plus → higher Plus | Immediately. Stripe charges a prorated amount for the rest of the cycle. |
| Plus → lower Plus | Scheduled for end of the current billing cycle. No refund or credit. |
| Plus → cancel | Scheduled for end of the current cycle. Reverts to Free. |
| Free | No cancellation needed. Free plans don't bill and stay active forever. |
Cancel a paid plan with:
stripe projects remove amplitude/analytics
You keep paid features until the billing cycle ends, then your account drops to Free automatically. Your project, events, and dashboards stay intact.
Open the dashboard
Launch an authenticated dashboard session straight from the CLI:
stripe projects open amplitude
Deep link URLs are short-lived and single-use — generate a fresh one each time. The link drops you into your organization's main analytics view, already signed in.
Data residency
Amplitude operates separate US and EU data centers. The region you select at provision time pins your organization to one of them for its lifetime. Switching regions requires a manual migration through Amplitude support.
The EU region routes through eu.amplitude.com and api.eu.amplitude.com. Make sure your SDK initialization sets the server zone to EU when you provisioned with region: "eu":
Amplitude.init(process.env.AMPLITUDE_API_KEY, { serverZone: "EU" });
Returning users
If your Stripe profile email already matches an existing Amplitude login, Stripe Projects links the provisioning request to your existing account instead of creating a new one. When your email belongs to a single organization, the CLI receives credentials scoped to that org automatically. When it belongs to multiple, the CLI prompts you to pick one before completing the provision.
You can run stripe projects add amplitude/analytics from any Stripe Projects directory. Each provisioning creates a new Amplitude project inside the same organization — useful for separating dev, staging, and production environments.
Troubleshooting
requires_payment_methoderror on a paid provision. Add a billing method first withstripe projects billing add, then retry.- Wrong region. Region is immutable. Run
stripe projects remove amplitude/analyticsto drop the resource, then re-provision with the correct region. This creates a new Amplitude organization — your previous one stays in place but unlinked from Stripe. - Lost the API key. Run
stripe projects env --pullto refresh the vault, or grab the key from Settings > Projects in the Amplitude dashboard.
Was this helpful?