> ## Documentation Index
> Fetch the complete documentation index at: https://deepl-c950b784-docs-document-enable-watermark.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Check usage and limits

> Retrieve near-real-time character usage and account limits for the current billing period.

Returns usage within the current billing period together with the corresponding limits. Data is near-real-time: typically up to date within a few minutes of the usage being generated.

Response behavior the schema alone doesn't convey:

* For Pro API accounts, the response breaks usage down by product (`translate`, `write`) and reports both account totals and counts for the API key used to make the request. Responses for Free API and Pro Classic accounts contain only `character_count` and `character_limit`.
* `character_count` sums text translation, document translation, and text improvement characters. Characters are counted from the source text length in Unicode code points, so "A", "Δ", "あ", and "深" each count as one character.
* `character_limit` reflects a [Cost Control](/docs/best-practices/cost-control) limit if one is set; `api_key_character_limit` reflects a [key-level usage limit](/docs/admin/managing-api-keys#set-a-key-level-usage-limit) if one is set. Both fields return `1000000000000` when no limit is configured.

For usage data beyond the current billing period, or broken down by key or custom tag, see [Retrieving Usage Data](/docs/admin/retrieving-usage-data). For general API limitations, see [Usage limits](/docs/resources/usage-limits).


## OpenAPI

````yaml get /v2/usage
openapi: 3.0.3
info:
  title: DeepL API Documentation
  description: >-
    The DeepL API provides programmatic access to DeepL’s language AI
    technology.


    Note: this OpenAPI spec is embedded into our API documentation and has
    shortened descriptions.
  termsOfService: https://www.deepl.com/pro-license
  contact:
    name: DeepL - Contact us
    url: https://www.deepl.com/contact-us
  version: 3.12.0
servers:
  - url: https://api.deepl.com
    description: DeepL API Pro
  - url: https://api-free.deepl.com
    description: DeepL API Free
security: []
tags:
  - name: beta
    description: >-
      Experimental features that are under testing and not yet intended for
      production use.
  - name: TranslateText
    description: >-
      The text-translation API currently consists of a single endpoint,
      `translate`, which is described below.
  - name: TranslateDocuments
    description: >-
      The document translation API allows you to translate whole documents and
      supports the following file types and extensions:
        * `docx` - Microsoft Word Document
        * `pptx` - Microsoft PowerPoint Document
        * `xlsx` - Microsoft Excel Document
        * `pdf` - Portable Document Format
        * `htm / html` - HTML Document
        * `txt` - Plain Text Document
        * `xlf / xliff` - XLIFF Document (versions 1.2, 2.0, and 2.1)
        * `srt` - SRT Document
        * `idml` - Adobe InDesign Markup Language
        * `xml` - XML Document
        * `json` - JSON Document
        * `dita` - DITA topic (Darwin Information Typing Architecture)
        * `mif` - Adobe FrameMaker Interchange Format
        * `jpeg` / `jpg` / `png` - Image (currently in beta)
  - name: RephraseText
    description: >-
      The `rephrase` endpoint  is used to make corrections and adjustments to
      texts based on style or tone.
  - name: CorrectText
    description: >-
      The `correct` endpoint fixes spelling and grammar errors without broader
      rephrasing. Use it when you want

      a minimal-change correction pass rather than the broader rewriting
      performed by `rephrase`.
  - name: ManageMultilingualGlossaries
    description: >-
      The *glossary* functions allow you to create, inspect, edit and delete
      glossaries.

      Glossaries created with the glossary function can be used in translate
      requests by specifying the

      `glossary_id` parameter. A glossary contains (several) dictionaries.

      A dictionary is a mapping of source phrases to target phrases for a single
      language pair.

      If you encounter issues, please let us know at support@DeepL.com.


      Currently you can create glossaries with any of the languages DeepL
      supports (with the exception of Thai).


      The maximum size limit for a glossary is 10 MiB = 10485760 bytes and each
      source/target text,

      as well as the name of the glossary, is limited to 1024 UTF-8 bytes.

      A total of 1000 glossaries are allowed per account.


      When creating a dictionary with target language `EN`, `PT`, or `ZH`, it's
      not necessary to specify a variant

      (e.g. `EN-US`, `EN-GB`, `PT-PT`, `PT-BR`, or `ZH-HANS`).

      Dictionaries with target language `EN` can be used in translations with
      either English variant.

      Similarly `PT`, and `ZH` dictionaries can be used in translations with
      their corresponding variants.

      (When you provide the ID of a glossary to a translation, the appropriate
      dictionary is automatically applied. Currently glossaries can not yet be
      used with source language detection.)


      Glossaries created via the DeepL API are now unified with glossaries
      created via the DeepL website and DeepL apps.

      Please only use the v3 glossary API in conjunction with multilingual or
      edited glossaries from the website.
  - name: ManageGlossaries
    description: >-
      Please note that this is the spec for the (old) v2 glossary endpoint.

      We recommend users switch to the newer v3 glossary endpoints, which
      support editability and multilinguality.


      The *glossary* functions allow you to create, inspect, and delete
      glossaries.

      Glossaries created with the glossary function can be used in translate
      requests by specifying the

      `glossary_id` parameter.

      If you encounter issues, please let us know at support@DeepL.com.


      Currently you can create glossaries with any of the languages DeepL
      supports (with the exception of Thai).
  - name: MetaInformation
    description: Information about API usage and value ranges
  - name: TranslationMemories
    description: >-
      The translation memory endpoints allow you to interact with your account's
      translation memories, used to store

      and reuse previously created translations. Translation memories can be
      used in text translation requests by

      specifying the `translation_memory_id` parameter to denote a specific
      translation memory and the

      `translation_memory_threshold` which defines the minimum matching
      percentage required for a translation memory

      segment to be applied (recommended to be 75% or higher).
  - name: VoiceAPI
    description: >-
      The Voice API provides real-time voice transcription and translation
      services.

      Use a two-step flow: first request a streaming URL via REST, then
      establish a WebSocket connection for streaming audio and receiving
      transcriptions.
  - name: VoiceTranslateJob
    description: >-
      **Alpha.** Async voice translation jobs. This API may change without
      notice.
  - name: AdminApi
    description: >-
      Endpoints for organization administrators to manage API keys and retrieve
      usage analytics.
  - name: QualityEvaluation
    description: >-
      **Closed alpha.** Evaluate translation quality. Submit source/target
      segment pairs and retrieve per-segment quality issues categorized by error
      type and severity, with character spans pointing to where each issue
      occurs.
externalDocs:
  description: DeepL Pro - Plans and pricing
  url: https://www.deepl.com/pro#developer
paths:
  /v2/usage:
    get:
      tags:
        - MetaInformation
      summary: Check Usage and Limits
      operationId: getUsage
      responses:
        '200':
          description: The account's usage and limits.
          headers:
            X-Trace-ID:
              $ref: '#/components/headers/X-Trace-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageResponse'
              examples:
                free:
                  summary: Response for API users not on the Pro plan
                  value:
                    character_count: 180118
                    character_limit: 1250000
                pro:
                  summary: Response for API Pro users
                  value:
                    character_count: 5947223
                    character_limit: 1000000000000
                    products:
                      - product_type: write
                        billing_unit: characters
                        api_key_unit_count: 0
                        account_unit_count: 5643
                        api_key_character_count: 0
                        character_count: 5643
                      - product_type: translate
                        billing_unit: characters
                        api_key_unit_count: 636
                        account_unit_count: 5941580
                        api_key_character_count: 636
                        character_count: 5941580
                      - product_type: speechToText
                        billing_unit: minutes
                        api_key_unit_count: 30
                        account_unit_count: 30
                        api_key_character_count: 0
                        character_count: 0
                      - product_type: speechToSpeech
                        billing_unit: minutes
                        api_key_unit_count: 12
                        account_unit_count: 12
                        api_key_character_count: 0
                        character_count: 0
                    api_key_character_count: 636
                    api_key_character_limit: 1000000000000
                    speech_to_text_milliseconds_count: 0
                    speech_to_text_milliseconds_limit: 0
                    speech_to_text_minutes_count: 30
                    speech_to_text_minutes_limit: 600
                    speech_to_speech_minutes_count: 12
                    speech_to_speech_minutes_limit: 600
                    start_time: '2025-05-13T09:18:42Z'
                    end_time: '2025-06-13T09:18:42Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/ForbiddenScoped'
        '404':
          $ref: '#/components/responses/NotFound'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '456':
          $ref: '#/components/responses/QuotaExceeded'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '504':
          $ref: '#/components/responses/ServiceUnavailable'
        '529':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - auth_header: []
components:
  headers:
    X-Trace-ID:
      description: >-
        A unique identifier for the request that can be included in bug reports
        to DeepL support.
      schema:
        type: string
      example: 501c3d93cc0c4f11ae2f60a226c2f0f0
  schemas:
    UsageResponse:
      type: object
      properties:
        character_count:
          description: Characters translated so far in the current billing period.
          type: integer
          format: int64
          example: 180118
        character_limit:
          description: >-
            Current maximum number of characters that can be translated per
            billing period. If cost control is set, the cost control limit will
            be returned in this field.
          type: integer
          format: int64
          example: 1250000
        document_count:
          description: >-
            Documents translated so far in the current billing period. Only
            present for accounts with a document limit.
          type: integer
          format: int64
        document_limit:
          description: >-
            Current maximum number of documents that can be translated per
            billing period. Only present for accounts with a document limit.
          type: integer
          format: int64
        team_document_count:
          description: >-
            Documents translated by all users in the team so far in the current
            billing period. Only present for accounts with a team document
            limit.
          type: integer
          format: int64
        team_document_limit:
          description: >-
            Current maximum number of documents that can be translated by the
            team per billing period. Only present for accounts with a team
            document limit.
          type: integer
          format: int64
        products:
          type: array
          description: Only present for API Pro users. Per-product usage details.
          items:
            type: object
            properties:
              product_type:
                type: string
                description: The type of product (e.g., 'write', 'translate').
                example: write
              billing_unit:
                type: string
                enum:
                  - characters
                  - minutes
                description: The billing unit for this product type.
                example: characters
              api_key_unit_count:
                type: integer
                description: >-
                  Units used for this product by this API key in the current
                  period.
                example: 0
              account_unit_count:
                type: integer
                description: Total units used for this product in the current period.
                example: 5643
              api_key_character_count:
                type: integer
                deprecated: true
                description: >-
                  Use api_key_unit_count instead. Characters used for this
                  product by this API key in the current period."
                example: 0
              character_count:
                type: integer
                deprecated: true
                description: >-
                  Use account_unit_count instead. Total characters used for this
                  product in the current period."
                example: 5643
        api_key_character_count:
          type: integer
          description: >-
            Only present for API Pro users. Total characters used by this API
            key in the current period.
          example: 636
        api_key_character_limit:
          type: integer
          description: >-
            Only present for API Pro users. Character limit for this API key in
            the current period.
          example: 1000000000000
        speech_to_text_milliseconds_count:
          type: integer
          deprecated: true
          description: >-
            Deprecated. Always returns 0. Use speech_to_text_minutes_count
            instead.
          example: 0
        speech_to_text_milliseconds_limit:
          type: integer
          deprecated: true
          description: >-
            Deprecated. Always returns 0. Use speech_to_text_minutes_limit
            instead.
          example: 0
        speech_to_text_minutes_count:
          type: integer
          description: >-
            Only present for API Pro users. Minutes of speech-to-text used in
            the current period. Milliseconds are rounded up to the nearest
            minute.
          example: 30
        speech_to_text_minutes_limit:
          type: integer
          description: >-
            Only present for API Pro users. Maximum minutes of speech-to-text
            that can be used in the current billing period.
          example: 600
        speech_to_speech_minutes_count:
          type: integer
          description: >-
            Only present for API Pro users. Minutes of speech-to-speech used in
            the current period. Milliseconds are rounded up to the nearest
            minute.
          example: 12
        speech_to_speech_minutes_limit:
          type: integer
          description: >-
            Only present for API Pro users. Maximum minutes of speech-to-speech
            that can be used in the current billing period.
          example: 600
        start_time:
          type: string
          format: date-time
          description: >-
            Only present for API Pro users. Start time of the current billing
            period (ISO 8601).
          example: '2025-05-13T09:18:42Z'
        end_time:
          type: string
          format: date-time
          description: >-
            Only present for API Pro users. End time of the current billing
            period (ISO 8601).
          example: '2025-06-13T09:18:42Z'
    ErrorResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: A human-readable description of the error.
        code:
          type: string
          description: >-
            A machine-readable identifier for the error, when available. Clients
            should match on this value rather than on `message` when branching
            on error types.
          example: invalid_content_type
  responses:
    BadRequest:
      description: Bad request. Please check error message and your parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ForbiddenScoped:
      description: >-
        Authorization failed. Please supply a valid `DeepL-Auth-Key` via the
        `Authorization` header. This error is also returned when the API key is
        scoped but does not include the scope required for this endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested resource could not be found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    PayloadTooLarge:
      description: The request size exceeds the limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Too many requests. Please wait and resend your request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    QuotaExceeded:
      description: Quota exceeded. The character limit has been reached.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal error.
    ServiceUnavailable:
      description: Resource currently unavailable. Try again later.
  securitySchemes:
    auth_header:
      type: apiKey
      description: >
        Authentication with `Authorization` header and `DeepL-Auth-Key`
        authentication scheme. Example: `DeepL-Auth-Key <api-key>`
      name: Authorization
      in: header
      x-default: 'DeepL-Auth-Key '

````