Skip to content
Start Trading

Create Screener

ScreenerCreateScreenerResponse v1().screener().createScreener(ScreenerCreateScreenerParamsparams = ScreenerCreateScreenerParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/saved-screeners

Create a saved screener configuration.

Persists a screener configuration for the authenticated user.

ParametersExpand Collapse
ScreenerCreateScreenerParams params
Optional<List<FieldRef>> columns

Structured field references to include 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. Ignored when columns is provided.

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<SearchFilter>> filters

Structured search filter criteria

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")
Optional<String> name

The name for this screener configuration

Optional<List<SortSpec>> sorts

Multi-field sort specifications

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")
ReturnsExpand Collapse
class ScreenerCreateScreenerResponse:

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")

Create Screener

package com.clearstreet.api.example;

import com.clearstreet.api.client.ClearStreetClient;
import com.clearstreet.api.client.okhttp.ClearStreetOkHttpClient;
import com.clearstreet.api.models.v1.screener.ScreenerCreateScreenerParams;
import com.clearstreet.api.models.v1.screener.ScreenerCreateScreenerResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        ClearStreetClient client = ClearStreetOkHttpClient.builder()
            .fromEnv()
            .apiKey("My API Key")
            .build();

        ScreenerCreateScreenerResponse response = client.v1().screener().createScreener();
    }
}
{
  "data": {
    "columns": [
      {
        "name": "symbol"
      },
      {
        "name": "price"
      },
      {
        "name": "market_cap"
      }
    ],
    "created_at": "2026-03-20T14:30:00Z",
    "filters": [
      {
        "left": {
          "name": "market_cap"
        },
        "op": {
          "name": "GTE"
        },
        "right": [
          {
            "value": 1000000000
          }
        ]
      }
    ],
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "Tech Large Caps",
    "sorts": [
      {
        "direction": "DESC",
        "field": {
          "name": "market_cap"
        }
      }
    ],
    "updated_at": "2026-03-20T14:30:00Z"
  },
  "error": null,
  "metadata": {
    "request_id": "1a2b3c4d-5e6f-7890-1234-5a6b7c8d9e0f"
  }
}
{
  "error": {
    "code": 400,
    "message": "Failed to parse the request body as JSON: trailing comma at line 3 column 1"
  },
  "metadata": {
    "request_id": "a91ced80-b496-44af-a923-b8b8f1fbdc83"
  }
}
Returns Examples
{
  "data": {
    "columns": [
      {
        "name": "symbol"
      },
      {
        "name": "price"
      },
      {
        "name": "market_cap"
      }
    ],
    "created_at": "2026-03-20T14:30:00Z",
    "filters": [
      {
        "left": {
          "name": "market_cap"
        },
        "op": {
          "name": "GTE"
        },
        "right": [
          {
            "value": 1000000000
          }
        ]
      }
    ],
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "Tech Large Caps",
    "sorts": [
      {
        "direction": "DESC",
        "field": {
          "name": "market_cap"
        }
      }
    ],
    "updated_at": "2026-03-20T14:30:00Z"
  },
  "error": null,
  "metadata": {
    "request_id": "1a2b3c4d-5e6f-7890-1234-5a6b7c8d9e0f"
  }
}
{
  "error": {
    "code": 400,
    "message": "Failed to parse the request body as JSON: trailing comma at line 3 column 1"
  },
  "metadata": {
    "request_id": "a91ced80-b496-44af-a923-b8b8f1fbdc83"
  }
}