PayPulse API Quickstart
Get MRR, churn, LTV, and subscription data through a single REST API.
PayPulse Developer API
PayPulse is a subscription intelligence API. Connect your Stripe (or Braintree) account once, and read clean, normalized metrics — MRR, ARR, churn, LTV, customers, subscriptions — over HTTPS.
1. Get an API key
Sign in to PayPulse and visit Settings → API Keys. Click Create API key, name it (e.g. production), and pick the scopes you need:
read:metrics— MRR / ARR / churn / LTV snapshots and time seriesread:subscriptions— list and inspect subscriptionsread:customers— list and inspect customers (hashed IDs, no PII)write:webhooks— register and manage webhook endpoints
Copy the key (it starts with pp_live_ or pp_test_). You will only see it once.
2. Make your first request
curl https://paypulseapp.com/v1/metrics/current \
-H "Authorization: Bearer pp_live_..."You will receive your latest snapshot:
{
"data": {
"id": "snap_...",
"date": "2026-05-13",
"mrr_cents": 1842500,
"arr_cents": 22110000,
"active_subscriptions": 184,
"churn_rate": "0.024",
"...": "..."
},
"meta": { "request_id": "req_..." }
}3. Explore the endpoints
| Endpoint | Purpose |
|---|---|
GET /v1/me | Identify the calling key |
GET /v1/metrics/current | Latest MRR / ARR / churn snapshot |
GET /v1/metrics/timeseries?metric=mrr | Daily history for any metric |
GET /v1/metrics/snapshots | Paginated daily snapshots |
GET /v1/subscriptions | List subscriptions |
GET /v1/customers | List customers (hashed IDs) |
GET /v1/connections | Your active processor connections |
GET /v1/billing/portal | Stripe billing portal URL for your PayPulse plan |
Every response is wrapped in a { data, meta } envelope; errors are { error: { type, code, message, doc_url, request_id } }.
4. Rate limits
Rate limit headers are returned on every response:
X-RateLimit-Limit— requests per minute on your planX-RateLimit-Remaining— requests left in this windowX-RateLimit-Reset— unix timestamp when the bucket refillsRetry-After— seconds to wait (only sent on429)