✓ Verified 💻 Development ✓ Enhanced Data

Llmcouncil Router

Route any prompt to the best-performing LLM using peer-reviewed council rankings from LLM Council.

Rating
4.4 (277 reviews)
Downloads
2,298 downloads
Version
1.0.0

Overview

Route any prompt to the best-performing LLM using peer-reviewed council rankings from LLM Council.

Complete Documentation

View Source →

LLM Council Router

Route any prompt to the best-performing LLM. The API finds the top model for a given query based on thousands of peer-reviewed council deliberations — then you call that model directly.

Base URL

text
https://clawbot.llmcouncil.ai

Authentication

Use the X-API-Key header with your LLM Council API key.

text
X-API-Key: clwb_YOUR_KEY_HERE

Get a free key at llmcouncil.ai/developers.

Endpoint: POST /v1/route

Find the best-performing model for a query.

Request

json
{
  "query": "Explain quantum entanglement simply",
  "k": 20
}

FieldTypeRequiredDescription
querystringYesThe prompt or question to route
kintegerNoNumber of past evaluations to consider (default: 20)

Response

json
{
  "query": "Explain quantum entanglement simply",
  "nearest_councils": 20,
  "model": "anthropic/claude-sonnet-4",
  "relevance": 0.8234,
  "confidence": 0.65,
  "model_rankings": [
    { "rank": 1, "model": "anthropic/claude-sonnet-4", "nearby_wins": 13, "nearby_appearances": 20 },
    { "rank": 2, "model": "openai/gpt-4.1", "nearby_wins": 5, "nearby_appearances": 18 }
  ]
}

FieldTypeDescription
modelstringTop recommended model ID (matches OpenRouter catalogue)
relevancefloat (0–1)How closely matched evaluations relate to your query. Above 0.75 is strong.
confidencefloat (0–1)How decisively the top model outperforms alternatives. Higher = clearer winner.
nearest_councilsintegerNumber of relevant past evaluations used
model_rankingsarrayAll models ranked by performance across matched evaluations

How to use this skill

When the user asks you to find the best model for a task, or when you need to decide which LLM to use:

  • Call the routing API with the user's query:
bash
curl -X POST https://clawbot.llmcouncil.ai/v1/route \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $LLMCOUNCIL_API_KEY" \
  -d '{"query": "USER_QUERY_HERE"}'
  • Read the response — the model field is the best-performing model for that query type.
  • Chain with OpenRouter — model IDs match the OpenRouter catalogue directly, no mapping needed:
python
import requests, os

# Step 1: Get the best model from LLM Council
route = requests.post(
    "https://clawbot.llmcouncil.ai/v1/route",
    headers={"X-API-Key": os.environ["LLMCOUNCIL_API_KEY"]},
    json={"query": "Write a Python web scraper"},
).json()

best_model = route["model"]       # e.g. "anthropic/claude-sonnet-4"
confidence = route["confidence"]   # e.g. 0.85

# Step 2: Call that model via OpenRouter
answer = requests.post(
    "https://openrouter.ai/api/v1/chat/completions",
    headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
    json={
        "model": best_model,
        "messages": [{"role": "user", "content": "Write a Python web scraper"}],
    },
).json()

print(answer["choices"][0]["message"]["content"])

Rate Limits

TierDaily LimitAttribution
Free100 requests/dayRequired
Pro10,000 requests/dayNone

When to use this

  • User asks "which model is best for X?"
  • You need to pick the optimal model for a specific task type
  • You want data-driven model selection instead of guessing
  • You want to chain model routing with OpenRouter for automatic best-model dispatch

Installation

Terminal bash

openclaw install llmcouncil-router
    
Copied!

💻Code Examples

https://clawbot.llmcouncil.ai

httpsclawbotllmcouncilai.txt
## Authentication

Use the `X-API-Key` header with your LLM Council API key.

X-API-Key: clwb_YOUR_KEY_HERE

x-api-key-clwbyourkeyhere.txt
Get a free key at [llmcouncil.ai/developers](https://llmcouncil.ai/developers).

## Endpoint: POST /v1/route

Find the best-performing model for a query.

### Request

}

.txt
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | The prompt or question to route |
| `k` | integer | No | Number of past evaluations to consider (default: 20) |

### Response

}

.txt
| Field | Type | Description |
|-------|------|-------------|
| `model` | string | Top recommended model ID (matches OpenRouter catalogue) |
| `relevance` | float (0–1) | How closely matched evaluations relate to your query. Above 0.75 is strong. |
| `confidence` | float (0–1) | How decisively the top model outperforms alternatives. Higher = clearer winner. |
| `nearest_councils` | integer | Number of relevant past evaluations used |
| `model_rankings` | array | All models ranked by performance across matched evaluations |

## How to use this skill

When the user asks you to find the best model for a task, or when you need to decide which LLM to use:

1. **Call the routing API** with the user's query:

-d '{"query": "USER_QUERY_HERE"}'

--d-query-userqueryhere.txt
2. **Read the response** — the `model` field is the best-performing model for that query type.

3. **Chain with OpenRouter** — model IDs match the OpenRouter catalogue directly, no mapping needed:
example.json
{
  "query": "Explain quantum entanglement simply",
  "k": 20
}
example.json
{
  "query": "Explain quantum entanglement simply",
  "nearest_councils": 20,
  "model": "anthropic/claude-sonnet-4",
  "relevance": 0.8234,
  "confidence": 0.65,
  "model_rankings": [
    { "rank": 1, "model": "anthropic/claude-sonnet-4", "nearby_wins": 13, "nearby_appearances": 20 },
    { "rank": 2, "model": "openai/gpt-4.1", "nearby_wins": 5, "nearby_appearances": 18 }
  ]
}
example.sh
curl -X POST https://clawbot.llmcouncil.ai/v1/route \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $LLMCOUNCIL_API_KEY" \
  -d '{"query": "USER_QUERY_HERE"}'
example.py
import requests, os

# Step 1: Get the best model from LLM Council
route = requests.post(
    "https://clawbot.llmcouncil.ai/v1/route",
    headers={"X-API-Key": os.environ["LLMCOUNCIL_API_KEY"]},
    json={"query": "Write a Python web scraper"},
).json()

best_model = route["model"]       # e.g. "anthropic/claude-sonnet-4"
confidence = route["confidence"]   # e.g. 0.85

# Step 2: Call that model via OpenRouter
answer = requests.post(
    "https://openrouter.ai/api/v1/chat/completions",
    headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
    json={
        "model": best_model,
        "messages": [{"role": "user", "content": "Write a Python web scraper"}],
    },
).json()

print(answer["choices"][0]["message"]["content"])

Tags

#ai_and-llms

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author ashtiwariasu
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install llmcouncil-router