---
title: Model Search API | Runware Docs
url: https://runware.ai/docs/platform/model-search
description: Search and discover AI models available in the Runware platform. Filter and find the right model for your generation tasks.
relatedDocuments:
  - https://runware.ai/docs/guides/text-to-image
  - https://runware.ai/docs/platform/model-upload
  - https://runware.ai/docs/platform/introduction
---
## Introduction

The Model Search API enables discovery of available models on the Runware platform, providing search and filtering capabilities across **public models from the community** and **private models within your organization**.

Models discovered through this API can be used immediately in generation tasks **by referencing their AIR identifiers**. This enables dynamic model selection in applications and helps discover new models for specific use cases.

The search works across model names, versions, tags, and other metadata. Multiple filters can be combined to narrow results by category, type, architecture, and visibility. Results are returned in a **paginated format** with a default of 20 models per page, controlled by the `limit` and `offset` parameters.

## Request

Our API always accepts an array of objects as input, where each object represents a **specific task to be performed**. The structure of the object varies depending on the type of the task. For this section, we will focus on the parameters related to the **model search task**.

The following JSON snippet shows the basic structure of a request object.

```json
[
  {
    "taskType": "modelSearch",
    "taskUUID": "50836053-a0ee-4cf5-b9d6-ae7c5d140ada",
    "search": "realistic",
    "tags": "photorealistic",
    "category": "checkpoint",
    "type": "base",
    "architecture": "sdxl",
    "visibility": "all",
    "offset": 0,
    "limit": 20
  }
]
```

---

### [taskType](#request-tasktype)

- **Type**: `const:modelSearch`
- **Required**: true
- **Value**: `modelSearch`

The type of task to perform.

### [taskUUID](#request-taskuuid)

- **Type**: `string`
- **Format**: `UUID v4`

UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.

### [search](#request-search)

- **Type**: `string`
- **Required**: true

Search query to find models by name, description or AIR ID.

### [tags](#request-tags)

- **Type**: `array of strings`

Filter models by specific tags.

### [category](#request-category)

- **Type**: `string`

Filter models by category.

**Allowed values**: `checkpoint` `lora` `lycoris` `vae` `embeddings`

### [type](#request-type)

- **Type**: `string`

Filter checkpoint models by type. Only applicable when category is `checkpoint`.

**Allowed values**: `base` `inpainting` `refiner`

### [architecture](#request-architecture)

- **Type**: `string`

Filter by model architecture.

### [conditioning](#request-conditioning)

- **Type**: `string`

Filter ControlNet models by their conditioning type.

**Allowed values**: `blur` `canny` `depth` `gray` `hed` `inpaint` `inpaintdepth` `lineart` `lowquality` `normal` `openmlsd` `openpose` `outfit` `pix2pix` `qrcode` `scribble` `seg` `shuffle` `sketch` `softedge` `tile`

### [visibility](#request-visibility)

- **Type**: `string`
- **Default**: `all`

Filter by visibility status (e.g., public, private, all).

**Allowed values**: `public` `private` `all`

### [limit](#request-limit)

- **Type**: `integer`
- **Min**: `1`
- **Max**: `100`
- **Default**: `20`

Maximum number of results to return.

### [offset](#request-offset)

- **Type**: `integer`
- **Min**: `0`
- **Default**: `0`

Number of results to skip for pagination.

## Response

Results will be delivered in the format below.

```json
{
  "data": [
    {
      "results": [
        {
          "name": "Promissing_Realistic_XL",
          "air": "civitai:305149@392545",
          "tags": [
            "photorealistic",
            "base model",
            "sci-fi",
            "photo",
            "woman",
            "fantasy",
            "photorealism",
            "rpg",
            "general use",
            "close up",
            "close up shot",
            "promissing_realistic_xl"
          ],
          "heroImage": "https://mim.runware.ai/r/66a70a0bb7c38-450x450.jpg",
          "category": "checkpoint",
          "private": false,
          "comment": "",
          "version": "v22",
          "architecture": "sdxl",
          "type": "base",
          "defaultWidth": 1024,
          "defaultHeight": 1024,
          "defaultSteps": 20,
          "defaultScheduler": "Default",
          "defaultCFG": 7.5
        }
      ],
      "taskUUID": "50836053-a0ee-4cf5-b9d6-ae7c5d140ada",
      "taskType": "modelSearch",
      "totalResults": 2
    }
  ]
}
```

---

### [taskType](#response-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `modelSearch`

Identifier for the type of task being performed

### [taskUUID](#response-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.

### [totalResults](#response-totalresults)

- **Type**: `integer`
- **Required**: true
- **Min**: `0`

Total number of models matching the search criteria.

### [results](#response-results)

- **Path**: `results.air`
- **Type**: `array of objects (11 properties)`
- **Required**: true

List of models found.

#### [air](#response-results-air)

- **Path**: `results.air`
- **Type**: `string`
- **Required**: true

Artificial Intelligence Resource identifier.

#### [name](#response-results-name)

- **Path**: `results.name`
- **Type**: `string`
- **Required**: true

Name of the model.

#### [version](#response-results-version)

- **Path**: `results.version`
- **Type**: `string`
- **Required**: true

Version of the model.

#### [category](#response-results-category)

- **Path**: `results.category`
- **Type**: `string`
- **Required**: true

Category of the model (e.g., checkpoint, lora).

#### [architecture](#response-results-architecture)

- **Path**: `results.architecture`
- **Type**: `string`

Model architecture (e.g., sdxl, flux).

#### [imageURL](#response-results-imageurl)

- **Path**: `results.imageURL`
- **Type**: `string`
- **Required**: true
- **Format**: `URI`

URL of the model's representative image.

#### [thumbnailURL](#response-results-thumbnailurl)

- **Path**: `results.thumbnailURL`
- **Type**: `string`
- **Required**: true
- **Format**: `URI`

URL of the model's thumbnail image.

#### [tags](#response-results-tags)

- **Path**: `results.tags`
- **Type**: `array of strings`

List of tags associated with the model.

#### [private](#response-results-private)

- **Path**: `results.private`
- **Type**: `boolean`

Whether the model is private.

#### [primary](#response-results-primary)

- **Path**: `results.primary`
- **Type**: `boolean`

Whether this is the primary version of the model.

#### [baseModel](#response-results-basemodel)

- **Path**: `results.baseModel`
- **Type**: `string`

The base model this model is derived from.