List models
GET /v1/models on BigModel.io lists the model IDs your API key's group serves. Works with OpenAI and Anthropic clients; needs a positive balance or an active plan.
GET
https://bigmodel.io/v1/modelsLists the models your key's group serves, so tools can fill their model picker. The list depends on the key's group, not on your account. Unlike GET /v1/usage, this endpoint goes through billing checks: with a zero balance and no active plan it returns 403 INSUFFICIENT_BALANCE.
#Request
http
GET https://bigmodel.io/v1/models#Authentication
| Header | Value |
|---|---|
Authorization |
Bearer $BIGMODEL_API_KEY |
x-api-key |
$BIGMODEL_API_KEY |
Send one of these.
#Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
configured_only |
boolean | Return an empty list instead of built-in defaults when the group has no configured models. |
#Response
| Status | Meaning |
|---|---|
200 |
The model list. |
400 |
api_key_in_query_deprecated (key sent in the query string), or invalid_request_error: empty or invalid JSON, missing model, a non-boolean stream, or another malformed field. |
401 |
API_KEY_REQUIRED, INVALID_API_KEY, API_KEY_DISABLED, USER_NOT_FOUND, USER_INACTIVE. |
403 |
INSUFFICIENT_BALANCE, API_KEY_EXPIRED, ACCESS_DENIED (IP rule), SUBSCRIPTION_NOT_FOUND, SUBSCRIPTION_INVALID, or a permission_error (key without a group, endpoint not allowed for the group). |
429 |
API_KEY_QUOTA_EXHAUSTED, USAGE_LIMIT_EXCEEDED (plan limit), or rate_limit_exceeded / rate_limit_error (key 5h/1d/7d limit, requests per minute, concurrency, upstream). RPM limits send Retry-After. |
#Response fields
| Field | Type | Description |
|---|---|---|
object |
any | |
data |
array<object> | |
data[].id |
string | Model ID to send as model. |
data[].type |
string | |
data[].display_name |
string | Currently the same as id for configured models. |
data[].created_at |
string | Present on Anthropic-style entries; a fixed placeholder date, not a release date. |
data[].object |
string | Present on OpenAI-style entries. |
data[].owned_by |
string | Present on OpenAI-style entries. |
#Examples
cURL
curl https://bigmodel.io/v1/models \
-H "Authorization: Bearer $BIGMODEL_API_KEY"Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://bigmodel.io/v1", api_key=os.environ["BIGMODEL_API_KEY"])
for model in client.models.list():
print(model.id)Node.js
import OpenAI from 'openai'
const client = new OpenAI({baseURL: 'https://bigmodel.io/v1', apiKey: process.env.BIGMODEL_API_KEY})
for await (const model of client.models.list()) console.log(model.id)Example response for a group with configured models (IDs depend on your group):
json
{
"object": "list",
"data": [
{"id": "glm-5.3", "type": "model", "display_name": "glm-5.3", "created_at": "2024-01-01T00:00:00Z"},
{"id": "kimi-k3", "type": "model", "display_name": "kimi-k3", "created_at": "2024-01-01T00:00:00Z"}
]
}#Notes
- Use
idasmodel. For configured models,display_nameis the same asid, andcreated_atis a fixed placeholder, not a release date. - Empty or default lists. When a group has no configured models, chat-only groups (DeepSeek, GLM platforms) return an empty list, and other groups may return a built-in default list for their platform. Those defaults do not prove the group serves the models. Pass
?configured_only=trueto get an empty list instead of defaults. - Prices and descriptions are not in this response. See the model catalog and Model IDs.
403INSUFFICIENT_BALANCEwith a zero balance, even though listing is free. Top up in Billing, or useGET /v1/usage, which works without balance. Full list: Errors.
#Related
Was this page helpful?
Updated · View as Markdown