Summary Metrics


Get a snapshot of your key SaaS metrics with current values and percentage changes over 30, 60, 180, and 365-day periods. This endpoint provides a quick overview of MRR, ARR, subscriber count, and ARPA trends.

💡 Use case: Perfect for dashboard widgets, executive summaries, and trend analysis. Returns pre-calculated metrics for fast loading.

GET /reports/summary

Returns current metrics and historical comparisons for MRR, ARR, subscribers, and ARPA.

Authentication

Required

Include your API key in the Authorization header:

curl https://api.growpanel.io/reports/summary \
-H "Authorization: Bearer YOUR_API_KEY"

Query parameters

ParameterTypeDescription
dateoptionalstringDate range for historical context. Format: YYYYMMDD-YYYYMMDD or shortcuts like last-12-months. Defaults to last 365 days.
currencyoptionalstringFilter by specific currency codes (space-separated for multiple). Example: usd eur gbp
regionoptionalstringFilter by geographic region. Options: nordics, eu, emea, apac, latam, north_america, dach
planoptionalstringFilter by plan group IDs (space-separated for multiple).
baseCurrencyoptionalstringCurrency for reporting. Defaults to your account's base currency (e.g., usd).
fix_fxoptionalbooleanIf true, uses fixed exchange rates from the start date instead of period-specific rates.
billing_freqoptionalstringFilter by billing frequency: month, year, quarter, week
payment_methodoptionalstringFilter by payment method (e.g., card, ach, paypal)
pricing_modeloptionalstringFilter by pricing model: licensed or metered
ageoptionalstringFilter by customer age in months. Use ranges like 0-6, 6-12, or 12- for 12+ months
industryoptionalstringFilter by customer industry (uses custom variables)
data_sourceoptionalstringFilter by data source ID (e.g., specific Stripe account)

Response

200 OK

Returns a summary object containing current metrics and historical comparisons.

{
"summary": {
"mrr_current": 125000,
"mrr_30": 120000,
"mrr_60": 115000,
"mrr_180": 100000,
"mrr_365": 85000,
"arr_current": 1500000,
"arr_30": 1440000,
"arr_60": 1380000,
"arr_180": 1200000,
"arr_365": 1020000,
"subscribers_current": 250,
"subscribers_30": 240,
"subscribers_60": 230,
"subscribers_180": 200,
"subscribers_365": 170,
"arpa_current": 500,
"arpa_30": 500,
"arpa_60": 500,
"arpa_180": 500,
"arpa_365": 500,
"mrr_percentage_change_30": 4.17,
"mrr_percentage_change_60": 8.70,
"mrr_percentage_change_180": 25.00,
"mrr_percentage_change_365": 47.06,
"arr_percentage_change_30": 4.17,
"arr_percentage_change_60": 8.70,
"arr_percentage_change_180": 25.00,
"arr_percentage_change_365": 47.06,
"subscribers_percentage_change_30": 4.17,
"subscribers_percentage_change_60": 8.70,
"subscribers_percentage_change_180": 25.00,
"subscribers_percentage_change_365": 47.06,
"arpa_percentage_change_30": 0.00,
"arpa_percentage_change_60": 0.00,
"arpa_percentage_change_180": 0.00,
"arpa_percentage_change_365": 0.00
}
}

Response fields

FieldTypeDescription
MRR Metrics
mrr_currentnumberCurrent Monthly Recurring Revenue in base currency (cents)
mrr_30numberMRR from 30 days ago
mrr_60numberMRR from 60 days ago
mrr_180numberMRR from 180 days ago
mrr_365numberMRR from 365 days ago
ARR Metrics
arr_currentnumberCurrent Annual Recurring Revenue (MRR × 12)
arr_30 through arr_365numberHistorical ARR values at 30, 60, 180, and 365 days ago
Subscriber Metrics
subscribers_currentintegerCurrent active subscriber count
subscribers_30 through subscribers_365integerHistorical subscriber counts at 30, 60, 180, and 365 days ago
ARPA Metrics
arpa_currentnumberCurrent Average Revenue Per Account (MRR / subscribers)
arpa_30 through arpa_365numberHistorical ARPA values at 30, 60, 180, and 365 days ago
Percentage Changes
mrr_percentage_change_30numberPercentage change in MRR over 30 days. Positive indicates growth.
*_percentage_change_60/180/365numberPercentage changes over 60, 180, and 365 day periods for MRR, ARR, subscribers, and ARPA

Example requests

Get overall summary

curl https://api.growpanel.io/reports/summary \
-H "Authorization: Bearer YOUR_API_KEY"

Filter by region

curl "https://api.growpanel.io/reports/summary?region=eu" \
-H "Authorization: Bearer YOUR_API_KEY"

Filter by plan and currency

curl "https://api.growpanel.io/reports/summary?plan=plan_123&currency=usd" \
-H "Authorization: Bearer YOUR_API_KEY"

Use fixed exchange rates

curl "https://api.growpanel.io/reports/summary?fix_fx=true&baseCurrency=eur" \
-H "Authorization: Bearer YOUR_API_KEY"

Errors

401 Unauthorized

Invalid or missing API key.

{
"error": "Unauthorized"
}

500 Internal Server Error

Server error occurred while processing the request.

{
"error": "Internal server error"
}

Notes

⚠️ Currency values: All monetary values are returned in cents/smallest currency unit. Divide by 100 for display in most currencies.

  • Historical data: Comparisons are calculated from fixed points in time (30, 60, 180, 365 days ago from today)
  • Percentage changes: Calculated as ((current - historical) / historical) * 100
  • Active subscribers: Only includes customers with active subscriptions (excludes churned, leads, and trials without payment)
  • ARPA calculation: Computed as total MRR divided by total active subscribers
  • Exchange rates: Applied daily unless fix_fx=true is specified
  • Filtering: All filter parameters work together (AND logic) to narrow down results
  • Performance: This endpoint is optimized for dashboard use with pre-calculated aggregates