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

# stock-screener

> Complete screener state for a ticker

Topic
messages**1**
routing**single type**
encoding**protobuf**

## Messages on this topic

[all messages
StockScreenerState
Latest assembled stock-screener state for a ticker. option\_flow and memberships are present in each published payload. Other nested messages are absent when their source group has no value. Individual Decimal fields are absent when unavailable unless their nested-message comments describe a zero fallback.
19 fields→](https://api.unusualwhales.com/docs/kafka/types/StockScreenerState.md)

All messages on this topic are of a single type.

## Consume the topic

```python Python theme={null}
from confluent_kafka import Consumer
from unusualwhales.schema_pb2 import StockScreenerState

# CONFIG comes from the Connecting section of the Kafka overview.
consumer = Consumer(CONFIG | {"group.id": "my-stock-screener-consumer"})
consumer.subscribe(["stock-screener"])

while True:
    msg = consumer.poll(1.0)
    if msg is None or msg.error():
        continue

    event = StockScreenerState()
    event.ParseFromString(msg.value())
    print(event)
```
