Skip to content
Start Trading

Search Screener

client.V1.Screener.SearchScreener(ctx, body) (*V1ScreenerSearchScreenerResponse, error)
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.

ParametersExpand Collapse
body V1ScreenerSearchScreenerParams
Columns param.Field[[]FieldRef]Optional

Subset of fields to include in the response.

Name string

The field name.

Lookback FieldLookbackOptional

Optional historical lookback window.

One of the following:
const FieldLookbackOneDay FieldLookback = "ONE_DAY"
const FieldLookbackOneWeek FieldLookback = "ONE_WEEK"
const FieldLookbackOneMonth FieldLookback = "ONE_MONTH"
const FieldLookbackThreeMonths FieldLookback = "THREE_MONTHS"
const FieldLookbackSixMonths FieldLookback = "SIX_MONTHS"
const FieldLookbackYearToDate FieldLookback = "YEAR_TO_DATE"
const FieldLookbackOneYear FieldLookback = "ONE_YEAR"
Period FieldPeriodOptional

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

One of the following:
const FieldPeriodQuarter FieldPeriod = "QUARTER"
const FieldPeriodTrailingTwelveMonths FieldPeriod = "TRAILING_TWELVE_MONTHS"
ValueType FieldTypeOptional

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

One of the following:
const FieldTypeDecimal FieldType = "DECIMAL"
const FieldTypeInteger FieldType = "INTEGER"
const FieldTypeString FieldType = "STRING"
const FieldTypeAnalystRating FieldType = "ANALYST_RATING"
const FieldTypeDate FieldType = "DATE"
DeprecatedFieldFilter param.Field[[]FieldRef]Optional

Deprecated: use columns instead. Ignored when columns is provided.

Name string

The field name.

Lookback FieldLookbackOptional

Optional historical lookback window.

One of the following:
const FieldLookbackOneDay FieldLookback = "ONE_DAY"
const FieldLookbackOneWeek FieldLookback = "ONE_WEEK"
const FieldLookbackOneMonth FieldLookback = "ONE_MONTH"
const FieldLookbackThreeMonths FieldLookback = "THREE_MONTHS"
const FieldLookbackSixMonths FieldLookback = "SIX_MONTHS"
const FieldLookbackYearToDate FieldLookback = "YEAR_TO_DATE"
const FieldLookbackOneYear FieldLookback = "ONE_YEAR"
Period FieldPeriodOptional

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

One of the following:
const FieldPeriodQuarter FieldPeriod = "QUARTER"
const FieldPeriodTrailingTwelveMonths FieldPeriod = "TRAILING_TWELVE_MONTHS"
ValueType FieldTypeOptional

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

One of the following:
const FieldTypeDecimal FieldType = "DECIMAL"
const FieldTypeInteger FieldType = "INTEGER"
const FieldTypeString FieldType = "STRING"
const FieldTypeAnalystRating FieldType = "ANALYST_RATING"
const FieldTypeDate FieldType = "DATE"
Filters param.Field[[]SearchFilter]Optional

Filter conditions to apply.

The field to filter on.

Name string

The field name.

Lookback FieldLookbackOptional

Optional historical lookback window.

One of the following:
const FieldLookbackOneDay FieldLookback = "ONE_DAY"
const FieldLookbackOneWeek FieldLookback = "ONE_WEEK"
const FieldLookbackOneMonth FieldLookback = "ONE_MONTH"
const FieldLookbackThreeMonths FieldLookback = "THREE_MONTHS"
const FieldLookbackSixMonths FieldLookback = "SIX_MONTHS"
const FieldLookbackYearToDate FieldLookback = "YEAR_TO_DATE"
const FieldLookbackOneYear FieldLookback = "ONE_YEAR"
Period FieldPeriodOptional

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

One of the following:
const FieldPeriodQuarter FieldPeriod = "QUARTER"
const FieldPeriodTrailingTwelveMonths FieldPeriod = "TRAILING_TWELVE_MONTHS"
ValueType FieldTypeOptional

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

