API ReferenceModels

Models

List available models and their capabilities

Last updated

The Models endpoint lists all models available through Nemo Router. Use it to discover available models, check capabilities, and build dynamic model selection in your applications.

Models catalog — every major provider through one endpoint

List Models

GET https://api.nemorouter.ai/v1/models

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer <NEMOROUTER_API_KEY>

Example Request

curl https://api.nemorouter.ai/v1/models \
  -H "Authorization: Bearer $NEMOROUTER_API_KEY"

Python

from openai import OpenAI

client = OpenAI(
    api_key="sk-nemo-your-key-here",
    base_url="https://api.nemorouter.ai/v1",
)

models = client.models.list()

for model in models.data:
    print(f"{model.id} — owned by {model.owned_by}")

Node.js

import OpenAI from "openai";

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

const models = await client.models.list();

for (const model of models.data) {
  console.log(`${model.id} — owned by ${model.owned_by}`);
}

Response

{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o",
      "object": "model",
      "created": 1709251200,
      "owned_by": "openai"
    },
    {
      "id": "claude-sonnet-4-20250514",
      "object": "model",
      "created": 1709251200,
      "owned_by": "anthropic"
    },
    {
      "id": "gemini-2.5-pro",
      "object": "model",
      "created": 1709251200,
      "owned_by": "google"
    }
  ]
}

Response Fields

FieldTypeDescription
objectstringAlways "list"
dataarrayArray of model objects
data[].idstringThe model identifier to use in API calls
data[].objectstringAlways "model"
data[].createdintegerUnix timestamp of when the model was added
data[].owned_bystringThe provider that owns this model

Retrieve a Model

GET https://api.nemorouter.ai/v1/models/{model_id}

Example

curl https://api.nemorouter.ai/v1/models/gpt-4o \
  -H "Authorization: Bearer $NEMOROUTER_API_KEY"

Response

{
  "id": "gpt-4o",
  "object": "model",
  "created": 1709251200,
  "owned_by": "openai"
}

Supported Providers

Nemo Router routes requests to these live providers:

ProviderExample ModelsCapabilities
Anthropicclaude-sonnet-4-20250514, claude-opus-4-20250514Chat, vision, function calling, long context
Googlegemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-liteChat, vision, function calling, long context
OpenAIgpt-4o, gpt-4-turbo, o1, o3, gpt-4o-miniChat, embeddings, vision, function calling, JSON mode

78+ models are live today across these three providers. AWS Bedrock is shipping next, with Azure OpenAI, Meta, and Mistral on the roadmap.

This is not an exhaustive list. Use the Models API to get the full, up-to-date list of available models.

Model Naming

Model names match or closely follow each provider's own naming convention — no provider prefix required:

  • Use gpt-4o instead of openai/gpt-4o
  • Use claude-sonnet-4-20250514 instead of anthropic/claude-sonnet-4-20250514
  • Use gemini-2.5-pro instead of google/gemini-2.5-pro

The exact model names available depend on your organization's configuration. Use the Models API to verify the correct model identifier.

Filtering Models by Provider

The API returns all available models. To filter by provider in your code:

models = client.models.list()

# Filter for OpenAI models
openai_models = [m for m in models.data if m.owned_by == "openai"]
for model in openai_models:
    print(model.id)

# Filter for Anthropic models
anthropic_models = [m for m in models.data if m.owned_by == "anthropic"]
for model in anthropic_models:
    print(model.id)
const models = await client.models.list();

// Filter for Google models
const googleModels = models.data.filter((m) => m.owned_by === "google");
googleModels.forEach((model) => console.log(model.id));

Building a Model Selector

Use the Models API to build a dynamic model dropdown in your application:

async function getAvailableModels(): Promise<string[]> {
  const client = new OpenAI({
    apiKey: process.env.NEMOROUTER_API_KEY,
    baseURL: "https://api.nemorouter.ai/v1",
  });

  const models = await client.models.list();
  return models.data.map((m) => m.id).sort();
}

Error Responses

StatusDescription
401 UnauthorizedInvalid or missing API key
404 Not FoundModel not found (for single model retrieval)

Next Steps

Was this page helpful?