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

# Retrieve languages

> Returns languages supported by the specified DeepL API resource. Each language indicates whether it can
be used as a source language, a target language, or both, along with the features it supports for that
resource.

<Info>
  This endpoint is available for testing in BETA. Breaking changes may be pushed with little or no advance notice, and we provide no guarantees of stability.
</Info>


## OpenAPI

````yaml get /v3/languages
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.9.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, version 2.1
        * `srt` - SRT Document
        * `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: 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.
externalDocs:
  description: DeepL Pro - Plans and pricing
  url: https://www.deepl.com/pro#developer
paths:
  /v3/languages:
    get:
      tags:
        - MetaInformation
        - beta
      summary: Retrieve Languages
      description: >-
        Returns languages supported by the specified DeepL API resource. Each
        language indicates whether it can

        be used as a source language, a target language, or both, along with the
        features it supports for that

        resource.
      operationId: getLanguages
      parameters:
        - name: resource
          in: query
          required: true
          schema:
            type: string
            enum:
              - translate_text
              - translate_document
              - glossary
              - voice
              - write
              - style_rules
          example: translate_text
          description: >-
            The resource to retrieve languages for. Supported values:
            `translate_text`, `translate_document`,

            `glossary`, `voice`, `write`, `style_rules`.
        - name: include
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - beta
                - external
          style: form
          explode: true
          description: >-
            Controls which languages and features are included in the response.
            By default, only stable

            languages and features are returned. Values can be combined with
            repeated parameters

            (e.g. `?include=beta&include=external`).


            - `beta`: Include languages and features in beta, in addition to
            stable

            - `external`: Include features that rely on third-party service
            providers
      responses:
        '200':
          description: JSON array where each item represents a supported language.
          headers:
            X-Trace-ID:
              $ref: '#/components/headers/X-Trace-ID'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - lang
                    - name
                    - usable_as_source
                    - usable_as_target
                    - features
                    - status
                  properties:
                    lang:
                      description: The language code (BCP 47).
                      type: string
                      example: de
                    name:
                      description: Name of the language in English.
                      type: string
                      example: German
                    usable_as_source:
                      description: >-
                        Whether this language can be used as a source language
                        with the specified resource.
                      type: boolean
                    usable_as_target:
                      description: >-
                        Whether this language can be used as a target language
                        with the specified resource.
                      type: boolean
                    status:
                      description: Availability status of this language.
                      type: string
                      enum:
                        - stable
                        - beta
                        - early_access
                      example: stable
                    features:
                      description: >-
                        Features supported for this language with the specified
                        resource. Always present;

                        empty object if no optional features are supported. Each
                        key is a feature name;

                        the value is an object with at least a `status` field.
                        Consult `GET /v3/languages/resources`

                        to determine whether a feature must be present on the
                        source language, target language,

                        or both for a given resource.
                      type: object
                      additionalProperties:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            description: >-
                              Availability status of this feature for this
                              language.
                            type: string
                            enum:
                              - stable
                              - beta
                              - early_access
                      example:
                        formality:
                          status: stable
                        tag_handling:
                          status: stable
                        glossary:
                          status: stable
              examples:
                translateTextLanguages:
                  summary: Languages for text translation
                  value:
                    - lang: de
                      name: German
                      usable_as_source: true
                      usable_as_target: true
                      status: stable
                      features:
                        formality:
                          status: stable
                        tag_handling:
                          status: stable
                        glossary:
                          status: stable
                    - lang: en
                      name: English
                      usable_as_source: true
                      usable_as_target: false
                      status: stable
                      features:
                        tag_handling:
                          status: stable
                        glossary:
                          status: stable
                    - lang: en-US
                      name: English (American)
                      usable_as_source: false
                      usable_as_target: true
                      status: stable
                      features:
                        tag_handling:
                          status: stable
                        glossary:
                          status: stable
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      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
  responses:
    BadRequest:
      description: Bad request. Please check error message and your parameters.
    Unauthorized:
      description: >-
        Authorization failed. Please supply a valid `DeepL-Auth-Key` via the
        `Authorization` header.
    Forbidden:
      description: >-
        Authorization failed. Please supply a valid `DeepL-Auth-Key` via the
        `Authorization` header.
    TooManyRequests:
      description: Too many requests. Please wait and resend your request.
    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 '

````