Skip to content
Home / Migrations / PostHog self-hostedPostHog Cloud

PostHog self-hosted PostHog Cloud

easy

PostHog Cloud includes 1M free events/mo. Self-hosted was operationally burdensome for small teams. Migration preserves all your events.

Estimated: 1-2h · 5 steps
Progress0%
Step 1: Create PostHog Cloud account

Sign up at app.posthog.com. Get your new project API key.

Step 2: Export historical data

Use the PostHog export API or download events as CSV/JSON from your self-hosted instance.

Step 3: Import data

Use PostHog's historical migration endpoint to batch-import events.

curl -X POST 'https://app.posthog.com/capture/' -d '{"api_key": "...", "historical_migration": true, "batch": [...]}
Step 4: Update SDK key

Replace your self-hosted URL and key with PostHog Cloud endpoint.

posthog.init('phc_XXXXX', { api_host: 'https://app.posthog.com' })
Step 5: Shut down self-hosted

Once data verified, stop your self-hosted instance and reclaim server costs.

Events appearing in PostHog Cloud dashboard, all feature flags working
Get started with PostHog Cloud