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
openai/gpt-4.1-mini
google/gemini-2.5-flash
meta-llama/llama-3.3-70b-instruct
deepseek/deepseek-r1