Skip to content
Start Trading

Screener

Search instruments and manage saved screeners.

Search Screener
ScreenerSearchScreenerResponse v1().screener().searchScreener(ScreenerSearchScreenerParamsparams = ScreenerSearchScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/screener
Get Screeners
ScreenerGetScreenersResponse v1().screener().getScreeners(ScreenerGetScreenersParamsparams = ScreenerGetScreenersParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/saved-screeners
Get Screener By ID
ScreenerGetScreenerByIdResponse v1().screener().getScreenerById(ScreenerGetScreenerByIdParamsparams = ScreenerGetScreenerByIdParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/saved-screeners/{screener_id}
Create Screener
ScreenerCreateScreenerResponse v1().screener().createScreener(ScreenerCreateScreenerParamsparams = ScreenerCreateScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/saved-screeners
Replace Screener
ScreenerReplaceScreenerResponse v1().screener().replaceScreener(ScreenerReplaceScreenerParamsparams = ScreenerReplaceScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
PUT/v1/saved-screeners/{screener_id}
Delete Screener
v1().screener().deleteScreener(ScreenerDeleteScreenerParamsparams = ScreenerDeleteScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
DELETE/v1/saved-screeners/{screener_id}
ModelsExpand Collapse
enum FieldLookback:

Historical lookback window for price/change fields.

ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
enum FieldPeriod:

Reporting period for financial data fields.

QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
class FieldRef:

A reference to a screener field.

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
enum FieldType:

The data type of a screener field value.

DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
class FilterOpSpec:

Operator specification with optional behavioral arguments.

The operator to apply.

One of the following:
LESS_THAN("LESS_THAN")
LESS_OR_EQUAL("LESS_OR_EQUAL")
GREATER_THAN("GREATER_THAN")
GREATER_OR_EQUAL("GREATER_OR_EQUAL")
EQUAL("EQUAL")
BETWEEN("BETWEEN")
NOT_BETWEEN("NOT_BETWEEN")
ONE_OF("ONE_OF")
REGEX("REGEX")
BEGINS_WITH("BEGINS_WITH")
ENDS_WITH("ENDS_WITH")
CONTAINS("CONTAINS")
IS_NULL("IS_NULL")
IS_NOT_NULL("IS_NOT_NULL")
Optional<List<OperatorArg>> args

Optional arguments that modify operator behavior.

One of the following:
LEFT_INCLUSIVE("LEFT_INCLUSIVE")
RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")
LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")
RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")
CASE_INSENSITIVE("CASE_INSENSITIVE")
enum FilterOperator:

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_THAN")
LESS_OR_EQUAL("LESS_OR_EQUAL")
GREATER_THAN("GREATER_THAN")
GREATER_OR_EQUAL("GREATER_OR_EQUAL")
EQUAL("EQUAL")
BETWEEN("BETWEEN")
NOT_BETWEEN("NOT_BETWEEN")
ONE_OF("ONE_OF")
REGEX("REGEX")
BEGINS_WITH("BEGINS_WITH")
ENDS_WITH("ENDS_WITH")
CONTAINS("CONTAINS")
IS_NULL("IS_NULL")
IS_NOT_NULL("IS_NOT_NULL")
class FilterValue:

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

Optional<Value> value
One of the following:
double
String
Optional<Variable> variable

A variable reference.

String name

The variable name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<Modifier> modifier

Optional arithmetic modifier.

List<Arg> args
One of the following:
double
String

The modifier operation.

One of the following:
ADD("ADD")
SUBTRACT("SUBTRACT")
Optional<FieldPeriod> period

Optional reporting period.

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
class Modifier:

Arithmetic modifier applied to a variable value.

List<Arg> args
One of the following:
double
String

The modifier operation.

One of the following:
ADD("ADD")
SUBTRACT("SUBTRACT")
enum ModifierOp:

Modifier operation applied to a variable.

ADD("ADD")
SUBTRACT("SUBTRACT")
enum OperatorArg:

Argument that modifies operator behavior.

LEFT_INCLUSIVE("LEFT_INCLUSIVE")
RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")
LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")
RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")
CASE_INSENSITIVE("CASE_INSENSITIVE")
class ScreenerColumn:

A single column in the screener search response.

FieldRef field

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

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
String name

Human-readable display name for this field

Optional<Value> value
One of the following:
double
String
Optional<String> type

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

class ScreenerEntry:

A saved screener configuration entry

String id
LocalDateTime createdAt
List<SearchFilter> filters

The field to filter on.

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
Optional<FilterOpSpec> op

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

The operator to apply.

One of the following:
LESS_THAN("LESS_THAN")
LESS_OR_EQUAL("LESS_OR_EQUAL")
GREATER_THAN("GREATER_THAN")
GREATER_OR_EQUAL("GREATER_OR_EQUAL")
EQUAL("EQUAL")
BETWEEN("BETWEEN")
NOT_BETWEEN("NOT_BETWEEN")
ONE_OF("ONE_OF")
REGEX("REGEX")
BEGINS_WITH("BEGINS_WITH")
ENDS_WITH("ENDS_WITH")
CONTAINS("CONTAINS")
IS_NULL("IS_NULL")
IS_NOT_NULL("IS_NOT_NULL")
Optional<List<OperatorArg>> args

Optional arguments that modify operator behavior.

One of the following:
LEFT_INCLUSIVE("LEFT_INCLUSIVE")
RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")
LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")
RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")
CASE_INSENSITIVE("CASE_INSENSITIVE")
Optional<List<FilterValue>> right

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

Optional<Value> value
One of the following:
double
String
Optional<Variable> variable

A variable reference.

String name

The variable name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<Modifier> modifier

Optional arithmetic modifier.

List<Arg> args
One of the following:
double
String

The modifier operation.

One of the following:
ADD("ADD")
SUBTRACT("SUBTRACT")
Optional<FieldPeriod> period

Optional reporting period.

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
String name
LocalDateTime updatedAt
Optional<List<FieldRef>> columns

Field references included when running this screener.

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
DeprecatedOptional<List<FieldRef>> fieldFilter

Deprecated: use columns instead. Mirrors columns.

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
Optional<List<SortSpec>> sorts
FieldRef field

The field to sort by.

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
Optional<SortDirection> direction

Sort direction (defaults to DESC).

One of the following:
ASC("ASC")
DESC("DESC")
class ScreenerFilter:

A single filter criterion for the screener.

String field

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

String operator

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

JsonValue value

Filter value

class SearchFilter:

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.

The field to filter on.

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
Optional<FilterOpSpec> op

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

The operator to apply.

One of the following:
LESS_THAN("LESS_THAN")
LESS_OR_EQUAL("LESS_OR_EQUAL")
GREATER_THAN("GREATER_THAN")
GREATER_OR_EQUAL("GREATER_OR_EQUAL")
EQUAL("EQUAL")
BETWEEN("BETWEEN")
NOT_BETWEEN("NOT_BETWEEN")
ONE_OF("ONE_OF")
REGEX("REGEX")
BEGINS_WITH("BEGINS_WITH")
ENDS_WITH("ENDS_WITH")
CONTAINS("CONTAINS")
IS_NULL("IS_NULL")
IS_NOT_NULL("IS_NOT_NULL")
Optional<List<OperatorArg>> args

Optional arguments that modify operator behavior.

One of the following:
LEFT_INCLUSIVE("LEFT_INCLUSIVE")
RIGHT_INCLUSIVE("RIGHT_INCLUSIVE")
LEFT_EXCLUSIVE("LEFT_EXCLUSIVE")
RIGHT_EXCLUSIVE("RIGHT_EXCLUSIVE")
CASE_INSENSITIVE("CASE_INSENSITIVE")
Optional<List<FilterValue>> right

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

Optional<Value> value
One of the following:
double
String
Optional<Variable> variable

A variable reference.

String name

The variable name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<Modifier> modifier

Optional arithmetic modifier.

List<Arg> args
One of the following:
double
String

The modifier operation.

One of the following:
ADD("ADD")
SUBTRACT("SUBTRACT")
Optional<FieldPeriod> period

Optional reporting period.

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
class SortSpec:

A sort specification pairing a field with a direction.

FieldRef field

The field to sort by.

String name

The field name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<FieldPeriod> period

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

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")
Optional<FieldType> valueType

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

One of the following:
DECIMAL("DECIMAL")
INTEGER("INTEGER")
STRING("STRING")
ANALYST_RATING("ANALYST_RATING")
DATE("DATE")
Optional<SortDirection> direction

Sort direction (defaults to DESC).

One of the following:
ASC("ASC")
DESC("DESC")
class Variable:

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

String name

The variable name.

Optional<FieldLookback> lookback

Optional historical lookback window.

One of the following:
ONE_DAY("ONE_DAY")
ONE_WEEK("ONE_WEEK")
ONE_MONTH("ONE_MONTH")
THREE_MONTHS("THREE_MONTHS")
SIX_MONTHS("SIX_MONTHS")
YEAR_TO_DATE("YEAR_TO_DATE")
ONE_YEAR("ONE_YEAR")
Optional<Modifier> modifier

Optional arithmetic modifier.

List<Arg> args
One of the following:
double
String

The modifier operation.

One of the following:
ADD("ADD")
SUBTRACT("SUBTRACT")
Optional<FieldPeriod> period

Optional reporting period.

One of the following:
QUARTER("QUARTER")
TRAILING_TWELVE_MONTHS("TRAILING_TWELVE_MONTHS")