> For the complete documentation index, see [llms.txt](https://docs.limecall.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.limecall.com/developers/analytics.md).

# Analytics API

Usage totals and call and message breakdowns.

| Method | Path                  | Scope            |
| ------ | --------------------- | ---------------- |
| `GET`  | `/analytics/usage`    | `analytics:read` |
| `GET`  | `/analytics/calls`    | `analytics:read` |
| `GET`  | `/analytics/messages` | `analytics:read` |

## Usage

```bash
curl https://app.limecall.com/api/v1/analytics/usage \
  -H "Authorization: Bearer sk_live_..."
```

```json
{
  "calls": 1284,
  "messages": 3971,
  "apiRequests": 20544
}
```

Lifetime totals for your organization — counts, not billing figures.

{% hint style="warning" %}
Do not reconcile a bill against this endpoint. It counts rows; your invoice reflects billing periods, plan allowances, per-destination rates and credits. Those two numbers are not supposed to match. Billing lives at **Settings → Plan & billing** — see [Usage & credits](/account/usage-and-credits.md).
{% endhint %}

## Calls and messages breakdowns

```bash
curl https://app.limecall.com/api/v1/analytics/calls \
  -H "Authorization: Bearer sk_live_..."
```

Aggregates for reporting. For anything these do not cover, list the underlying records and aggregate yourself — [Calls](/developers/calls.md) supports filtering by user, number, peer and time window, which is usually enough to build the cut you actually want.

## Building your own reporting

The combination worth knowing: filter calls with `since` on a schedule, and write outcomes back with `PATCH /calls/{id}`. Once outcomes carry a `value`, you can report revenue per source rather than call volume per source — which is the difference between knowing a channel is busy and knowing it is worth paying for.

See [Conversions](/analytics/conversions.md).
