---
title: "Operators"
description: "Quick reference to the filter operators in the Equities Screener API: syntax, what each does and which data types support them."
url: "https://developer-beta.morningstar.com/managed-investments-screener-api/operators"
image: "https://developer-beta.morningstar.com/_og/d/c_Ocean.takumi,title_~T3BlcmF0b3JzIHwgRXF1aXRpZXMgU2NyZWVuZXIgQVBJ,description_~UXVpY2sgcmVmZXJlbmNlIHRvIHRoZSBmaWx0ZXIgb3BlcmF0b3JzIGluIHRoZSBFcXVpdGllcyBTY3JlZW5lciBBUEk6IHN5bnRheCwgd2hhdCBlYWNoIGRvZXMgYW5kIHdoaWNoIGRhdGEgdHlwZXMgc3VwcG9ydCB0aGVtLg,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMwMDAwMDAifX19,p_Ii9tYW5hZ2VkLWludmVzdG1lbnRzLXNjcmVlbmVyLWFwaS9vcGVyYXRvcnMi,s_X59kwE79eWIbuiBE.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)

# Managed Investments Screener API

Powerful, criteria-based screening using flexible filtering logic.

# Operators

[View Markdown](https://developer-beta.morningstar.com/managed-investments-screener-api/operators.md)[Download Markdown](https://developer-beta.morningstar.com/managed-investments-screener-api/operators.md)

Use this page to look up the operators you can use in `scope` and `query`, the syntax for each, and the data types that support them. For explanations and examples, see [Filter Conditions](https://developer-beta.morningstar.com/equities-screener-api/filter-conditions).

## [Filter Operators](#filter-operators)

These operators apply to a single data point.

| Operator | What It Does                | Syntax                                                  |
| :------- | :-------------------------- | :------------------------------------------------------ |
| eq       | Equals a single value.      | { "<dataPoint>": <value> }                              |
| in       | Equals any value in a list. | { "<dataPoint>": [<value>, <value>] }                   |
| gt       | Greater than.               | { "<dataPoint>": { "gt": <value> } }                    |
| gte      | Greater than or equal to.   | { "<dataPoint>": { "gte": <value> } }                   |
| lt       | Less than.                  | { "<dataPoint>": { "lt": <value> } }                    |
| lte      | Less than or equal to.      | { "<dataPoint>": { "lte": <value> } }                   |
| contains | Contains a substring.       | { "<dataPoint>": { "contains": "<text>" } }             |
| Fuzzy    | Approximately matches text. | { "<dataPoint>": { "value": "<text>", "fuzzy": true } } |

You don't write `eq` or `in` in a request. A single value is an `eq` filter, and a list of values is an `in` filter. The names `eq` and `in` appear in the `operators` property of the data point metadata.

You can combine `gt` or `gte` with `lt` or `lte` in one object to set a range. See [Comparison Filters](https://developer-beta.morningstar.com/equities-screener-api/comparison-filters).

## [Compound Operators](#compound-operators)

These operators combine other conditions.

| Operator | What It Does                       | Syntax                                |
| :------- | :--------------------------------- | :------------------------------------ |
| and      | All conditions must match.         | { "and": [<condition>, <condition>] } |
| or       | At least one condition must match. | { "or": [<condition>, <condition>] }  |
| not      | None of the conditions can match.  | { "not": [<condition>, <condition>] } |

Compound operators can be nested. Write all operators in lowercase. See [Compound Filters](https://developer-beta.morningstar.com/equities-screener-api/compound-filters).

## [Operators by Data Type](#operators-by-data-type)

| Data Type | eq  | in  | gt, gte, lt, lte | contains         | Fuzzy            |
| :-------- | :-- | :-- | :--------------- | :--------------- | :--------------- |
| boolean   | Yes |     |                  |                  |                  |
| date      | Yes | Yes | Yes              |                  |                  |
| number    | Yes | Yes | Yes              |                  |                  |
| string    | Yes | Yes |                  | Some data points | Some data points |

The `and`, `or` and `not` operators combine conditions, so they apply to every data type.

The metadata for each data point lists the operators that it supports. Always check it before you use a data point in a filter, because it is the authoritative source. For example, some values that represent dates are stored as strings, and their metadata lists the comparison operators. See [Explore Data Points](https://developer-beta.morningstar.com/equities-screener-api/explore-data-points).

## [Value Formats](#value-formats)

| Value   | Format                                                       | Example          |
| :------ | :----------------------------------------------------------- | :--------------- |
| Text    | A JSON string.                                               | "MSES"           |
| Number  | A JSON number, with no quotation marks.                      | 4                |
| Boolean | true or false, with no quotation marks.                      | true             |
| Date    | A string in yyyy-MM-dd format.                               | "2024-03-31"     |
| List    | A JSON array of values of one type, with at least one value. | ["MSES", "CA40"] |