Set up and use EZRouter — unified LLM API with one key for Claude, GPT, and Gemini. 2x credits on every purchase. Native API compatibility for each provider.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill ezrouter --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ezrouter?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-ezrouter)More formats (shields.io, HTML) on the badges page.
---
name: ezrouter
description: Set up and use EZRouter — unified LLM API with one key for Claude, GPT, and Gemini. 2x credits on every purchase. Native API compatibility for each provider.
---
# EZRouter — Unified LLM API
EZRouter gives you **one API key** to access Claude, GPT, and Gemini models through **native API-compatible** endpoints. Pay once, get **2x credits**, with automatic failover across providers.
**Dashboard:** https://openrouter.ezsite.ai
---
## Quick Setup
1. Sign up at https://openrouter.ezsite.ai
2. Add credits (you get **2x** what you pay — $5 becomes $10)
3. Create an API key (prefix: `cr_`)
4. Use the appropriate base URL for your tool or provider
---
## Base URLs
| Provider | Base URL | Use With |
|----------|----------|----------|
| **Claude / Anthropic** | `https://openrouter.ezsite.ai/api/claude` | Claude Code, Anthropic SDK |
| **OpenAI** | `https://openrouter.ezsite.ai/api/openai/v1` | Cursor, OpenAI SDK, ChatGPT-compatible tools |
| **Gemini** | `https://openrouter.ezsite.ai/api/gemini` | Gemini SDK, Google AI tools |
---
## Integration Examples
### Claude Code
```bash
# Set environment variables
export ANTHROPIC_BASE_URL=https://openrouter.ezsite.ai/api/claude
export ANTHROPIC_API_KEY=your_cr_key_here
# Run Claude Code as usual
claude
```
### OpenClaw
```jsonc
// openclaw.json
{
"models": {
"providers": {
"ezrouter": {
"baseUrl": "https://openrouter.ezsite.ai/api/claude",
"apiKey": "${EZROUTER_API_KEY}",
"api": "anthropic-messages",
"models": [
{
"id": "claude-sonnet-4-6-20250627",
"name": "Claude Sonnet 4.6",
"reasoning": false,
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 64000
}
]
}
}
},
"agents": {
"defaults": {
"model": "ezrouter/claude-sonnet-4-6-20250627"
}
}
}
```
```bash
export EZROUTER_API_KEY=your_cr_key_here
```
### Cursor / OpenAI-Compatible Tools
```
API Base URL: https://openrouter.ezsite.ai/api/openai/v1
API Key: your_cr_key_here
```
---
## Native API Examples
### Claude — Messages API
```bash
curl https://openrouter.ezsite.ai/api/claude/v1/messages \
-H "Authorization: Bearer your_cr_key_here" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'
```
### OpenAI — Responses API
```bash
curl https://openrouter.ezsite.ai/api/openai/v1/responses \
-H "Authorization: Bearer your_cr_key_here" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5",
"input": [
{
"type": "message",
"role": "user",
"content": [{"type": "input_text", "text": "Hello"}]
}
]
}'
```
### OpenAI — Chat Completions API
```bash
curl https://openrouter.ezsite.ai/api/openai/v1/chat/completions \
-H "Authorization: Bearer your_cr_key_here" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4.1",
"messages": [{"role": "user", "content": "Hello"}]
}'
```
### Gemini — GenerateContent API
```bash
curl https://openrouter.ezsite.ai/api/gemini/v1beta/models/gemini-2.5-flash:generateContent \
-H "Authorization: Bearer your_cr_key_here" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "Hello"}]}]
}'
```
### Python (OpenAI SDK)
```python
from openai import OpenAI
client = OpenAI(
api_key="your_cr_key_here",
base_url="https://openrouter.ezsite.ai/api/openai/v1"
)
response = client.chat.completions.create(
model="gpt-4.1",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
```
### Python (Anthropic SDK)
```python
import anthropic
client = anthropic.Anthropic(
api_key="your_cr_key_here",
base_url="https://openrouter.ezsite.ai/api/claude"
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}]
)
print(message.content[0].text)
```
### TypeScript (OpenAI SDK)
```typescript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "your_cr_key_here",
baseURL: "https://openrouter.ezsite.ai/api/openai/v1",
});
const response = await client.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
```
---
## Available Models
Models are updated dynamically. Query the models endpoint for each provider to get the current list:
```bash
# EZRouter format (no auth required) — includes pricing info
curl https://openrouter.ezsite.ai/api/model/list
# OpenAI format
curl https://openrouter.ezsite.ai/api/openai/v1/models \
-H "Authorization: Bearer your_cr_key_here"
# Claude / Anthropic format
curl https://openrouter.ezsite.ai/api/claude/v1/models \
-H "Authorization: Bearer your_cr_key_here"
# Gemini format
curl https://openrouter.ezsite.ai/api/gemini/v1beta/models \
-H "Authorization: Bearer your_cr_key_here"
```
Supported providers: **Claude** (Opus, Sonnet, Haiku), **OpenAI** (GPT-5.x, GPT-4.1, GPT-4o, o3/o4, Codex), **Google Gemini** (Pro, Flash, Flash-Lite).
---
## Pricing
- **2x Credits:** Pay $5, get $10 in credits. Every dollar goes further.
- **Same rates as providers:** No markup on per-token pricing.
- **Pay-as-you-go:** No subscriptions. Add credits when you need them.
- **Minimum purchase:** $5 | **Maximum:** $1,000
---
## Links
- **Dashboard:** https://openrouter.ezsite.ai
- **Claude API:** https://openrouter.ezsite.ai/api/claude
- **OpenAI API:** https://openrouter.ezsite.ai/api/openai/v1
- **Gemini API:** https://openrouter.ezsite.ai/api/gemini
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!