From 06bce3a16e5788052546ba011e77a75c6bf845ca Mon Sep 17 00:00:00 2001 From: shin-bot-litellm Date: Thu, 12 Feb 2026 06:07:13 +0000 Subject: [PATCH 1/2] Add API Model Pricing page - New top-level tab linking to LiteLLM's Model Catalog API - Documents GET /model_catalog and GET /model_catalog/{model_id} endpoints - Includes query parameters table, curl examples, and sample responses - Links to interactive docs at https://api.litellm.ai/docs --- src/ApiPricing.svelte | 488 ++++++++++++++++++++++++++++++++++++++++++ src/Main.svelte | 28 ++- 2 files changed, 512 insertions(+), 4 deletions(-) create mode 100644 src/ApiPricing.svelte diff --git a/src/ApiPricing.svelte b/src/ApiPricing.svelte new file mode 100644 index 0000000..c7f17f4 --- /dev/null +++ b/src/ApiPricing.svelte @@ -0,0 +1,488 @@ + + +
+
+

API Model Pricing

+

+ Query LiteLLM's model pricing & context window data programmatically +

+ +
+ +
+
+

Base URL

+
+ https://api.litellm.ai +
+

No authentication required. All endpoints are publicly accessible.

+
+ + +
+

+ GET + /model_catalog +

+

List and filter models. Returns pricing, context windows, and capability metadata.

+ +

Query Parameters

+
+ + + + + + + + + + + + + + + + + + + +
ParameterTypeDescription
providerstringFilter by provider (e.g. openai, anthropic, vertex_ai)
modelstringSearch by model name (partial match)
modestringFilter by mode (e.g. chat, embedding, completion)
supports_visionbooleanFilter models that support vision
supports_function_callingbooleanFilter models that support function calling
supports_tool_choicebooleanFilter models that support tool choice
supports_response_schemabooleanFilter models that support response schema
limitintegerNumber of results to return (default: 50)
offsetintegerOffset for pagination
+
+ +

Example

+
+
+ curl + +
+
curl 'https://api.litellm.ai/model_catalog?provider=openai&mode=chat&limit=2'
+
+ +
+
Response
+
{JSON.stringify({
+  data: [
+    {
+      model: "gpt-4o",
+      provider: "openai",
+      mode: "chat",
+      max_input_tokens: 128000,
+      max_output_tokens: 16384,
+      input_cost_per_token: 0.0000025,
+      output_cost_per_token: 0.00001,
+      supports_vision: true,
+      supports_function_calling: true
+    },
+    {
+      model: "gpt-4o-mini",
+      provider: "openai",
+      mode: "chat",
+      max_input_tokens: 128000,
+      max_output_tokens: 16384,
+      input_cost_per_token: 1.5e-7,
+      output_cost_per_token: 6e-7,
+      supports_vision: true,
+      supports_function_calling: true
+    }
+  ],
+  total: 150,
+  limit: 2,
+  offset: 0
+}, null, 2)}
+
+
+ + +
+

+ GET + /model_catalog/{'{model_id}'} +

+

Get detailed information for a single model by its ID.

+ +

Example

+
+
+ curl + +
+
curl 'https://api.litellm.ai/model_catalog/gpt-4o'
+
+ +
+
Response
+
{JSON.stringify({
+  model: "gpt-4o",
+  provider: "openai",
+  mode: "chat",
+  max_input_tokens: 128000,
+  max_output_tokens: 16384,
+  input_cost_per_token: 0.0000025,
+  output_cost_per_token: 0.00001,
+  cache_read_input_token_cost: 0.00000125,
+  supports_vision: true,
+  supports_function_calling: true,
+  supports_tool_choice: true,
+  supports_response_schema: true
+}, null, 2)}
+
+
+ + +
+

More Examples

+ +
+
+

Filter by vision support

+
+ GET /model_catalog?supports_vision=true&limit=10 +
+
+
+

Get all Anthropic models

+
+ GET /model_catalog?provider=anthropic +
+
+
+

Search by model name

+
+ GET /model_catalog?model=claude +
+
+
+

Embedding models only

+
+ GET /model_catalog?mode=embedding +
+
+
+
+ +
+

+ For the full interactive API documentation with try-it-out functionality, visit + api.litellm.ai/docs. +

+
+
+
+ + diff --git a/src/Main.svelte b/src/Main.svelte index c300f30..d9f2434 100644 --- a/src/Main.svelte +++ b/src/Main.svelte @@ -4,10 +4,11 @@ import Providers from "./Providers.svelte"; import Cookbook from "./Cookbook.svelte"; import Guardrails from "./Guardrails.svelte"; + import ApiPricing from "./ApiPricing.svelte"; import RequestForm from "./RequestForm.svelte"; import { initAnalytics, trackPageView, trackTabChange } from "./analytics"; - let activeTab: "models" | "providers" | "cookbook" | "guardrails" = "models"; + let activeTab: "models" | "providers" | "cookbook" | "guardrails" | "api-pricing" = "models"; let mobileMenuOpen = false; let requestForm: RequestForm; @@ -15,22 +16,25 @@ const DOCS_URL = "https://docs.litellm.ai"; // Map URL paths to tab names - function getTabFromPath(path: string): "models" | "providers" | "cookbook" | "guardrails" { + function getTabFromPath(path: string): "models" | "providers" | "cookbook" | "guardrails" | "api-pricing" { if (path === "/providers" || path === "/providers/") { return "providers"; } else if (path === "/cookbook" || path === "/cookbook/") { return "cookbook"; } else if (path === "/guardrails" || path === "/guardrails/") { return "guardrails"; + } else if (path === "/api-pricing" || path === "/api-pricing/") { + return "api-pricing"; } return "models"; } // Get path from tab name - function getPathFromTab(tab: "models" | "providers" | "cookbook" | "guardrails"): string { + function getPathFromTab(tab: "models" | "providers" | "cookbook" | "guardrails" | "api-pricing"): string { if (tab === "providers") return "/providers"; if (tab === "cookbook") return "/cookbook"; if (tab === "guardrails") return "/guardrails"; + if (tab === "api-pricing") return "/api-pricing"; return "/"; } @@ -42,7 +46,7 @@ mobileMenuOpen = false; } - function selectTab(tab: "models" | "providers" | "cookbook" | "guardrails", updateUrl = true) { + function selectTab(tab: "models" | "providers" | "cookbook" | "guardrails" | "api-pricing", updateUrl = true) { activeTab = tab; closeMobileMenu(); trackTabChange(tab); @@ -174,6 +178,13 @@ > Guardrails +