> ## 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

# ScreenerMembershipsState

> ETF and option-flow-group memberships known to the producer. This message is always present. Empty lists mean the producer has no matching memberships.

Message
fields**2**
used by[StockScreenerState](https://api.unusualwhales.com/docs/kafka/types/StockScreenerState.md)

**Proto definition**

```protobuf schema.proto theme={null}
message ScreenerMembershipsState {
  repeated string held_by_etfs = 1;
  repeated string flow_groups = 2;
}
```

## Fields

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

held\_by\_etfs
string
repeated
1

ETF tickers whose current holdings include this ticker. Source holding tickers have periods removed before matching. Values are deduplicated and sorted by ticker.

flow\_groups
string
repeated
2

Option flow groups containing this ticker, sorted by group name. These memberships are loaded when the producer starts and are not refreshed until it restarts.
