> ## Documentation Index
> Fetch the complete documentation index at: https://docs.supertoneapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get voice usage

> Per-voice usage history aggregated by date — generated minutes per `(date, voice, style, language, model)`.

Returns generated-audio minutes for each `(date, voice, style, language, model)` combination over the requested period. Both preset voices and custom voices appear in the response.

For bucketed analytics with custom breakdowns (e.g. by `api_key`), use [Get usage](/en/api-reference/endpoints/get-usage) instead.

<Note>
  Dates are **UTC+0**. Maximum query window is **30 days**.
</Note>

## Endpoint

```http theme={"dark"}
GET https://supertoneapi.com/v1/voice-usage
```

## Query parameters

| Name         | Required | Description                        |
| ------------ | :------: | ---------------------------------- |
| `start_date` |     ✅    | Start date in `YYYY-MM-DD`, UTC+0. |
| `end_date`   |     ✅    | End date in `YYYY-MM-DD`, UTC+0.   |

## Request example

```http theme={"dark"}
GET /v1/voice-usage?start_date=2025-05-19&end_date=2025-05-28
x-sup-api-key: $SUPERTONE_API_KEY
```

## Response example

```json theme={"dark"}
{
  "usages": [
    {
      "date": "2025-05-22",
      "voice_id": "e5f6fb1a53d0add87afb4f",
      "name": "Agatha",
      "style": "neutral",
      "language": "en",
      "model": "sona_speech_1",
      "total_minutes_used": 12.43251349
    },
    {
      "date": "2025-05-24",
      "voice_id": "opSGuRvHBe7EfZ4LQga1hE",
      "name": "My Voice 1",
      "style": "sad",
      "language": "ko",
      "model": "sona_speech_1",
      "total_minutes_used": 3.24566213
    }
  ]
}
```

## Notes

* If no usage was recorded in the window, `usages` is an empty array.
* `total_minutes_used` reflects the actual length of generated audio (the same length used for credit deduction).
* Useful for monthly budget reports and identifying which characters drive the most cost.

## See also

<CardGroup cols={2}>
  <Card title="Docs: Cost and usage" icon="credit-card" href="/en/docs/production/cost-and-usage">
    Operational patterns: weekly reports, anomaly alerts, attribution.
  </Card>

  <Card title="Get usage" icon="chart-line" href="/en/api-reference/endpoints/get-usage">
    Bucketed analytics with multi-dimensional breakdowns.
  </Card>
</CardGroup>


## OpenAPI

````yaml openapi.json GET /v1/voice-usage
openapi: 3.0.0
info:
  title: Supertone Public API
  description: >-
    Supertone API is a RESTful API for using our state-of-the-art AI voice
    models.
  version: 0.9.6
  contact: {}
servers:
  - url: https://supertoneapi.com
    description: Production
security: []
tags:
  - name: voices
    description: Voice Library API endpoints
  - name: custom_voices
    description: Custom Voice Management API endpoints
  - name: text_to_speech
    description: Text-to-Speech API endpoints
  - name: usage
    description: Usage Analytics API endpoints
paths:
  /v1/voice-usage:
    get:
      tags:
        - usage
      summary: Retrieve TTS API usage data
      description: >-
        Retrieves a list of all TTS API usage records filtered by a specified
        date range. All dates are in UTC+0 timezone.
      operationId: get_voice_usage
      parameters:
        - name: start_date
          required: true
          in: query
          description: The start date in YYYY-MM-DD format.
          schema:
            example: '2024-11-01'
            type: string
        - name: end_date
          required: true
          in: query
          description: The end date in YYYY-MM-DD format.
          schema:
            example: '2024-11-30'
            type: string
      responses:
        '200':
          description: A list of TTS API usage records matching the specified date range.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUsageListV1Response'
        '401':
          description: 'Unauthorized: Invalid API key'
        '500':
          description: 'Internal Server Error: Failed to get usages'
      security:
        - api-key: []
components:
  schemas:
    GetUsageListV1Response:
      type: object
      properties:
        usages:
          type: array
          items:
            $ref: '#/components/schemas/GetUsageResponseV1Data'
      required:
        - usages
    GetUsageResponseV1Data:
      type: object
      properties:
        date:
          type: string
          description: The date of the API usage in YYYY-MM-DD format.
        voice_id:
          type: string
          description: The unique identifier for the voice used in the API call.
        name:
          type: string
          description: The name of the voice used in the API call.
        style:
          type: string
          description: The style of the voice used in the API call.
        language:
          type: string
          description: The language of the voice used in the API call.
        total_minutes_used:
          type: number
          description: >-
            The total duration (in minutes) of API usage for the specified voice
            and date.
        model:
          type: string
          description: The model name used for text-to-speech.
        thumbnail_url:
          type: string
          description: The URL to the thumbnail image for the voice.
      required:
        - date
        - voice_id
        - total_minutes_used
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-sup-api-key

````