Skip to content
Start Trading

Screener

Search instruments and manage saved screeners.

Search Screener
$ clst v1:screener search-screener
POST/v1/screener
Get Screeners
$ clst v1:screener get-screeners
GET/v1/saved-screeners
Get Screener By ID
$ clst v1:screener get-screener-by-id
GET/v1/saved-screeners/{screener_id}
Create Screener
$ clst v1:screener create-screener
POST/v1/saved-screeners
Replace Screener
Deprecated
$ clst v1:screener replace-screener
PUT/v1/saved-screeners/{screener_id}
Patch Screener
$ clst v1:screener patch-screener
PATCH/v1/saved-screeners/{screener_id}
Delete Screener
$ clst v1:screener delete-screener
DELETE/v1/saved-screeners/{screener_id}
Get Screener Catalog
$ clst v1:screener get-screener-catalog
GET/v1/screener/catalog
ModelsExpand Collapse
catalog: object { default_response_fields, enums, fields, 6 more }

The complete screener field catalog, serialized as the data payload of GET /screener/catalog.

default_response_fields: array of string

The api_names that resolve to the POST default column set when columns is omitted.

enums: object { builtin_variable, category, date_unit, 7 more }

The enum universes every other section’s values are drawn from.

builtin_variable: array of string

The built-in variable names, e.g. "today", "start_of_year".

category: array of string

FieldCategory variants, e.g. "PROFILE", "VALUATION".

date_unit: array of string

The modifier date units, e.g. "DAY", "YEAR".

format: array of string

FieldFormat variants, e.g. "CURRENCY", "PERCENT".

lookback: array of string

FieldLookback variants, e.g. "ONE_WEEK", "YEAR_TO_DATE".

modifier_op: array of string

The modifier operation names, "ADD" and "SUBTRACT".

operator: array of string

FilterOperator variants, e.g. "BETWEEN", "ONE_OF".

operator_arg: array of string

The modifier arg forms, e.g. "LEFT_INCLUSIVE".

period: array of string

FieldPeriod variants, e.g. "QUARTER", "ANNUAL".

value_type: array of string

FieldValueType variants, e.g. "DECIMAL", "DATE".

fields: object { description, display_name, kind, name }

Struct-of-arrays of the remaining per-field scalars.

description: array of string

A human-readable description of the field.

display_name: array of string

The display name of the column when no period / lookback is set.

kind: array of number

Index into Catalog::kinds.

name: array of string

The base field name, as accepted in a request’s left.name / right[].variable field reference.

kinds: array of FieldKind { category, combinations, default_combination, 2 more }

The deduplicated (category, format, value_type, combinations, default combination) tuples; fields.kind[i] indexes into this.

category: string

The field’s category, a member of enums.category.

combinations: array of Combination { lookback, period }

Ordered, in declaration order. The empty combination is the current or most recent value.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

default_combination: object { lookback, period }

The combination a bare field reference resolves to: the field’s current or most recent value when the kind offers it, otherwise the kind’s default period / lookback.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

format: string

The field’s format, a member of enums.format.

value_type: string

The field’s value type, a member of enums.value_type.

modifiers: array of ModifierDef { args, name }

The modifier operations and their legal args forms.

args: array of ModifierArg { kind, note, position, 3 more }

The positional args slots, in order.

kind: string

"NUMBER" or "ENUM".

note: string

The arg’s meaning and constraints.

position: number

Zero-based position in the args array.

required: boolean

Whether the arg must be present in every modifier use.

default: optional string

For optional args: the value used when the arg is omitted.

ref: optional string

For "ENUM" args: the enums list the value must be a member of.

name: string

The modifier operation name: one of "ADD" or "SUBTRACT".

operators_by_value_type: map[array of string]

value_type -> canonically-ordered valid operators.

rules: object { api_name_composition, axes, defaults, 3 more }

Request-side semantics for turning the data into a valid call.

api_name_composition: string

