/shorts.v1alpha1.ScreenerService/ScreenStocksScreenStocks
Screen stocks using compound filters across shorts, price, fundamentals, director trades, and news
Parameters
Define the version of the Connect protocol
Define the timeout, in ms
Request Body
Request for ScreenStocks RPC
(proto shorts.v1alpha1.ScreenerFilters)
Average news sentiment (-1 to 1) (proto shorts.v1alpha1.RangeFilter)
Days to cover (short positions / avg daily volume) (proto shorts.v1alpha1.RangeFilter)
Dividend yield % (proto shorts.v1alpha1.RangeFilter)
Only stocks with recent director buys (proto bool)
Filter to specific industries (proto string)
Market capitalization (proto shorts.v1alpha1.RangeFilter)
Net director buy value ($) (proto shorts.v1alpha1.RangeFilter)
P/E ratio (proto shorts.v1alpha1.RangeFilter)
1-month price change % (proto shorts.v1alpha1.RangeFilter)
Filter to specific stock codes — used by /themes (proto string)
Current short position % (proto shorts.v1alpha1.RangeFilter)
4-week short position change (proto shorts.v1alpha1.RangeFilter)
Max results (default 50) (proto int32)
Pagination offset (proto int32)
(proto shorts.v1alpha1.SortDirection)
(proto shorts.v1alpha1.ScreenerSortField)
Responses
Response for ScreenStocks RPC
(proto shorts.v1alpha1.ScreenerStock)
A single stock result from the screener
(proto int32)
Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A list of messages that carry the error details. There is no limit on the number of messages.
Contains an arbitrary serialized message along with a @type that describes the type of the serialized message, with an additional debug field for ConnectRPC error details.
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
curl -X POST "https://api.shorted.com.au/shorts.v1alpha1.ScreenerService/ScreenStocks" \
-H "Content-Type: application/json" \
-d '{
"filters": {
"avgSentiment": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"daysToCover": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"dividendYield": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"hasDirectorBuys": true,
"industries": [
"string"
],
"marketCap": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"netDirectorBuy": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"peRatio": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"priceChange1m": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"productCodes": [
"string"
],
"shortPct": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"shortPctChange": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
}
},
"limit": 0,
"offset": 0,
"sortDirection": "string",
"sortField": "string"
}'curl -X POST "https://api.shorted.com.au/shorts.v1alpha1.ScreenerService/ScreenStocks" \
-H "Content-Type: application/json" \
-d '{
"filters": {
"avgSentiment": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"daysToCover": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"dividendYield": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"hasDirectorBuys": true,
"industries": [
"string"
],
"marketCap": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"netDirectorBuy": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"peRatio": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"priceChange1m": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"productCodes": [
"string"
],
"shortPct": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
},
"shortPctChange": {
"hasMax": true,
"hasMin": true,
"max": 0,
"min": 0
}
},
"limit": 0,
"offset": 0,
"sortDirection": "string",
"sortField": "string"
}'