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

# Speech recognition provider comparison

> Understand how Retell's speech recognition providers differ — Retell auto-routes to the best fit for your selected languages.

Retell automatically picks a speech recognition provider based on the languages your agent is configured for. You don't need to choose one manually, but it helps to understand the trade-offs when deciding which languages to support.

<Note>
  These observations are based on our internal testing and routing rules. Results may vary depending on the specific languages, audio conditions, and call patterns.
</Note>

## Provider overview

### Deepgram

* **Best for:** Lowest latency, the default for single-language agents on common languages.
* **Multilingual:** Supports code-switching across 10 languages: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, Dutch.
* **Consideration:** Doesn't cover less-common languages (e.g., Welsh, Marathi, Kazakh).

### Azure

* **Best for:** The broadest single-language coverage — including languages no other provider supports (e.g., Icelandic, Nepali, Filipino).
* **Consideration:** No multilingual mode. Used only when the agent is configured with a single language.

### Soniox

* **Best for:** Multilingual code-switching across a much wider set than Deepgram — about 50 languages, with the same coverage in both single and multi modes.
* **Consideration:** Slightly higher latency than Deepgram, so Retell prefers Deepgram when both providers support a language.

## How Retell picks a provider

Retell evaluates the agent's selected languages against each provider's coverage and routes to the most accurate option:

* **Single common language** → Deepgram.
* **Single uncommon language** (not covered by Deepgram) → Azure.
* **Multiple languages, all within Deepgram's multilingual set** → Deepgram multilingual.
* **Multiple languages, broader combination** → Soniox.
* **Multiple variants of the same base language** (e.g., `en-US` + `en-GB`) → routed as single-language for that base, with no accuracy penalty.

If no single provider can cover all of your selected languages together, the dashboard prevents you from selecting that combination. See [Configure a multilingual agent](/agent/multilingual) for details.
