# Screener ## Search Screener `v1.screener.search_screener(ScreenerSearchScreenerParams**kwargs) -> ScreenerSearchScreenerResponse` **post** `/v1/screener` Search instruments using structured filters. Returns a columnar response where each row is an array of column objects. Each column contains a human-readable name, a field reference, an optional type hint (e.g. `CURR_USD`, `PERCENT`), and the value. Use `columns` to select which columns appear in each row. When omitted, the default field set is returned. ### Parameters - `columns: Optional[Iterable[FieldRefParam]]` Subset of fields to include in the response. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `field_filter: Optional[Iterable[FieldRefParam]]` Deprecated: use `columns` instead. Ignored when `columns` is provided. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `filters: Optional[Iterable[SearchFilterParam]]` Filter conditions to apply. - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `page_size: Optional[int]` The number of items to return per page (only used when page_token is not provided) - `page_token: Optional[Union[str, Base64FileInput, null]]` Token for retrieving the next page of results. Contains encoded pagination state (limit + offset). When provided, page_size is ignored. - `sort_case_sensitive: Optional[bool]` Whether string sorts should be case-sensitive (default: false). - `sorts: Optional[Iterable[SortSpecParam]]` Multi-field sort specifications. - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Returns - `class ScreenerSearchScreenerResponse: …` - `data: ScreenerRowList` - `field: FieldRef` Field reference (same shape as filter/sort field references) - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `name: str` Human-readable display name for this field - `value: Union[float, str, null]` - `float` - `str` - `type: Optional[str]` Value format hint: "CURR_USD", "PERCENT", etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply. ### Example ```python from clearstreet import ClearStreet client = ClearStreet( api_key="My API Key", ) response = client.v1.screener.search_screener() print(response) ``` #### Response ```json { "data": [ [ { "field": { "name": "symbol" }, "name": "Symbol", "value": "AAPL" }, { "field": { "name": "price" }, "name": "Price", "type": "CURR_USD", "value": 175.05 }, { "field": { "name": "market_cap" }, "name": "Market Cap", "type": "CURR_USD", "value": 3500000000000 }, { "field": { "name": "beta" }, "name": "Beta", "value": 1.2 }, { "field": { "lookback": "ONE_WEEK", "name": "change_pct" }, "name": "Change (1W)", "type": "PERCENT", "value": 2.35 }, { "field": { "name": "consensus_rating" }, "name": "Consensus Rating", "value": "STRONG_BUY" }, { "field": { "name": "earnings_per_share", "period": "QUARTER" }, "name": "EPS (Q)", "type": "CURR_USD", "value": 1.55 } ], [ { "field": { "name": "symbol" }, "name": "Symbol", "value": "F" }, { "field": { "name": "price" }, "name": "Price", "type": "CURR_USD", "value": 12.5 }, { "field": { "name": "market_cap" }, "name": "Market Cap", "type": "CURR_USD", "value": 45000000000 }, { "field": { "name": "beta" }, "name": "Beta", "value": 1.5 }, { "field": { "lookback": "ONE_WEEK", "name": "change_pct" }, "name": "Change (1W)", "type": "PERCENT", "value": -0.85 }, { "field": { "name": "consensus_rating" }, "name": "Consensus Rating", "value": "HOLD" }, { "field": { "name": "earnings_per_share", "period": "QUARTER" }, "name": "EPS (Q)", "type": "CURR_USD", "value": 0.23 } ] ], "metadata": { "next_page_token": "AAAAAAAAAAoAAAAAAAAAAg", "request_id": "abc-123" } } ``` ## Get Screeners `v1.screener.get_screeners() -> ScreenerGetScreenersResponse` **get** `/v1/saved-screeners` List saved screener configurations. Returns all screener configurations for the authenticated user. ### Returns - `class ScreenerGetScreenersResponse: …` - `data: ScreenerEntryList` - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Example ```python from clearstreet import ClearStreet client = ClearStreet( api_key="My API Key", ) response = client.v1.screener.get_screeners() print(response) ``` #### Response ```json { "data": [ { "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" }, { "columns": [ { "name": "symbol" }, { "name": "price" }, { "name": "volume" } ], "created_at": "2026-03-21T09:00:00Z", "filters": [ { "left": { "name": "volume" }, "op": { "name": "GTE" }, "right": [ { "value": 10000000 } ] } ], "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "name": "High Volume", "updated_at": "2026-03-21T09:00:00Z" } ], "error": null, "metadata": { "request_id": "1a2b3c4d-5e6f-7890-1234-5a6b7c8d9e0f" } } ``` ## Get Screener By ID `v1.screener.get_screener_by_id(strscreener_id) -> ScreenerGetScreenerByIDResponse` **get** `/v1/saved-screeners/{screener_id}` Get a saved screener configuration by ID. Returns a single screener configuration for the authenticated user. ### Parameters - `screener_id: str` ### Returns - `class ScreenerGetScreenerByIDResponse: …` - `data: ScreenerEntry` A saved screener configuration entry - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Example ```python from clearstreet import ClearStreet client = ClearStreet( api_key="My API Key", ) response = client.v1.screener.get_screener_by_id( "550e8400-e29b-41d4-a716-446655440000", ) print(response) ``` #### Response ```json { "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" } } ``` ## Create Screener `v1.screener.create_screener(ScreenerCreateScreenerParams**kwargs) -> ScreenerCreateScreenerResponse` **post** `/v1/saved-screeners` Create a saved screener configuration. Persists a screener configuration for the authenticated user. ### Parameters - `columns: Optional[Iterable[FieldRefParam]]` Structured field references to include when running this screener - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `field_filter: Optional[Iterable[FieldRefParam]]` Deprecated: use `columns` instead. Ignored when `columns` is provided. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `filters: Optional[Iterable[SearchFilterParam]]` Structured search filter criteria - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: Optional[str]` The name for this screener configuration - `sorts: Optional[Iterable[SortSpecParam]]` Multi-field sort specifications - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Returns - `class ScreenerCreateScreenerResponse: …` - `data: ScreenerEntry` A saved screener configuration entry - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Example ```python from clearstreet import ClearStreet client = ClearStreet( api_key="My API Key", ) response = client.v1.screener.create_screener() print(response) ``` #### Response ```json { "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" } } ``` ## Replace Screener `v1.screener.replace_screener(strscreener_id, ScreenerReplaceScreenerParams**kwargs) -> ScreenerReplaceScreenerResponse` **put** `/v1/saved-screeners/{screener_id}` Update a saved screener configuration. Replaces the screener configuration for the authenticated user. If `name` is null, the existing name is preserved. ### Parameters - `screener_id: str` - `columns: Optional[Iterable[FieldRefParam]]` Structured field references to include when running this screener - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `field_filter: Optional[Iterable[FieldRefParam]]` Deprecated: use `columns` instead. Ignored when `columns` is provided. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `filters: Optional[Iterable[SearchFilterParam]]` Structured search filter criteria - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: Optional[str]` The name for this screener configuration - `sorts: Optional[Iterable[SortSpecParam]]` Multi-field sort specifications - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Returns - `class ScreenerReplaceScreenerResponse: …` - `data: ScreenerEntry` A saved screener configuration entry - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Example ```python from clearstreet import ClearStreet client = ClearStreet( api_key="My API Key", ) response = client.v1.screener.replace_screener( screener_id="550e8400-e29b-41d4-a716-446655440000", ) print(response) ``` #### Response ```json { "data": { "columns": [ { "name": "symbol" }, { "name": "price" }, { "name": "market_cap" } ], "created_at": "2026-04-23T13:37:04.041398Z", "filters": [ { "left": { "name": "market_cap" }, "op": { "name": "GTE" }, "right": [ { "value": 1000000000 } ] } ], "id": "69fcb40a-1812-4856-b2d3-97dec805efee", "name": "Tech Large Caps", "sorts": [ { "direction": "ASC", "field": { "name": "market_cap" } } ], "updated_at": "2026-04-23T13:37:21.860106Z" }, "metadata": { "request_id": "71ac58a8-9b12-49b9-8301-6239febe4e56" } } ``` ## Delete Screener `v1.screener.delete_screener(strscreener_id)` **delete** `/v1/saved-screeners/{screener_id}` Delete a saved screener configuration. Deletes the screener configuration for the authenticated user. ### Parameters - `screener_id: str` ### Example ```python from clearstreet import ClearStreet client = ClearStreet( api_key="My API Key", ) client.v1.screener.delete_screener( "550e8400-e29b-41d4-a716-446655440000", ) ``` #### Response ```json { "error": { "code": 404, "message": "Some requested entity was not found" }, "metadata": { "request_id": "aafc54ec-939e-49a9-ab6e-bbabca005cb2" } } ``` ## Domain Types ### Field Lookback - `Literal["ONE_DAY", "ONE_WEEK", "ONE_MONTH", 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 - `Literal["QUARTER", "TRAILING_TWELVE_MONTHS"]` Reporting period for financial data fields. - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` ### Field Ref - `class FieldRef: …` A reference to a screener field. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` ### Field Type - `Literal["DECIMAL", "INTEGER", "STRING", 2 more]` The data type of a screener field value. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` ### Filter Op Spec - `class FilterOpSpec: …` Operator specification with optional behavioral arguments. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` ### Filter Operator - `Literal["LESS_THAN", "LESS_OR_EQUAL", "GREATER_THAN", 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 - `class FilterValue: …` A filter value: either a literal or a variable reference. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` ### Modifier - `class Modifier: …` Arithmetic modifier applied to a variable value. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` ### Modifier Op - `Literal["ADD", "SUBTRACT"]` Modifier operation applied to a variable. - `"ADD"` - `"SUBTRACT"` ### Operator Arg - `Literal["LEFT_INCLUSIVE", "RIGHT_INCLUSIVE", "LEFT_EXCLUSIVE", 2 more]` Argument that modifies operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` ### Screener Column - `class ScreenerColumn: …` A single column in the screener search response. - `field: FieldRef` Field reference (same shape as filter/sort field references) - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `name: str` Human-readable display name for this field - `value: Union[float, str, null]` - `float` - `str` - `type: Optional[str]` 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 - `class ScreenerEntry: …` A saved screener configuration entry - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Screener Entry List - `List[ScreenerEntry]` - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Screener Filter - `class ScreenerFilter: …` A single filter criterion for the screener. - `field: str` Field to filter on (e.g., "market_cap", "sector", "price") - `operator: str` Comparison operator (e.g., "eq", "gte", "lte", "in") - `value: object` Filter value ### Screener Row - `List[ScreenerColumn]` A single row of screener columns for one instrument. - `field: FieldRef` Field reference (same shape as filter/sort field references) - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `name: str` Human-readable display name for this field - `value: Union[float, str, null]` - `float` - `str` - `type: Optional[str]` 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 - `List[ScreenerRow]` - `field: FieldRef` Field reference (same shape as filter/sort field references) - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `name: str` Human-readable display name for this field - `value: Union[float, str, null]` - `float` - `str` - `type: Optional[str]` 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 - `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. - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. ### Sort Spec - `class SortSpec: …` A sort specification pairing a field with a direction. - `field: FieldRef` The field to sort by. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Variable - `class Variable: …` A variable reference (field or built-in like `today`). - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` ### Screener Search Screener Response - `class ScreenerSearchScreenerResponse: …` - `data: ScreenerRowList` - `field: FieldRef` Field reference (same shape as filter/sort field references) - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `name: str` Human-readable display name for this field - `value: Union[float, str, null]` - `float` - `str` - `type: Optional[str]` 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 Get Screeners Response - `class ScreenerGetScreenersResponse: …` - `data: ScreenerEntryList` - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Screener Get Screener By ID Response - `class ScreenerGetScreenerByIDResponse: …` - `data: ScreenerEntry` A saved screener configuration entry - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Screener Create Screener Response - `class ScreenerCreateScreenerResponse: …` - `data: ScreenerEntry` A saved screener configuration entry - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"` ### Screener Replace Screener Response - `class ScreenerReplaceScreenerResponse: …` - `data: ScreenerEntry` A saved screener configuration entry - `id: str` - `created_at: datetime` - `filters: List[SearchFilter]` - `left: FieldRef` The field to filter on. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `"THREE_MONTHS"` - `"SIX_MONTHS"` - `"YEAR_TO_DATE"` - `"ONE_YEAR"` - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `"QUARTER"` - `"TRAILING_TWELVE_MONTHS"` - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `"DECIMAL"` - `"INTEGER"` - `"STRING"` - `"ANALYST_RATING"` - `"DATE"` - `op: Optional[FilterOpSpec]` The operator and optional arguments. Omit together with `right` for an unenabled filter. - `name: FilterOperator` 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[List[OperatorArg]]` Optional arguments that modify operator behavior. - `"LEFT_INCLUSIVE"` - `"RIGHT_INCLUSIVE"` - `"LEFT_EXCLUSIVE"` - `"RIGHT_EXCLUSIVE"` - `"CASE_INSENSITIVE"` - `right: Optional[List[FilterValue]]` The value(s) to compare against. Omit together with `op` for an unenabled filter. - `value: Optional[Union[float, str, null]]` - `float` - `str` - `variable: Optional[Variable]` A variable reference. - `name: str` The variable name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `modifier: Optional[Modifier]` Optional arithmetic modifier. - `args: List[Union[float, str]]` - `float` - `str` - `name: ModifierOp` The modifier operation. - `"ADD"` - `"SUBTRACT"` - `period: Optional[FieldPeriod]` Optional reporting period. - `name: str` - `updated_at: datetime` - `columns: Optional[List[FieldRef]]` Field references included when running this screener. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `field_filter: Optional[List[FieldRef]]` Deprecated: use `columns` instead. Mirrors `columns`. - `name: str` The field name. - `lookback: Optional[FieldLookback]` Optional historical lookback window. - `period: Optional[FieldPeriod]` Optional reporting period (e.g. quarter or TTM). - `value_type: Optional[FieldType]` The data type of the field value. Present only in responses. - `sorts: Optional[List[SortSpec]]` - `field: FieldRef` The field to sort by. - `direction: Optional[SortDirection]` Sort direction (defaults to DESC). - `"ASC"` - `"DESC"`