---
title: "Get cohort analytics data"
method: GET
path: "/analytics/cohorts"
tags: ["Analytics"]
---

# Get cohort analytics data

`GET /analytics/cohorts`

Returns cohort-over-time tables for the project. A cohort is a group of users
sharing an acquisition event (see `cohort_definition`). Rows are cohorts,
columns are time offsets (see `grouping`). Cells are the `metric` (revenue,
subscriptions, payers, ARPU, ARPPU).

Use `GET /v4/analytics/cohorts/meta` to discover valid filter attributes and
their concrete values for the project.

## Query parameters

- `cohort_from` integer
- `cohort_to` integer
- `mode` 'by_renewals' | 'by_days'
- `grouping` 'day' | 'week' | 'month' | 'quarter' | 'year'
- `environment` 0 | 1
- `cohort_definition` 'new_customers' | 'initial_conversions' | 'new_paying'
- `revenue_type` 'gross' | 'net'
- `currency` string
- `group_by` string
- `filter[<attribute>][]` string[]

## Response `200`

Cohort table.

- V4AnalyticsCohorts
  - `object` 'analytics_cohorts', required
  - `url` string, required
  - `mode` 'by_renewals' | 'by_days', required
  - `grouping` 'day' | 'week' | 'month' | 'quarter' | 'year', required
  - `cohort_from` integer, required
  - `cohort_to` integer, required
  - `currency` string, required
  - `period_labels` string[], required — Column labels — `P1`, `P2`, … for `by_renewals`, date strings for `by_days`.
  - `cohorts` object[], required — One row per cohort window. Empty when the project has no qualifying cohorts in the range.
  - `total` object, nullable — Aggregated totals row. Null when the table is empty.
  - `max_values` object, required — Maximum per-metric value across the table — used for heatmap coloring in the UI.
  - `group_by` string — Present only when `group_by` was supplied on the request.
  - `segments` object[] — Present only when `group_by` was supplied. One entry per segmentation value.

## Other responses

- `400` — Invalid request parameters
- `401` — Unauthorized
- `403` — Insufficient permissions
- `404` — Not found
- `429` — Too many requests
- `500` — Internal error
- `502` — Upstream service failure
- `504` — Upstream timeout

---

[API](https://skmtc.net/qonversion/apis/qonversion-rest-api-v4.md) · [All operations](https://skmtc.net/qonversion/apis/qonversion-rest-api-v4/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qonversion/qonversion-rest-api-v4/versions/e3f72cf8951c/schema)
