> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# GET /metrics/monthly-recurring-revenue

**Get MRR (monthly recurring revenue) metrics**

Returns timeseries data for monthly recurring revenue in a given date range. Trends have a daily granularity.
Current monthly recurring revenue total. Includes new subscriptions, upgrades, downgrades and churn. Does not include one-time payments or deductions for Paddle fees.

When `to` and `from` are the same, returns an empty timeseries.

**Required permissions:** `metrics.read`

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `from` | string (date) | required | Return data from a specific date. Pass an RFC 3339 full-date string. Interpreted at 00:00 UTC. Must be before or the same as `to`. |
| `to` | string (date) | required | Return data up to a specific date. Pass an RFC 3339 full-date string. Interpreted as 00:00 UTC. Must be after or the same as `from`. |

## Response (200)

- `data`: object (required) — Monthly recurring revenue metrics timeseries with amount for each datapoint.
  - `currency_code`: string (required) — Supported three-letter ISO 4217 currency code for this metric. Returned in your primary balance currency, converted using the exchange rate at the time of each transaction. If your primary balance currency changes, amounts continue to be returned in the previous currency until the next payout period begins.
    - `USD` — United States Dollar
    - `EUR` — Euro
    - `GBP` — Pound Sterling
    - `JPY` — Japanese Yen
    - `AUD` — Australian Dollar
    - `CAD` — Canadian Dollar
    - `CHF` — Swiss Franc
    - `HKD` — Hong Kong Dollar
    - `SGD` — Singapore Dollar
    - `SEK` — Swedish Krona
    - `ARS` — Argentine Peso
    - `BRL` — Brazilian Real
    - `CLP` — Chilean Peso
    - `CNY` — Chinese Yuan
    - `COP` — Colombian Peso
    - `CZK` — Czech Koruna
    - `DKK` — Danish Krone
    - `HUF` — Hungarian Forint
    - `ILS` — Israeli Shekel
    - `INR` — Indian Rupee
    - `KRW` — South Korean Won
    - `MXN` — Mexican Peso
    - `NOK` — Norwegian Krone
    - `NZD` — New Zealand Dollar
    - `PEN` — Peruvian Sol
    - `PLN` — Polish Zloty
    - `RUB` — Russian Ruble
    - `THB` — Thai Baht
    - `TRY` — Turkish Lira
    - `TWD` — New Taiwan Dollar
    - `UAH` — Ukrainian Hryvnia
    - `VND` — Vietnamese Dong
    - `ZAR` — South African Rand
  - `timeseries`: array (required) — Array of datapoints. Empty if `to` and `from` are the same.
  - `starts_at`: string (date-time) (required) — RFC 3339 datetime string for when this timeseries starts (inclusive).
  - `ends_at`: string (date-time) (required) — RFC 3339 datetime string for when this timeseries ends (exclusive).
  - `interval`: string (required) — Granularity for this timeseries.
    - `day`
  - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of the last successful data refresh for this metric.
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

### Response example

```json
{
  "data": {
    "timeseries": [
      {
        "timestamp": "2025-09-01T00:00:00Z",
        "amount": "1286023068"
      },
      {
        "timestamp": "2025-09-02T00:00:00Z",
        "amount": "1345678901"
      },
      {
        "timestamp": "2025-09-03T00:00:00Z",
        "amount": "1398765432"
      },
      {
        "timestamp": "2025-09-04T00:00:00Z",
        "amount": "1420987654"
      }
    ],
    "starts_at": "2025-09-01T00:00:00Z",
    "ends_at": "2025-09-05T00:00:00Z",
    "interval": "day",
    "currency_code": "USD",
    "updated_at": "2025-09-04T20:30:00Z"
  },
  "meta": {
    "request_id": "b93d9c94-c28f-4e5d-af2e-044854d7afe8"
  }
}
```
