---
title: "List models API · open models available in the EU"
description: "List the open-weight models your inference.eu key can use with GET /v1/models, in the OpenAI format. Pick model ids for chat, embeddings, speech and more."
canonical: "https://inference.eu/api/models/"
language: "en"
---

GET /v1/models

# Models API: list the open models available to your key

The models endpoint returns every model your API key can call, in the same list format the OpenAI API uses. Tools that show a model picker, such as chat interfaces, IDE extensions and coding agents, call it to fill their menus. In your own code it is the reliable way to check a model id before you send traffic to it.

[Contact sales](https://inference.eu/contact/)[Example request](#example)

1.  01API format: OpenAI
2.  02EU data centres
3.  03Covered by one DPA

GET /v1/models

```
curl https://api.inference.eu/v1/models \
  -H "Authorization: Bearer $INFERENCE_EU_API_KEY"

# {
#   "object": "list",
#   "data": [
#     {"id": "gpt-oss-120b", "object": "model", "created": 1754438400, "owned_by": "openai"},
#     {"id": "qwen3-embedding-8b", "object": "model", "created": 1749081600, "owned_by": "qwen"},
#     {"id": "bge-reranker-v2-m3", "object": "model", "created": 1710460800, "owned_by": "baai"}
#   ]
# }
```

## What the endpoint does

`GET /v1/models` takes no body. Authenticate with your key as a bearer token and the API returns an object with `object: "list"` and a `data` array. Each entry has an `id`, which is the exact string you pass in the `model` field of other requests, plus `object: "model"`, a `created` timestamp and `owned_by`, which names the organisation that published the weights.

The list covers every type of model in the catalogue: chat and reasoning models, vision, code, embeddings, rerankers, speech to text, text to speech and image generation. Every model listed runs in European data centres.

## Retrieving one model

`GET /v1/models/{model}` returns a single entry in the same shape, or a 404 if the id does not exist or your key cannot use it. This is a cheap check to run at start-up: if your configuration names a model, confirm it is available before the first user request rather than discovering a typo in production.

The list can differ between keys. Models can be enabled per project or per plan, and we can add dedicated deployments that only your organisation sees. Fetch the list with the key your application actually uses, not with a personal test key.

## Choosing a model id in practice

Model ids are lower-case strings based on the published model name, such as `gpt-oss-120b`, `qwen3-embedding-8b` or `whisper-large-v3-turbo`. Keep them in configuration rather than scattered through code, so that trying a new model is a deployment setting.

Use the endpoint to decide which model to call for which task: a large reasoning model for complex questions, a smaller chat model for classification, an embedding model and a reranker for search. The model pages on this site describe the licence, context length and strengths of each, while this endpoint tells you what your key can call right now.

## Errors and edge cases

A missing or invalid key returns 401 with the standard `error` object. Requesting a model your key cannot use returns 404, as does a misspelt id; the message names the id you sent so you can spot the mistake.

When a model is replaced by a newer version, we keep the old id working for a transition period and announce the change in advance, so you can test the new one first. Do not rely on the order of entries in `data`. If you cache the list, refresh it regularly so that new models appear in pickers and retired ones disappear.

## List models

Endpoint

GET /v1/models

Category

Endpoints

API format

OpenAI

Base URL

api.inference.eu/v1

Processing

EU data centres

Training on your data

Never

## List models: common questions

The questions buyers, developers and legal teams ask us most. Something missing? Ask us directly.

Call \`GET /v1/models\` with your API key. The response lists every model id that key can use, in the OpenAI list format. The model pages on this site add details such as licence, context length and recommended uses for each model.

Yes. It returns the same \`list\` object with \`data\` entries containing \`id\`, \`object\`, \`created\` and \`owned\_by\`. \`client.models.list()\` in the OpenAI SDKs works unchanged, and tools that populate a model picker from this endpoint show our models automatically.

It names the organisation that published the model weights, such as the lab behind an open model. It does not mean that organisation runs or sees your requests. Every model in the list is run by inference.eu in European data centres.

The list depends on the key. Models can be enabled per project or per plan, and dedicated deployments are visible only to the organisation that ordered them. Check which project each key belongs to, and contact us if a model you expect is missing.

Yes. Tell us which open-weight model you need and what you plan to use it for. If the licence allows it and it fits our infrastructure, we can add it to the catalogue or run it as a dedicated deployment for your organisation. We confirm timing and terms with you.

We announce retirements in advance and keep the old id working for a transition period, so you have time to test the replacement. After that, requests to the retired id return 404. Keeping model ids in configuration makes the switch a settings change.

Yes. The list includes every model type your key can call: chat, reasoning, vision, code, embeddings, rerankers, speech to text, text to speech and image generation. Use the id with the endpoint that matches its type, for example \`qwen3-embedding-8b\` with \`/v1/embeddings\`.

Yes. The same ids work in the \`model\` field of \`/v1/messages\` requests. You never need a different id for the same model depending on which request format you use, so one configuration value serves both your OpenAI-format and Anthropic-format clients.

[Ask a question](https://inference.eu/contact/)

## Related

[API overview](https://inference.eu/api/)

-   [Chat completionsSend chat messages to open-weight models with the OpenAI chat completions format. Requests are processed in EU data centres and never used for training.Endpoints](https://inference.eu/api/chat-completions/)
-   [EmbeddingsTurn text into vectors for search, RAG and clustering with an OpenAI-compatible embeddings API. Open embedding models, processed in EU data centres.Endpoints](https://inference.eu/api/embeddings/)
-   [Migrate from OpenAIMove an application from OpenAI to open models processed in the EU. Change the base URL, key and model, then check tools, JSON output and embeddings.Guides](https://inference.eu/api/migrate-from-openai/)

## Move your AI workloads to EU infrastructure

Tell us which models you use and roughly how much traffic you have. We reply within one working day with pricing and next steps.

-   Reply within one working day
-   Pricing for your volume
-   DPA ready to sign