One of the following:
const FieldTypeDecimal FieldType = "DECIMAL"
const FieldTypeInteger FieldType = "INTEGER"
const FieldTypeString FieldType = "STRING"
const FieldTypeAnalystRating FieldType = "ANALYST_RATING"
const FieldTypeDate FieldType = "DATE"
Op FilterOpSpecOptional

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

The operator to apply.

One of the following:
const FilterOperatorLessThan FilterOperator = "LESS_THAN"
const FilterOperatorLessOrEqual FilterOperator = "LESS_OR_EQUAL"
const FilterOperatorGreaterThan FilterOperator = "GREATER_THAN"
const FilterOperatorGreaterOrEqual FilterOperator = "GREATER_OR_EQUAL"
const FilterOperatorEqual FilterOperator = "EQUAL"
const FilterOperatorBetween FilterOperator = "BETWEEN"
const FilterOperatorNotBetween FilterOperator = "NOT_BETWEEN"
const FilterOperatorOneOf FilterOperator = "ONE_OF"
const FilterOperatorRegex FilterOperator = "REGEX"
const FilterOperatorBeginsWith FilterOperator = "BEGINS_WITH"
const FilterOperatorEndsWith FilterOperator = "ENDS_WITH"
const FilterOperatorContains FilterOperator = "CONTAINS"
const FilterOperatorIsNull FilterOperator = "IS_NULL"
const FilterOperatorIsNotNull FilterOperator = "IS_NOT_NULL"
Args []OperatorArgOptional

Optional arguments that modify operator behavior.

One of the following:
const OperatorArgLeftInclusive OperatorArg = "LEFT_INCLUSIVE"
const OperatorArgRightInclusive OperatorArg = "RIGHT_INCLUSIVE"
const OperatorArgLeftExclusive OperatorArg = "LEFT_EXCLUSIVE"
const OperatorArgRightExclusive OperatorArg = "RIGHT_EXCLUSIVE"
const OperatorArgCaseInsensitive OperatorArg = "CASE_INSENSITIVE"
Right []FilterValueOptional

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

Value FilterValueValueUnionOptional
One of the following:
float64
string
Variable VariableOptional

A variable reference.

Name string

The variable name.

Lookback FieldLookbackOptional

Optional historical lookback window.

One of the following:
const FieldLookbackOneDay FieldLookback = "ONE_DAY"
const FieldLookbackOneWeek FieldLookback = "ONE_WEEK"
const FieldLookbackOneMonth FieldLookback = "ONE_MONTH"
const FieldLookbackThreeMonths FieldLookback = "THREE_MONTHS"
const FieldLookbackSixMonths FieldLookback = "SIX_MONTHS"
const FieldLookbackYearToDate FieldLookback = "YEAR_TO_DATE"
const FieldLookbackOneYear FieldLookback = "ONE_YEAR"
Modifier ModifierOptional

Optional arithmetic modifier.

Args []ModifierArgUnion
One of the following:
float64
string

The modifier operation.

One of the following:
const ModifierOpAdd ModifierOp = "ADD"
const ModifierOpSubtract ModifierOp = "SUBTRACT"
Period FieldPeriodOptional

Optional reporting period.

One of the following:
const FieldPeriodQuarter FieldPeriod = "QUARTER"
const FieldPeriodTrailingTwelveMonths FieldPeriod = "TRAILING_TWELVE_MONTHS"
PageSize param.Field[int64]Optional

The number of items to return per page (only used when page_token is not provided)

minimum0
PageToken param.Field[string]Optional

Token for retrieving the next page of results. Contains encoded pagination state (limit + offset). When provided, page_size is ignored.

formatbyte
SortCaseSensitive param.Field[bool]Optional

Whether string sorts should be case-sensitive (default: false).

Sorts param.Field[[]SortSpec]Optional

Multi-field sort specifications.

Field FieldRef

