> ## Documentation Index
> Fetch the complete documentation index at: https://api.unusualwhales.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> API requests use the base URL https://api.unusualwhales.com and require a bearer token in the `Authorization` header (`Authorization: Bearer <API_KEY>`). Create and manage API tokens at https://unusualwhales.com/dashboard/api.
> For live market data inside an AI tool, use the Unusual Whales MCP server at https://unusualwhales.com/public-api/mcp.
> Instructions for agents using Unusual Whales tools: https://unusualwhales.com/skill.md

# ScreenerOptionFlowState

> Option-trade aggregates for the parent state date. Volumes are option contracts and premiums are US dollars. A new trading-date state can carry option-flow availability from the previous state before current-date flow arrives. In that case, current non-optional aggregates remain zero. Stored null values for non-optional aggregates also become zero, so zero does not always mean that no contracts traded. Historical averages remain absent while stored history is younger than the corresponding calendar-day threshold. Other Decimal fields are absent when their source value or a required calculation input is unavailable.

Message
fields**36**
used by[StockScreenerState](/docs/kafka/types/StockScreenerState.md)

**Proto definition**

```protobuf schema.proto theme={null}
message ScreenerOptionFlowState {
  int64 call_volume = 1;
  int64 put_volume = 2;
  Decimal call_premium = 3;
  Decimal put_premium = 4;
  Decimal bearish_premium = 5;
  Decimal bullish_premium = 6;
  Decimal avg_3_day_call_volume = 7;
  Decimal avg_3_day_put_volume = 8;
  Decimal avg_7_day_call_volume = 9;
  Decimal avg_7_day_put_volume = 10;
  Decimal avg_30_day_call_volume = 11;
  Decimal avg_30_day_put_volume = 12;
  int64 call_volume_ask_side = 13;
  int64 call_volume_bid_side = 14;
  int64 put_volume_ask_side = 15;
  int64 put_volume_bid_side = 16;
  int64 call_volume_mid_side = 17;
  int64 put_volume_mid_side = 18;
  Decimal call_premium_mid_side = 19;
  Decimal put_premium_mid_side = 20;
  sint64 cum_dir_gamma = 21;
  sint64 cum_dir_vega = 22;
  sint64 cum_dir_delta = 23;
  Decimal net_call_premium = 25;
  Decimal net_put_premium = 26;
  Decimal call_premium_bid_side = 28;
  Decimal put_premium_bid_side = 29;
  Decimal call_premium_ask_side = 30;
  Decimal put_premium_ask_side = 31;
  optional int64 prev_call_volume = 32;
  optional int64 prev_put_volume = 33;
  optional int64 prev_day_option_volume = 34;
  optional int64 prev_2_day_option_volume = 35;
  optional int64 prev_3_day_option_volume = 36;
  optional int64 prev_4_day_option_volume = 37;
  int64 repeated_hits = 38;
}
```

## Fields

The number on the right of each row is the protobuf field number.

call\_volume
int64
1

Call option contracts traded on the parent state date.

put\_volume
int64
2

Put option contracts traded on the parent state date.

call\_premium
[Decimal](/docs/kafka/types/Decimal.md)
3

Total call option premium in US dollars on the parent state date.

put\_premium
[Decimal](/docs/kafka/types/Decimal.md)
4

Total put option premium in US dollars on the parent state date.

bearish\_premium
[Decimal](/docs/kafka/types/Decimal.md)
5

Bearish premium in US dollars. This is call bid-side premium plus put ask-side premium. Mid-side and unclassified trades are excluded.

bullish\_premium
[Decimal](/docs/kafka/types/Decimal.md)
6

Bullish premium in US dollars. This is call ask-side premium plus put bid-side premium. Mid-side and unclassified trades are excluded.

avg\_3\_day\_call\_volume
[Decimal](/docs/kafka/types/Decimal.md)
7

Arithmetic mean call contract volume over up to the three most recent earlier stored state dates. The parent state date is excluded.

avg\_3\_day\_put\_volume
[Decimal](/docs/kafka/types/Decimal.md)
8

Arithmetic mean put contract volume over up to the three most recent earlier stored state dates. The parent state date is excluded.

avg\_7\_day\_call\_volume
[Decimal](/docs/kafka/types/Decimal.md)
9

