# Categorize Stats

> Retrieve per-category counts for the unified inbox.

Returns the number of threads in each AI category plus totals, scoped to the authenticated workspace. Useful for building dashboards and monitoring reply volumes without paginating through threads.

## Response

<ResponseField name="data" type="object">
  <Expandable title="Categorize stats object">
    <ResponseField name="total" type="integer">Total number of reply threads in the inbox.</ResponseField>
    <ResponseField name="unread" type="integer">Number of unread threads.</ResponseField>
    <ResponseField name="interested" type="integer">Threads categorized as `interested`.</ResponseField>
    <ResponseField name="not_interested" type="integer">Threads categorized as `not_interested`.</ResponseField>
    <ResponseField name="out_of_office" type="integer">Threads categorized as `out_of_office`.</ResponseField>
    <ResponseField name="bounce" type="integer">Threads categorized as `bounce`.</ResponseField>
    <ResponseField name="unsubscribe" type="integer">Threads categorized as `unsubscribe`.</ResponseField>
    <ResponseField name="uncategorized" type="integer">Threads not yet categorized.</ResponseField>
    <ResponseField name="unknown" type="integer">Threads from unknown senders.</ResponseField>
    <ResponseField name="unrelated" type="integer">Threads categorized as `unrelated`.</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
```bash cURL
curl -X GET "https://api.foxreach.io/api/v1/inbox/categorize-stats" \
  -H "X-API-Key: otr_your_key"
```

```python Python SDK (beta)
from foxreach import FoxReach

client = FoxReach(api_key="otr_your_key")
stats = client.inbox.categorize_stats()
```

```typescript TypeScript SDK (beta)
import { FoxReach } from "foxreach";

const client = new FoxReach({ apiKey: "otr_your_key" });
const stats = await client.inbox.categorizeStats();
```
</RequestExample>

<ResponseExample>
```json
{
  "data": {
    "total": 142,
    "unread": 23,
    "interested": 45,
    "not_interested": 38,
    "out_of_office": 12,
    "bounce": 4,
    "unsubscribe": 3,
    "uncategorized": 8,
    "unknown": 16,
    "unrelated": 5
  }
}
```
</ResponseExample>

## Rate Limit

- **100 requests per minute, per API key.** Fixed 60-second window.
- Every response includes `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` (unix epoch seconds).
- A `429` response includes a `Retry-After` header (seconds until the bucket resets).

For client-side patterns, see [Rate Limiting](/rate-limiting).