Requests and response field objects use the same reference shape: base name plus at most one of period / lookback; default_response_fields (the POST default column set when columns is omitted) carries api_names, each decoding via suffixes.

axes: string

At most one of period / lookback; the empty combination selects the field’s current or most recent value.

defaults: string

Omitting both is always valid; it resolves to the field’s current or most recent value when the kind offers it, otherwise to default_combination.

modifiers: string

Where modifier is legal, its args forms, and unit semantics.

operators: string

Filter operator value counts for the right array.

variables: string

Built-in variables and field references in right[].variable.

suffixes: map[string]

Axis token -> abbreviation, for every token in use in kinds.

variables: array of VariableDef { description, name, resolves_to }

The built-in variables accepted in filters[].right[].variable.

description: string

A human-readable description of what the variable resolves to.

name: string

The variable name as accepted in filters[].right[].variable.

resolves_to: string

What the variable resolves to at call time (DATE for all built-ins).

combination: object { lookback, period }

A single combination, expressed with the API’s own parameter names.

At most one of period / lookback is set; a combination with neither selects the field’s current or most recent value.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

enums: object { builtin_variable, category, date_unit, 7 more }

The enum universes every other section’s values are drawn from.

builtin_variable: array of string

The built-in variable names, e.g. "today", "start_of_year".

category: array of string

FieldCategory variants, e.g. "PROFILE", "VALUATION".

date_unit: array of string

The modifier date units, e.g. "DAY", "YEAR".

format: array of string

FieldFormat variants, e.g. "CURRENCY", "PERCENT".

lookback: array of string

FieldLookback variants, e.g. "ONE_WEEK", "YEAR_TO_DATE".

modifier_op: array of string

The modifier operation names, "ADD" and "SUBTRACT".

operator: array of string

FilterOperator variants, e.g. "BETWEEN", "ONE_OF".

operator_arg: array of string

The modifier arg forms, e.g. "LEFT_INCLUSIVE".

period: array of string

FieldPeriod variants, e.g. "QUARTER", "ANNUAL".

value_type: array of string

FieldValueType variants, e.g. "DECIMAL", "DATE".

field_columns: object { description, display_name, kind, name }

Struct-of-arrays: all four fields are the same length, index i is one field.

description: array of string

A human-readable description of the field.

display_name: array of string

The display name of the column when no period / lookback is set.

kind: array of number

Index into Catalog::kinds.

name: array of string

The base field name, as accepted in a request’s left.name / right[].variable field reference.

field_kind: object { category, combinations, default_combination, 2 more }

One deduplicated (category, format, value_type, combinations, default combination) tuple; fields.kind[i] indexes into Catalog::kinds.

category: string

The field’s category, a member of enums.category.

combinations: array of Combination { lookback, period }

Ordered, in declaration order. The empty combination is the current or most recent value.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

default_combination: object { lookback, period }

The combination a bare field reference resolves to: the field’s current or most recent value when the kind offers it, otherwise the kind’s default period / lookback.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

format: string

The field’s format, a member of enums.format.

value_type: string

The field’s value type, a member of enums.value_type.

field_lookback: "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Historical lookback window for price/change fields.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
field_period: "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Reporting period for financial data fields.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
field_ref: object { name, lookback, period, value_type }

A reference to a screener field.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
field_type: "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of a screener field value.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
filter_op_spec: object { name, args }

Operator specification with optional behavioral arguments.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
filter_operator: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

Filter operators supported by the screener.

Abbreviated and lowercase forms are accepted as serde aliases for backward compatibility with earlier API revisions; the canonical wire form is the SCREAMING_SNAKE_CASE rendering.

"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
filter_value: object { value, variable }

A filter value: either a literal or a variable reference.

value: optional number or string
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
modifier: object { args, name }

Arithmetic modifier applied to a variable value.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
modifier_arg: object { kind, note, position, 3 more }

One positional modifier.args slot.

kind: string

"NUMBER" or "ENUM".

note: string

The arg’s meaning and constraints.

position: number

Zero-based position in the args array.

required: boolean

Whether the arg must be present in every modifier use.

