This was the week to be glad you weren't hard-wired to one model. OpenAI took GPT-5.6 public, Anthropic pushed Sonnet 5 out at aggressive pricing, Google kept driving inference costs down — and if your product calls exactly one provider through that provider's own SDK, testing any of it means a real integration, not an experiment. OpenRouter exists to erase that cost. Here's the founder's-eye view.

What it is#

OpenRouter is one OpenAI-compatible API in front of many model providers. Instead of integrating OpenAI, Anthropic, Google, Meta, xAI, DeepSeek and the rest separately — different SDKs, keys, bills, and quirks — you point your existing OpenAI client at OpenRouter's endpoint and address any model by a provider/model slug. One key. One bill. One endpoint. The catalog is marketed at 300–400+ models across 60+ providers, and it moves constantly.

The parts that matter for a real product:

Who makes it#

OpenRouter was founded in early 2023 by Alex Atallah — co-founder and former CTO of OpenSea — with Louis Vichy. It raised a reported ~$40M Series A led by Andreessen Horowitz and Menlo Ventures, and later reporting put it in unicorn territory on a subsequent round. It's aimed squarely at founders and developers who want to ship fast without per-vendor plumbing, A/B or hot-swap models, and buy reliability through fallbacks.

How to start#

  1. Sign up at openrouter.ai, open Keys, and create an API key. No credit card is needed to get a key or to call :free models.
  2. Point your existing OpenAI SDK at the base URL https://openrouter.ai/api/v1 and use your OpenRouter key. That's the whole migration.
  3. Optionally add two attribution headers — HTTP-Referer (your site) and X-Title (your app name) — which surface your app on OpenRouter's rankings.

Node, using the standard OpenAI SDK:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://openrouter.ai/api/v1",
  apiKey: process.env.OPENROUTER_API_KEY,
});

const completion = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-4.5",   // provider/model slug — check the models page for the exact current id
  models: ["anthropic/claude-sonnet-4.5", "openai/gpt-4o", "google/gemini-2.5-pro"], // automatic fallback order
  messages: [{ role: "user", content: "Hello!" }],
}, {
  headers: {
    "HTTP-Referer": "https://yourapp.com",
    "X-Title": "Your App Name",
  },
});
console.log(completion.choices[0].message.content);

curl, if you'd rather see the raw shape:

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4.5",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

To switch to GPT-5.6 or Gemini when you want to compare them, you change the slug. That's the entire point. Free variants carry a :free suffix — verify the exact current slugs on OpenRouter's models page before you hard-code them.

Pricing#

(Fees and limits are consistent across current sources but move; confirm on the live pricing page before you commit to numbers.)

When not to reach for it#

OpenRouter adds a network hop and a new dependency in your critical path. That's a great trade while models are leapfrogging each other every few weeks and you want to stay swappable. It's a worse trade if you run a single model at large scale — a direct provider contract will usually be cheaper and lower-latency — or if you're in a regulated domain that needs a direct data-processing agreement with one provider. If you route sensitive prompts, pin your providers explicitly and read the data-retention controls rather than trusting default routing.

Takeaway#

The lesson of this news week is that no single model stays the best model for long. OpenRouter turns "which vendor did we build on?" from an architectural decision into an editable string, with fallbacks so one provider's bad afternoon isn't your outage. For a founder shipping AI features into a market that reprices itself monthly, staying swappable is the cheap insurance — and this is the least-effort way to buy it.