> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appeeky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RevenueCat Chart Data

> Time-series subscription analytics — revenue, MRR, churn, active subscribers, trials, and more

```
GET /v1/revenuecat/charts/:chartName
```

Returns time-series chart data from RevenueCat for a specific metric. Supports date ranges, resolution control, segmentation, and filtering. This is the same data that powers the RevenueCat dashboard charts.

<Note>
  Requires a **RevenueCat secret API key** (`sk_xxx`) and the **Pro plan** (free up to \$2,500 MTR). Use the [Chart Options](/docs/revenuecat-chart-options) endpoint to discover available resolutions, segments, and filters for each chart.
</Note>

## Path Parameters

| Name      | Type   | Required | Description                                                        |
| --------- | ------ | -------- | ------------------------------------------------------------------ |
| chartName | string | Yes      | Chart identifier (see [Available Charts](#available-charts) below) |

## Headers

| Name         | Type   | Required | Description                                                   |
| ------------ | ------ | -------- | ------------------------------------------------------------- |
| X-RC-Key     | string | Yes      | Your RevenueCat **secret** API key (starts with `sk_`)        |
| X-RC-Project | string | No       | RevenueCat project ID. Auto-detected if you have one project. |

## Query Parameters

| Name        | Type   | Default     | Description                                                        |
| ----------- | ------ | ----------- | ------------------------------------------------------------------ |
| start\_date | string | 28 days ago | Start date in ISO 8601 format (e.g. `2025-01-01`)                  |
| end\_date   | string | today       | End date in ISO 8601 format (e.g. `2026-03-08`)                    |
| resolution  | string | varies      | Time resolution: `day`, `week`, `month`, `quarter`, `year`         |
| segment     | string | —           | Segment dimension (use chart options to discover available ones)   |
| filters     | string | —           | JSON array of filter objects                                       |
| selectors   | string | —           | JSON object of chart selectors                                     |
| currency    | string | `USD`       | ISO 4217 currency code                                             |
| aggregate   | string | —           | `average`, `total`, or both — returns summary only, no time-series |

## Code Examples

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X GET "https://api.appeeky.com/v1/revenuecat/charts/revenue?start_date=2025-06-01&end_date=2026-03-08&resolution=month" \
    -H "X-API-Key: YOUR_API_KEY" \
    -H "X-RC-Key: sk_YOUR_REVENUECAT_SECRET_KEY"
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch(
    "https://api.appeeky.com/v1/revenuecat/charts/revenue?start_date=2025-06-01&end_date=2026-03-08&resolution=month",
    {
      headers: {
        "X-API-Key": "YOUR_API_KEY",
        "X-RC-Key": "sk_YOUR_REVENUECAT_SECRET_KEY",
      },
    }
  );

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.get(
      "https://api.appeeky.com/v1/revenuecat/charts/revenue",
      params={
          "start_date": "2025-06-01",
          "end_date": "2026-03-08",
          "resolution": "month",
      },
      headers={
          "X-API-Key": "YOUR_API_KEY",
          "X-RC-Key": "sk_YOUR_REVENUECAT_SECRET_KEY",
      },
  )

  data = response.json()
  print(data)
  ```
</CodeGroup>

## Response

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "data": {
    "category": "revenue",
    "display_name": "Revenue",
    "display_type": "area",
    "description": "Revenue displays the revenue generated during a period...",
    "start_date": 1751241600,
    "end_date": 1774915200,
    "last_computed_at": 1772985539587,
    "resolution": "month",
    "segments": [
      {
        "chartable": true,
        "decimal_precision": 0,
        "description": "The total revenue generated in a given period, minus refunds.",
        "display_name": "Revenue",
        "tabulable": true,
        "unit": "$"
      },
      {
        "chartable": false,
        "decimal_precision": 0,
        "description": "The count of revenue generating transactions for the period.",
        "display_name": "Transactions",
        "tabulable": true,
        "unit": "#"
      }
    ],
    "values": [
      [1751241600, 0.0, 0.0],
      [1753920000, 0.0, 0.0],
      [1756598400, 0.0, 0.0],
      [1759276800, 0.0, 0.0],
      [1761955200, 0.0, 0.0],
      [1764547200, 0.0, 0.0],
      [1767225600, 11.6, 1.0],
      [1769904000, 0.0, 0.0],
      [1772323200, 0.0, 0.0],
      [1774915200, 0.0, 0.0]
    ],
    "summary": {
      "average": { "Revenue": 1.16, "Transactions": 0.1 },
      "total": { "Revenue": 11.6, "Transactions": 1.0 }
    }
  }
}
```

***

## Response Fields

| Field              | Type     | Description                                          |
| ------------------ | -------- | ---------------------------------------------------- |
| category           | string   | Chart category (e.g. `revenue`, `mrr`, `churn`)      |
| display\_name      | string   | Human-readable chart name                            |
| display\_type      | string   | Chart visualization type (`area`, `bar`, `line`)     |
| description        | string   | Detailed description of what the chart shows         |
| start\_date        | number   | Unix timestamp of the data range start               |
| end\_date          | number   | Unix timestamp of the data range end                 |
| last\_computed\_at | number   | Unix timestamp of when data was last computed        |
| resolution         | string   | Time resolution used (`day`, `week`, `month`, etc.)  |
| segments           | array    | Metadata for each data column in `values`            |
| values             | array\[] | Time-series data: `[timestamp, value1, value2, ...]` |
| summary            | object   | Aggregated statistics (`average`, `total`)           |

### Values Array

Each entry in `values` is an array where:

* Index `0` = Unix timestamp for the period
* Index `1+` = Values corresponding to each segment in order

For example, with the Revenue chart:

* `[1767225600, 11.6, 1.0]` means: at timestamp `1767225600` → Revenue = \$11.60, Transactions = 1

***

## Available Charts

| Chart Name                   | Description                                     |
| ---------------------------- | ----------------------------------------------- |
| `revenue`                    | Total revenue generated per period              |
| `mrr`                        | Monthly Recurring Revenue over time             |
| `mrr_movement`               | MRR changes: new, expansion, contraction, churn |
| `arr`                        | Annual Recurring Revenue                        |
| `actives`                    | Active subscriptions over time                  |
| `actives_movement`           | Active subscription changes                     |
| `actives_new`                | New active subscriptions per period             |
| `churn`                      | Churn rate and churned subscribers              |
| `trials`                     | Active trials over time                         |
| `trials_movement`            | Trial starts, conversions, and expirations      |
| `trial_conversion`           | Trial-to-paid conversion rate                   |
| `conversion_to_paying`       | Overall conversion to paying customers          |
| `customers_new`              | New customers per period                        |
| `subscription_status`        | Breakdown by subscription status                |
| `subscription_retention`     | Cohort-based subscription retention             |
| `refund_rate`                | Refund rate over time                           |
| `ltv_per_customer`           | Lifetime value per customer                     |
| `ltv_per_paying_customer`    | Lifetime value per paying customer              |
| `cohort_explorer`            | Cohort analysis explorer                        |
| `non_subscription_purchases` | Non-subscription purchase revenue               |

***

## Errors

| Status | Code                 | When                                           |
| ------ | -------------------- | ---------------------------------------------- |
| 400    | MISSING\_RC\_KEY     | `X-RC-Key` header not provided                 |
| 400    | INVALID\_CHART\_NAME | Chart name is not one of the valid options     |
| 400    | PARAMETER\_ERROR     | Invalid query parameter (e.g. bad date format) |
| 401    | UNAUTHORIZED         | Invalid RevenueCat API key                     |
| 404    | RESOURCE\_MISSING    | Project or app not found / Charts not enabled  |
