# Get usage

> A profile's posts, messages and comments sent this month, against the free plan's limits.

Canonical: <https://www.tryadeli.com/docs/api/usage/get-usage>

`GET https://app.tryadeli.com/api/v1/usage`

Authorization: `Bearer <API key>` — see [Authentication](https://www.tryadeli.com/docs/authentication)

Answers with how many posts, messages and comments your workspace has sent
this calendar month (UTC), across all its profiles, against the free plan's
allowance. It is read-only and
calls no social platform.

On the free plan a workspace can send **1,000 posts, 10,000 messages and
10,000 comments a month**, shared by all its profiles. Once the workspace
reaches a limit, sends of that kind
answer [`402 usage_limit_reached`](https://www.tryadeli.com/docs/errors#billing) until the month resets
or a card is added. A workspace with billing set up has no monthly limits, and
its `limit` fields are `null`. See [Pricing](https://www.tryadeli.com/docs/pricing#the-free-tier) for
what counts as one post, message or comment.

It takes no parameters.

**Response**

| Name       | Type       | Required | Description                                                                                                                                                    |
| ---------- | ---------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `period`   | `string`   |          | The calendar month, as `YYYY-MM` in UTC.                                                                                                                       |
| `resetsAt` | `datetime` |          | When the counts go back to zero: midnight UTC on the 1st of next month.                                                                                        |
| `enforced` | `boolean`  |          | Whether sends past a limit are refused right now. `false` for a workspace with billing.                                                                        |
| `posts`    | `object`   |          | `used` this month and the free `limit`, or `null` with billing. A publication to several accounts counts once per account; an X or Bluesky thread counts once. |
| `messages` | `object`   |          | `used` and `limit` for direct messages, Instagram private replies and WhatsApp messages sent.                                                                  |
| `comments` | `object`   |          | `used` and `limit` for comments and comment replies Adeli posted.                                                                                              |

Sends that fail don't count. Edits, deletes, hiding comments and reading never
count.

**Errors** — `401 unauthorized`, `502 database_error`.

## Request examples

**cURL**

```bash
curl "https://app.tryadeli.com/api/v1/usage" \
  -H "Authorization: Bearer $ADELI_API_KEY"
```

**JavaScript**

```javascript
const response = await fetch("https://app.tryadeli.com/api/v1/usage", {
  headers: {
    Authorization: `Bearer ${process.env.ADELI_API_KEY}`,
  },
});
console.log(await response.json());
```

**Python**

```python
import os

import requests

response = requests.get(
    "https://app.tryadeli.com/api/v1/usage",
    headers={"Authorization": f"Bearer {os.environ['ADELI_API_KEY']}"},
)
print(response.json())
```

## Responses

### 200

```json
{
  "period": "2026-11",
  "resetsAt": "2026-12-01T00:00:00.000Z",
  "enforced": true,
  "posts": { "used": 214, "limit": 1000 },
  "messages": { "used": 3820, "limit": 10000 },
  "comments": { "used": 0, "limit": 10000 }
}
```

### 401

```json
{
  "error": {
    "code": "unauthorized",
    "message": "A valid Bearer API key is required"
  }
}
```
