---
title: "Retrieve the figures of the answer logs"
description: "Retrieve the answers, the credits, the tokens, the average time and the answers per channel over the same filters as the answer log. Free."
canonical: "https://lookio.app/docs/api/logs/get-log-answer-stats"
updated: "2026-10-18"
---

# Retrieve the figures of the answer logs

Requires `usage:read`.

The totals behind [the list of answers](/docs/api/logs/list-log-answers), over the same filters (`channel`, `assistant_id`, `widget_id`, `api_key_id`, `member_id`, `result`, `mode`, `from`, `to`) and without `cursor` or `limit`.

`answered` and `no_answer` add up to `answers`. `average_duration_ms` is taken over the answers whose time was recorded and is `null` when none was. `by_channel` gives the answers of each channel, with zero for a channel that has none.

See [Logs](/docs/platform/logs).

```http
GET https://api.lookio.app/v1/logs/answers/stats
```

## Authorizations

- `Authorization` (bearer, in header, required)

## Query parameters

- `channel` (`string`, length: `≥ 1 chars`): Only the answers from these channels, comma-separated: `chat` (a member in the app's chat), `lookio_ai` (the in-app agent), `api` (an API key through REST, the CLI or the SDK), `mcp` (the MCP server), `widget` (a visitor of a widget). Default: all.
- `assistant_id` (`string`, pattern: `^ast_[abcdefghjkmnpqrstuvwxyz23456789]{12}$`): Only the answers of this assistant.
- `widget_id` (`string`, pattern: `^wdg_[abcdefghjkmnpqrstuvwxyz23456789]{12}$`): Only this widget's answers.
- `api_key_id` (`string`, length: `1–64 chars`): Only the answers asked with this API key.
- `member_id` (`string`, length: `1–64 chars`): Only this member's answers (admins).
- `mode` (`string`, length: `1–40 chars`): Only this query mode (`flash`, `fast`, `deep`…).
- `from` (`string`): Only answers since this ISO 8601 date or timestamp.
- `to` (`string`): Only answers until this ISO 8601 date or timestamp.

## Response

**200**: Retrieve the figures of the answer logs

- `data` (`object`, required)
- `data.answers` (`integer`, required)
- `data.credits` (`integer`, required)
- `data.average_duration_ms` (`integer | null`, required): Over the answers whose time was recorded; null when none was.
- `data.by_channel` (`object`, required): Answers per channel.
- `data.by_channel.chat` (`integer`, required)
- `data.by_channel.lookio_ai` (`integer`, required)
- `data.by_channel.api` (`integer`, required)
- `data.by_channel.mcp` (`integer`, required)
- `data.by_channel.widget` (`integer`, required)
- `request_id` (`string`, required)

```json
{
  "data": {
    "answers": 123,
    "credits": 123,
    "average_duration_ms": 123,
    "by_channel": {
      "chat": 123,
      "lookio_ai": 123,
      "api": 123,
      "mcp": 123,
      "widget": 123
    }
  },
  "request_id": "<string>"
}
```

**400**: Possible codes: invalid_request, unknown_field, invalid_parameter, invalid_cursor

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**401**: Possible codes: authentication_required, invalid_api_key, api_key_expired, api_key_revoked, invalid_access_key

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**403**: Possible codes: insufficient_scope, feature_not_available, admin_required, permission_denied

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**429**: Possible codes: rate_limited

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**500**: Possible codes: internal_error

- `error` (`object`, required)
- `error.type` (`string`, required)
- `error.code` (`string`, required)
- `error.message` (`string`, required)
- `error.param` (`string`)
- `error.docs_url` (`string`, required)
- `error.action_url` (`string<uri>`)
- `request_id` (`string`, required)

```json
{
  "error": {
    "type": "<string>",
    "code": "<string>",
    "message": "<string>",
    "param": "<string>",
    "docs_url": "<string>",
    "action_url": "<string>"
  },
  "request_id": "<string>"
}
```

**Example request**

```bash
curl --request GET \
  --url 'https://api.lookio.app/v1/logs/answers/stats' \
  --header 'Authorization: <api-key>'
```
