---
title: "Integrations"
description: "pirouter speaks the OpenAI, Anthropic and Gemini protocols natively, so most tools work by changing three settings: base URL, API key and model ID."
canonical: "https://pirouter.ai/docs/integrations"
last-updated: "2026-10-13"
lang: "en"
source: "content/docs/en/integrations/index.mdx"
---

# Integrations

pirouter speaks the OpenAI, Anthropic and Gemini protocols natively, so most tools work by changing three settings: base URL, API key and model ID.

## SDKs

The official SDKs need no plugin. Set the base URL for the protocol and pass your pirouter key.

- [OpenAI SDK](https://pirouter.ai/docs/models.md#openai-protocol): Base URL `https://api.pirouter.ai/v1`. Nothing else to change.
- [Anthropic SDK](https://pirouter.ai/docs/models.md#anthropic-protocol): Base URL `https://api.pirouter.ai`. No `/v1`: the SDK adds it.
- [Google GenAI SDK](https://pirouter.ai/docs/models.md#gemini-protocol): Base URL `https://api.pirouter.ai`. Also add an `Authorization: Bearer` header.

All three SDKs ship for Python and TypeScript, and each sample runs as is.

## Which models work with which protocol

pirouter does not translate between protocols. A tool can only use a model that accepts the protocol the tool speaks.

- [Browse all models](https://pirouter.ai/models): Each model's page shows the protocols it accepts.

A request for a model over a protocol it does not accept returns `422 validation_failed`.

## Point any OpenAI-compatible tool at pirouter

Most tools read two environment variables. Set them once, then start the tool as usual.

`~/.zshrc`:

```bash
export OPENAI_BASE_URL="https://api.pirouter.ai/v1"
export OPENAI_API_KEY="$PIROUTER_API_KEY"
```

> **Planned, not available yet:** Step-by-step pages for individual coding agents, editors and chat apps are added here one at a time, each after it has been installed and tested against a live key.

> **Note:** No key yet? The [quickstart](https://pirouter.ai/docs/quickstart.md) creates one and sends a first request.