The field to sort by.

Name string

The field name.

Lookback FieldLookbackOptional

Optional historical lookback window.

One of the following:
const FieldLookbackOneDay FieldLookback = "ONE_DAY"
const FieldLookbackOneWeek FieldLookback = "ONE_WEEK"
const FieldLookbackOneMonth FieldLookback = "ONE_MONTH"
const FieldLookbackThreeMonths FieldLookback = "THREE_MONTHS"
const FieldLookbackSixMonths FieldLookback = "SIX_MONTHS"
const FieldLookbackYearToDate FieldLookback = "YEAR_TO_DATE"
const FieldLookbackOneYear FieldLookback = "ONE_YEAR"
Period FieldPeriodOptional

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

One of the following:
const FieldPeriodQuarter FieldPeriod = "QUARTER"
const FieldPeriodTrailingTwelveMonths FieldPeriod = "TRAILING_TWELVE_MONTHS"
ValueType FieldTypeOptional

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

One of the following:
const FieldTypeDecimal FieldType = "DECIMAL"
const FieldTypeInteger FieldType = "INTEGER"
const FieldTypeString FieldType = "STRING"
const FieldTypeAnalystRating FieldType = "ANALYST_RATING"
const FieldTypeDate FieldType = "DATE"
Direction SortDirectionOptional

Sort direction (defaults to DESC).

One of the following:
const SortDirectionAsc SortDirection = "ASC"
const SortDirectionDesc SortDirection = "DESC"
ReturnsExpand Collapse
type V1ScreenerSearchScreenerResponse struct{…}
Field FieldRef

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

Name string

The field name.

Lookback FieldLookbackOptional

Optional historical lookback window.

One of the following:
const FieldLookbackOneDay FieldLookback = "ONE_DAY"
const FieldLookbackOneWeek FieldLookback = "ONE_WEEK"
const FieldLookbackOneMonth FieldLookback = "ONE_MONTH"
const FieldLookbackThreeMonths FieldLookback = "THREE_MONTHS"
const FieldLookbackSixMonths FieldLookback = "SIX_MONTHS"
const FieldLookbackYearToDate FieldLookback = "YEAR_TO_DATE"
const FieldLookbackOneYear FieldLookback = "ONE_YEAR"
Period FieldPeriodOptional

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

One of the following:
const FieldPeriodQuarter FieldPeriod = "QUARTER"
const FieldPeriodTrailingTwelveMonths FieldPeriod = "TRAILING_TWELVE_MONTHS"
ValueType FieldTypeOptional

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

One of the following:
const FieldTypeDecimal FieldType = "DECIMAL"
const FieldTypeInteger FieldType = "INTEGER"
const FieldTypeString FieldType = "STRING"
const FieldTypeAnalystRating FieldType = "ANALYST_RATING"
const FieldTypeDate FieldType = "DATE"
Name string

Human-readable display name for this field

Value ScreenerColumnValueUnion
One of the following:
float64
string
Type stringOptional

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 Screener

package main

import (
  "context"
  "fmt"

  "github.com/clear-street/clear-street-go"
  "github.com/clear-street/clear-street-go/option"
)

func main() {
  client := clearstreet.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.V1.Screener.SearchScreener(context.TODO(), clearstreet.V1ScreenerSearchScreenerParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response)
}
{
  "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"
  }
}
{
  "error": {
    "code": 422,
    "message": "Failed to deserialize the JSON body into the target type: unknown field `sort_by` at line 3 column 18"
  },
  "metadata": {
    "request_id": "69f02ce8-20e3-4bcd-a134-bb006eca5749"
  }
}
Returns Examples
{
  "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"
  }
}
{
  "error": {
    "code": 422,
    "message": "Failed to deserialize the JSON body into the target type: unknown field `sort_by` at line 3 column 18"
  },
  "metadata": {
    "request_id": "69f02ce8-20e3-4bcd-a134-bb006eca5749"
  }
}