OpenRouter
OpenRouter aggregates 300+ models from Anthropic, OpenAI, Google, Mistral, Meta, Qwen, DeepSeek, and many others behind a single API. Supercompat talks to it via the OpenAI SDK with a custom base URL.
Install
npm install supercompat openai
Minimal setup
import OpenAI from 'openai'
import {
supercompat,
openRouterClientAdapter,
completionsRunAdapter,
memoryStorageAdapter,
} from 'supercompat/openai'
const openRouter = new OpenAI({
apiKey: process.env.OPENROUTER_API_KEY,
baseURL: 'https://openrouter.ai/api/v1',
})
const client = supercompat({
clientAdapter: openRouterClientAdapter({ openRouter }),
storageAdapter: memoryStorageAdapter(),
runAdapter: completionsRunAdapter(),
})
const response = await client.responses.create({
model: 'anthropic/claude-sonnet-4.6',
input: 'What is OpenRouter good for?',
})
Provider routing
openRouterClientAdapter accepts an optional provider object that OpenRouter uses to pick which upstream runs your request. Useful to pin a specific upstream, set fallbacks, or require a region.
openRouterClientAdapter({
openRouter,
provider: {
order: ['Anthropic', 'OpenAI'],
allow_fallbacks: true,
},
})
Models
OpenRouter model ids take the form <vendor>/<model>. Browse the full catalog at openrouter.ai/models.
Some current examples:
anthropic/claude-sonnet-4.6
meta-llama/llama-3.3-70b-instruct