Equities Screener API
Powerful, criteria-based screening using flexible filtering logic.
Comparison Filters
Comparison filters select investments whose data point is above, below or between values. Use them with numbers and dates.
Comparison Operators
| Operator | Meaning |
|---|---|
gt | Greater than. |
gte | Greater than or equal to. |
lt | Less than. |
lte | Less than or equal to. |
Write the operators inside an object, as the value of the data point.
{
"<dataPoint>": {
"gt": "<value>",
"lt": "<value>"
}
}
gt and lt are exclusive, so a value equal to the limit isn't matched. gte and lte are inclusive, so a value equal to the limit is matched.
The comparison object must contain at least one operator, and can't contain anything else.
Compare Numbers
The following query returns investments whose 24-month beta is greater than 4 and less than 10.
"query": {
"dividendResidualRiskAndReturnSensitivity.beta24Month": {
"gt": 4,
"lt": 10
}
}
Write numbers without quotation marks.
Compare Dates
Write dates as strings in yyyy-MM-dd format. The following query returns investments whose market capital date is between 1 January 2020 and 31 March 2024, exclusive.
"query": {
"marketCapital.asOfDate": {
"gt": "2020-01-01",
"lt": "2024-03-31"
}
}
Set One Limit or Both
You can set a limit on one side only, or on both sides to create a range.
| To Return | Use |
|---|---|
| Values above a limit | { "gt": <value> } or { "gte": <value> } |
| Values below a limit | { "lt": <value> } or { "lte": <value> } |
| Values within a range | One lower limit and one upper limit in the same object. |
To include the limits in a range, use gte and lte.
"query": {
"marketCapital.asOfDate": {
"gte": "2024-01-01",
"lte": "2024-12-31"
}
}
Check That the Data Point Supports the Operator
Only data points whose metadata lists the operator support it. In particular, a string data point usually supports only equality filters. Some values that represent dates are stored as strings, and the metadata for those data points can list the comparison operators, so use the operators property rather than the data type to decide. See Explore Data Points.
Combine Comparisons with Other Filters
To apply a comparison together with other conditions, put them in an and or or filter.
"query": {
"and": [
{ "shareClassInformation.securityType": ["ST00000001", "ST00000002"] },
{ "marketCapital.asOfDate": { "gt": "2020-01-01", "lt": "2024-03-31" } }
]
}
See Compound Filters.