OpenRouter: One API for Hundreds of LLMs (OpenAI, Anthropic, Google, Meta, Mistral)

# OpenRouter: Satu API untuk Ratusan LLM (OpenAI, Anthropic, Google, Meta, Mistral) Halo temen-temen, ketemu lagi sama aku, Ruby Abdullah. Kali ini aku mau bahas satu tool yang menurut aku wajib bang...

By Ruby Abdullah · · tutorial
openrouterllmapi-gatewaypythonmodel-routing

OpenRouter: One API for Hundreds of LLMs (OpenAI, Anthropic, Google, Meta, Mistral)

Hey everyone, it's me again, Ruby Abdullah. This time I want to talk about a tool that I think you absolutely need to know if you're serious about building applications on top of large language models. It's called OpenRouter. For me personally, OpenRouter is like a universal power outlet for every large language model out there right now. Think about it, normally if you want to use GPT from OpenAI you have to sign up with OpenAI, get your own API key, use their own SDK. Then if you want to try Claude from Anthropic, you have to sign up again with Anthropic, another API key, another SDK. Want to try Gemini from Google? Same thing, sign up again. Not to mention if you want to try open source models like Llama from Meta or Mistral. It gets messy fast, right?

Well, OpenRouter comes in to solve exactly that problem. With one API key and one endpoint whose format is compatible with OpenAI, you can access hundreds of models from various providers. So your code doesn't change, you just swap the model name and you can hop from GPT to Claude to Gemini to Llama as easily as changing a string. This is a real game changer for me, especially when you're experimenting to find which model fits a particular use case, or when you want to build a system that has automatic fallback if one model goes down.

In this tutorial I'll walk you from zero. Starting from how to get an API key, how to use it via the OpenAI SDK, how to pick a model using slugs, streaming, routing and fallback between models, provider preferences, cost and rate limit tracking, all the way to comparing model prices. Every example is in Python so it's easy to follow. Let's get started.

Introduction

Before we get into the technical stuff, I want you to understand first why OpenRouter matters and what it actually does behind the scenes. So here's the deal, OpenRouter sits as a gateway or intermediary. When you send a request to OpenRouter, it forwards that request to the model provider you chose, waits for the answer, then sends it back to you. All of this happens with a uniform format, namely the OpenAI Chat Completions format that has become the de facto standard in the industry.

Why does the OpenAI format matter? Because almost every library, framework, and tool in the LLM ecosystem right now already supports that format. So if you already have code running with the OpenAI SDK, you just swap the baseurl and apikey, and your code can immediately access hundreds of models through OpenRouter without needing to rewrite anything. That's what makes migration super easy.

There are several concrete benefits I felt when using OpenRouter. First, one bill for everything. You don't need to juggle billing in many places, just top up your balance on OpenRouter, and from there you can use any model. Second, you can compare model prices and performance easily because everything is in one place. Third, there are routing and fallback features that make your app more resilient. If one provider is erroring out or rate limiting, OpenRouter can automatically switch to another provider. Fourth, you get access to models that might be hard to sign up for directly, including open source models hosted by various infrastructure providers.

For me, the use case that hits hardest is when building a prototype. I very often want to try out, for example, whether this summarization task is better handled by Claude or GPT or a cheaper model like Llama. Without OpenRouter, I'd have to set up three accounts, three API keys, and maybe write three versions of code. With OpenRouter, I just swap one model name string and I can immediately compare the results. Saves time, saves energy, saves brain cells.

One thing you should know, OpenRouter isn't free in the sense that you still pay per token according to the price of the model you use. OpenRouter takes a small margin or sometimes they pass through the original price. But there are also some models that have a free tier with certain rate limits, perfect for early experimentation. So you can start without spending money first just to learn.

Related Articles

Complete Guidance Tutorial: Constrained Generation and Structured Output from LLMs

Tutorial Lengkap Guidance: Constrained Generation dan Structured Output dari LLM Halo temen-temen, di tutorial kali ini ...

Zep Tutorial: Long-Term Memory for AI Agents with a Temporal Knowledge Graph

Zep: Bikin AI Agent Punya Memori Jangka Panjang dengan Temporal Knowledge Graph Temen-temen, pernah ngobrol sama chatbot...

Fireworks AI: A Super Fast Inference Platform for Open LLMs and Multimodal Models

Fireworks AI: Platform Inference Super Cepat buat Open LLM dan Model Multimodal Halo temen-temen, di tutorial kali ini a...

Together AI: A Complete Guide to Inference and Fine-Tuning Open Source Models with One API

Together AI: Panduan Lengkap Inference dan Fine-Tuning Model Open Source dengan Satu API Halo temen-temen! Kali ini aku ...