---
title: "Equality and Text Filters"
description: "Match exact values and lists, search text by substring and use fuzzy search in Equities Screener API filters."
url: "https://developer-beta.morningstar.com/equities-screener-api/equality-and-text-filters"
image: "https://developer-beta.morningstar.com/_og/d/c_Ocean.takumi,title_~RXF1YWxpdHkgYW5kIFRleHQgRmlsdGVycyB8IEVxdWl0aWVzIFNjcmVlbmVyIEFQSQ,description_~TWF0Y2ggZXhhY3QgdmFsdWVzIGFuZCBsaXN0cywgc2VhcmNoIHRleHQgYnkgc3Vic3RyaW5nIGFuZCB1c2UgZnV6enkgc2VhcmNoIGluIEVxdWl0aWVzIFNjcmVlbmVyIEFQSSBmaWx0ZXJzLg,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMwMDAwMDAifX19,p_Ii9lcXVpdGllcy1zY3JlZW5lci1hcGkvZXF1YWxpdHktYW5kLXRleHQtZmlsdGVycyI,s_oau-rZOsMqspvfqo.png"
---

-   [APIs](https://developer-beta.morningstar.com/apis)
-   [API Catalog](https://developer-beta.morningstar.com/api-catalog)
-   [API Assistant MCP Server](https://developer-beta.morningstar.com/api-assistant-mcp)
-   [Guides](https://developer-beta.morningstar.com/api-guides)
-   [Trial Access](https://developer-beta.morningstar.com/trial-access)

# Equities Screener API

Powerful, criteria-based screening using flexible filtering logic.

# Equality and Text Filters

[View Markdown](https://developer-beta.morningstar.com/equities-screener-api/equality-and-text-filters.md)[Download Markdown](https://developer-beta.morningstar.com/equities-screener-api/equality-and-text-filters.md)

Equality filters match investments whose data point has an exact value, or one of a list of values. Text filters search string data points for a substring or an approximate match. This page covers both.

## [Match a Single Value](#match-a-single-value)

To match one value, give the data point and the value. You don't need to write an operator.

```json
"query": {
  "shareClassInformation.symbol": "MSES"
}
```

A single value works with every data type, so you can match a number, a boolean or a date in the same way.

```json
"query": {
  "shareClassInformation.investmentStatus": 1
}
```

```json
"query": {
  "shareClassInformation.isMainShare": true
}
```

## [Match Any of a List of Values](#match-any-of-a-list-of-values)

To match any of several values, give an array. An investment is returned if its value equals any entry in the array.

```json
"query": {
  "shareClassInformation.securityType": [
    "ST00000001",
    "ST00000002"
  ]
}
```

The array must contain at least one value, and all values must be of the same type as the data point.

## [Search Text with Contains](#search-text-with-contains)

For string data points that support it, use `contains` to match a substring.

```json
"query": {
  "basicReference.name": {
    "contains": "APP"
  }
}
```

## [Use Fuzzy Search](#use-fuzzy-search)

Fuzzy search finds text that approximately matches the value you give, so it tolerates spelling differences. Set `fuzzy` to `true` in the filter.

```json
"query": {
  "basicReference.name": {
    "value": "appel",
    "fuzzy": true
  }
}
```

Fuzzy search has the following rules.

-   It works only with string data points that support fuzzy search. Support isn't available for all string data points.
-   It works only as an equality filter, so you can't combine it with `contains` or a comparison.
-   The search text must be at least 3 characters.

If you set `fuzzy` to `true` on a data point that doesn't support it, the request returns an error.

## [Combine Text Filters with Other Filters](#combine-text-filters-with-other-filters)

Equality and text filters can be combined with other filters using compound operators. The following query returns securities of the given types whose name contains `APP`.

```json
"query": {
  "and": [
    { "shareClassInformation.securityType": ["ST00000001", "ST00000002"] },
    { "basicReference.name": { "contains": "APP" } }
  ]
}
```

See [Compound Filters](https://developer-beta.morningstar.com/equities-screener-api/compound-filters).