default: optional string

For optional args: the value used when the arg is omitted.

ref: optional string

For "ENUM" args: the enums list the value must be a member of.

modifier_def: object { args, name }

A modifier operation and the positional args each context accepts.

args: array of ModifierArg { kind, note, position, 3 more }

The positional args slots, in order.

kind: string

"NUMBER" or "ENUM".

note: string

The arg’s meaning and constraints.

position: number

Zero-based position in the args array.

required: boolean

Whether the arg must be present in every modifier use.

default: optional string

For optional args: the value used when the arg is omitted.

ref: optional string

For "ENUM" args: the enums list the value must be a member of.

name: string

The modifier operation name: one of "ADD" or "SUBTRACT".

modifier_op: "ADD" or "SUBTRACT"

Modifier operation applied to a variable.

"ADD"
"SUBTRACT"
operator_arg: "LEFT_INCLUSIVE" or "RIGHT_INCLUSIVE" or "LEFT_EXCLUSIVE" or 2 more

Argument that modifies operator behavior.

"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
rules: object { api_name_composition, axes, defaults, 3 more }

Request-side semantics: how to turn the catalog data into a valid POST /screener call.

api_name_composition: string

Requests and response field objects use the same reference shape: base name plus at most one of period / lookback; default_response_fields (the POST default column set when columns is omitted) carries api_names, each decoding via suffixes.

axes: string

At most one of period / lookback; the empty combination selects the field’s current or most recent value.

defaults: string

Omitting both is always valid; it resolves to the field’s current or most recent value when the kind offers it, otherwise to default_combination.

modifiers: string

Where modifier is legal, its args forms, and unit semantics.

operators: string

Filter operator value counts for the right array.

variables: string

Built-in variables and field references in right[].variable.

screener_column: object { field, name, value, type }

A single column in the screener search response.

field: object { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
union_member_0: number
union_member_1: string
type: optional string

Value format hint: “CURR_USD”, “PERCENT”, etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply.

screener_entry: object { id, created_at, filters, 5 more }

A saved screener configuration entry

id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: object { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional object { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: object { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional "ASC" or "DESC"

Sort direction (defaults to DESC).

"ASC"
"DESC"
screener_entry_list: array of ScreenerEntry { id, created_at, filters, 5 more }
id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: object { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional object { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: object { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional "ASC" or "DESC"

Sort direction (defaults to DESC).

"ASC"
"DESC"
screener_filter: object { field, operator, value }

A single filter criterion for the screener.

field: string

Field to filter on (e.g., “market_cap”, “sector”, “price”)

operator: string

Comparison operator (e.g., “eq”, “gte”, “lte”, “in”)

value: unknown

Filter value

screener_row: array of ScreenerColumn { field, name, value, type }

A single row of screener columns for one instrument.

field: object { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
union_member_0: number
union_member_1: string
type: optional string

Value format hint: “CURR_USD”, “PERCENT”, etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply.

screener_row_list: array of ScreenerRow { field, name, value, type }
field: object { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
union_member_0: number
union_member_1: string
type: optional string

Value format hint: “CURR_USD”, “PERCENT”, etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply.

search_filter: object { left, op, right }

A single filter condition.

When op and right are both absent, the filter is “unenabled”: it persists a left field reference without applying any predicate. Unenabled filters are skipped during search execution but still round-trip through save/load so callers can preserve draft state.

left: object { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional object { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
sort_spec: object { field, direction }

A sort specification pairing a field with a direction.

field: object { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional "ASC" or "DESC"

Sort direction (defaults to DESC).

"ASC"
"DESC"
variable: object { name, lookback, modifier, period }

A variable reference (field or built-in like today).

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
variable_def: object { description, name, resolves_to }

A built-in variable, as accepted in filters[].right[].variable.

description: string

A human-readable description of what the variable resolves to.

name: string

The variable name as accepted in filters[].right[].variable.

resolves_to: string

What the variable resolves to at call time (DATE for all built-ins).