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.

GEThttps://bigmodel.io/v1/models
On this page
  1. Request
  2. Authentication
  3. Query parameters
  4. Response
  5. Response fields
  6. Examples
  7. Notes
  8. Related

Lists 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 id as model. For configured models, display_name is the same as id, and created_at is 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=true to get an empty list instead of defaults.
  • Prices and descriptions are not in this response. See the model catalog and Model IDs.
  • 403 INSUFFICIENT_BALANCE with a zero balance, even though listing is free. Top up in Billing, or use GET /v1/usage, which works without balance. Full list: Errors.

Updated · View as Markdown