# 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).

## 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: 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.
