# Finding runs by label or property

Find every [run](https://dev.nominal.io/platform/data-model.md#data-model-runs) with a given [label](https://dev.nominal.io/platform/reference/glossary.md#label "A short piece of text for grouping, searching, and filtering assets, runs, data sources, and events, such as prototype or night-flight.") or [property](https://dev.nominal.io/platform/reference/glossary.md#property "A key-value pair, of type Text or Number, that describes an asset, run, or data source, such as an identifier, context, or a quantity."), for example to compare them or to execute a checklist on each.

## In code

**Python**

```python
from nominal.core import NominalClient

client = NominalClient.from_profile("default")

# a run must have every label and property listed
runs = client.search_runs(labels=["acceptance"], properties={"campaign": "Q4"})
for run in runs:
    print(run.name, run.rid)
```

**Rust**

```rust
use nominal::core::RunQuery;

let client = nominal::NominalClient::from_profile("default")?;

// a run must match every query listed
let runs = client.runs()
    .search(RunQuery::and([RunQuery::label("acceptance"), RunQuery::property("campaign", "Q4")]))
    .await?;
for run in &runs {
    println!("{} {}", run.name(), run.rid());
}
```

## In the Nominal app

1. In the sidebar, click **Runs**, then **FILTERS**.
2. Choose **Label** and pick the labels, or choose a property’s key and pick its value. With more than one filter, click **MATCH ALL FILTERS** to switch it to **MATCH ANY FILTER**.
3. To keep the search, click **NEW VIEW**. Right-click the view’s tab to rename it.
