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

# Introduction

> One API key, every LLM provider. Route, manage, and observe all your LLM traffic through a single gateway.

## What is ARouter?

ARouter is a unified LLM API gateway that sits between your application and upstream model providers.
Use **one API key** to access OpenAI, Anthropic, Google Gemini, DeepSeek, Mistral, Groq, and many more —
without changing your existing code.

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/en/quickstart">
    Get up and running in under 2 minutes
  </Card>

  <Card title="API Reference" icon="code" href="/en/api-reference/introduction">
    Explore every endpoint
  </Card>

  <Card title="SDKs" icon="puzzle-piece" href="/en/sdks/overview">
    Python, Node.js, Go & cURL examples
  </Card>

  <Card title="Key Management" icon="key" href="/en/guides/key-management">
    Fine-grained access control for your team
  </Card>
</CardGroup>

## Why ARouter?

<AccordionGroup>
  <Accordion title="Drop-in compatible" icon="plug">
    Use the **official OpenAI, Anthropic, or Gemini SDK** you already know.
    Just change `base_url` and `api_key` — zero code changes.
  </Accordion>

  <Accordion title="Multi-provider routing" icon="shuffle">
    Route requests to **14+ providers** through a single endpoint using the `provider/model` format.
    No need to manage separate API keys and base URLs for each provider.
  </Accordion>

  <Accordion title="Key pooling & failover" icon="shield-halved">
    Pool multiple API keys per provider with weighted round-robin selection.
    Automatic health checking, circuit breaking, and failover across keys and providers.
  </Accordion>

  <Accordion title="Key management" icon="key">
    Create scoped API keys with provider whitelists, model restrictions,
    spending limits, and expiry — all via the management API.
  </Accordion>

  <Accordion title="Global multi-region" icon="globe">
    Deploy across multiple regions with intelligent request routing.
    Requests from latency-sensitive or network-restricted regions are automatically proxied through the nearest edge node to reach upstream providers.
  </Accordion>

  <Accordion title="Usage tracking" icon="chart-line">
    Every request is metered with input/output tokens, latency, and status.
    Monitor usage per key, per model, per provider in real time.
  </Accordion>
</AccordionGroup>

## Supported Providers

| Provider      | Models                                                    | Native SDK Support |
| ------------- | --------------------------------------------------------- | ------------------ |
| **OpenAI**    | GPT-5.4, GPT-5.4 Mini, o4-mini, o3, ...                   | OpenAI SDK         |
| **Anthropic** | Claude Sonnet 4.6, Claude Opus 4.6, Claude Haiku 4.5, ... | Anthropic SDK      |
| **Google**    | Gemini 2.5 Flash, Gemini 2.5 Pro, ...                     | Gemini SDK         |
| **DeepSeek**  | DeepSeek V3.2, DeepSeek R1, ...                           | OpenAI SDK         |
| **xAI**       | Grok 4.20, Grok 4.1 Fast, ...                             | OpenAI SDK         |
| **Mistral**   | Mistral Large 3, Mistral Medium 3.1, Codestral, ...       | OpenAI SDK         |
| **Meta**      | Llama 4 Maverick, Llama 4 Scout, ...                      | OpenAI SDK         |
| **Qwen**      | Qwen 3.5 397B, Qwen3 Coder, ...                           | OpenAI SDK         |
| **Moonshot**  | Kimi K2.5, ...                                            | OpenAI SDK         |
| **MiniMax**   | MiniMax M2.7, ...                                         | MiniMax SDK        |

## How It Works

```
Your App (any SDK)
    │
    ▼
ARouter Gateway  ←── one API key, one base URL
    │
    ├──→ OpenAI
    ├──→ Anthropic
    ├──→ Gemini
    ├──→ DeepSeek
    ├──→ Mistral
    └──→ ... more providers
```

ARouter parses the `model` field from your request, determines the target provider,
selects a healthy API key from the pool, and proxies the request — including streaming responses.

All of this happens transparently. Your application code stays exactly the same.
