> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/developer/rest-api/list-project-models.md).

# List Project Models

You can retrieve all trained models in a project using the `/:workspace/:project/models` endpoint. This returns both version-trained models and standalone models (such as NAS children).

With [Sign In With Roboflow (Getting Started)](/developer/authentication/sign-in-with-roboflow-getting-started.md), use `Authorization: Bearer` and scope `model:infer` instead of `api_key`:

```bash
curl -H "Authorization: Bearer $ACCESS_TOKEN" \
  "https://api.roboflow.com/:workspace/:project/models"
```

## List All Models

```bash
curl "https://api.roboflow.com/:workspace/:project/models?api_key=$ROBOFLOW_API_KEY"
```

### Filter by NAS Group

To list only the models from a specific NAS run, pass the `group` query parameter:

```bash
curl "https://api.roboflow.com/:workspace/:project/models?group=GROUP_ID&api_key=$ROBOFLOW_API_KEY"
```

The `group` value is the NAS run identifier returned on each model object. If the group doesn't match any models, the endpoint returns an empty array.

## Response

The endpoint returns a JSON array of model objects:

```json
[
  {
    "url": "my-workspace/my-project/3",
    "version": "3",
    "train": { "status": "finished" },
    "modelType": "rfdetr-base",
    "name": "My Model",
    "created": "2026-04-01T00:00:00.000Z",
    "metrics": {
      "map50": 91.0,
      "precision": 88.0,
      "recall": 85.0
    }
  }
]
```

### NAS Model Fields

Models produced by [Neural Architecture Search](https://github.com/roboflow/roboflow-dev-reference/blob/main/train/neural-architecture-search.md) include additional fields:

```json
{
  "url": "my-workspace/my-project-410-nas-gpu-066866",
  "train": { "status": "finished" },
  "modelType": "rfdetr-nas-S",
  "name": "NAS Child 1",
  "created": "2026-04-01T00:00:00.000Z",
  "nasFamily": "child",
  "group": "pVYKOWUB6AUIVJMgPc7u-410-rfdetrNasGroup",
  "favorites": {},
  "recommended": true,
  "metrics": {
    "map50": 81.2,
    "map5095": 64.3,
    "f1": 78.0,
    "hardware": "gpu",
    "latency": 1.157,
    "paretoOptimalFor": ["gpu"]
  }
}
```

| Field                      | Type      | Description                                                                                             |
| -------------------------- | --------- | ------------------------------------------------------------------------------------------------------- |
| `nasFamily`                | string    | `"child"` for NAS-discovered models, `null` for the baseline                                            |
| `group`                    | string    | NAS run identifier, shared by all models in the same run                                                |
| `favorites`                | object    | Map of user IDs to favorite status                                                                      |
| `recommended`              | boolean   | Present and `true` when this model is the recommended pick for at least one metric/hardware combination |
| `metrics.map5095`          | number    | mAP\@50-95 score (percentage)                                                                           |
| `metrics.f1`               | number    | F1 score (percentage)                                                                                   |
| `metrics.hardware`         | string    | Hardware target the model was benchmarked on (e.g. `"gpu"`, `"jetson-orin-nano"`)                       |
| `metrics.latency`          | number    | Inference latency in milliseconds on the target hardware                                                |
| `metrics.paretoOptimalFor` | string\[] | Hardware targets for which this model sits on the Pareto frontier                                       |

These fields are only present on NAS models. Standard trained models are not affected.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/developer/rest-api/list-project-models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