Arithmetic mean call contract volume over up to the seven most recent earlier stored state dates. The parent state date is excluded.

avg\_7\_day\_put\_volume
[Decimal](/docs/kafka/types/Decimal.md)
10

Arithmetic mean put contract volume over up to the seven most recent earlier stored state dates. The parent state date is excluded.

avg\_30\_day\_call\_volume
[Decimal](/docs/kafka/types/Decimal.md)
11

Arithmetic mean call contract volume over up to the 30 most recent earlier stored state dates. The parent state date is excluded.

avg\_30\_day\_put\_volume
[Decimal](/docs/kafka/types/Decimal.md)
12

Arithmetic mean put contract volume over up to the 30 most recent earlier stored state dates. The parent state date is excluded.

call\_volume\_ask\_side
int64
13

Call option contracts classified on the ask side.

call\_volume\_bid\_side
int64
14

Call option contracts classified on the bid side.

put\_volume\_ask\_side
int64
15

Put option contracts classified on the ask side.

put\_volume\_bid\_side
int64
16

Put option contracts classified on the bid side.

call\_volume\_mid\_side
int64
17

Call option contracts classified between the bid and ask.

put\_volume\_mid\_side
int64
18

Put option contracts classified between the bid and ask.

call\_premium\_mid\_side
[Decimal](/docs/kafka/types/Decimal.md)
19

Call premium in US dollars classified between the bid and ask.

put\_premium\_mid\_side
[Decimal](/docs/kafka/types/Decimal.md)
20

Put premium in US dollars classified between the bid and ask.

cum\_dir\_gamma
sint64
21

Sum of floor(sign \* abs(gamma \* contracts \* 100)) by trade. Ask-side trades are positive, bid-side trades are negative, and other trades contribute zero.

cum\_dir\_vega
sint64
22

Sum of floor(sign \* abs(vega \* contracts \* 100)) by trade. Ask-side trades are positive, bid-side trades are negative, and other trades contribute zero.

cum\_dir\_delta
sint64
23

Sum of floor(sign \* abs(delta \* contracts \* 100)) by trade. Call ask and put bid trades are positive. Call bid and put ask trades are negative. Other trades contribute zero.

net\_call\_premium
[Decimal](/docs/kafka/types/Decimal.md)
25

Net call premium in US dollars. Each contributing trade is capped at 2000000 dollars before ask-side premium is added and bid-side premium is subtracted.

net\_put\_premium
[Decimal](/docs/kafka/types/Decimal.md)
26

Net put premium in US dollars. Each contributing trade is capped at 2000000 dollars before ask-side premium is added and bid-side premium is subtracted.

call\_premium\_bid\_side
[Decimal](/docs/kafka/types/Decimal.md)
28

Call premium in US dollars classified on the bid side.

put\_premium\_bid\_side
[Decimal](/docs/kafka/types/Decimal.md)
29

Put premium in US dollars classified on the bid side.

call\_premium\_ask\_side
[Decimal](/docs/kafka/types/Decimal.md)
30

Call premium in US dollars classified on the ask side.

put\_premium\_ask\_side
[Decimal](/docs/kafka/types/Decimal.md)
31

Put premium in US dollars classified on the ask side.

prev\_call\_volume
int64
optional
32

Call contract volume from the prior available screener state. Absent when no prior option-flow state is available.

prev\_put\_volume
int64
optional
33

Put contract volume from the prior available screener state. Absent when no prior option-flow state is available.

prev\_day\_option\_volume
int64
optional
34

Call plus put contracts traded in the previous trading session before the parent state date. Weekends and market holidays are skipped. Absent when unavailable.

prev\_2\_day\_option\_volume
int64
optional
35

Call plus put contracts traded in the session two trading days before the parent state date, not a two day sum. Absent when unavailable.

prev\_3\_day\_option\_volume
int64
optional
36

Call plus put contracts traded in the session three trading days before the parent state date, not a three day sum. Absent when unavailable.

prev\_4\_day\_option\_volume
int64
optional
37

Call plus put contracts traded in the session four trading days before the parent state date, not a four day sum. Absent when unavailable.

repeated\_hits
int64
38

Flow alerts from the RepeatedHits, RepeatedHitsAscendingFill and RepeatedHitsDescendingFill rules on the ticker's option contracts created on the parent state date in New York time. An alert that is resent with more fills counts once.
