Around an earnings print, options flow and the earnings call are two halves of the same story. The flow shows you positioning: who is paying up for calls or puts, at what strikes, and how aggressively. The call shows you substance: what management actually guided, what analysts pressed on, and what got dodged. On their own each is half a signal. Together they let you separate a real, informed bet from noise. This post pairs OptionsBell for the flow with earningscalls.dev for the call.
Flow is positioning, not opinion
An OptionsBell alert fires when activity on a name breaks from its own baseline: a spike in volume versus open interest, an outsized premium print, an unusual implied-vol or short-DTE profile. That is a fact about how capital is positioned right now. It is not a thesis, and it does not tell you whether the buyer knows something. A large weekly-call sweep two days before a report is interesting precisely because it is asymmetric and time-boxed around a known catalyst.
- Pre-print flow: someone is expressing a view before the numbers land
- Post-print flow: someone is reacting to what was just said on the call
- The strike, expiry and premium tell you conviction and time horizon
The call is the substance
Once you see the positioning, go read what the company said. On earningscalls.dev you can pull the AI summary of the latest call for a fast read, then drop into the full transcript for the exact language on the thing that matters. If the flow was in calls, the questions are simple: did management raise guidance, describe accelerating demand, or announce a buyback? If it was in puts, did they cut guidance, flag softness, or hedge on margins?
The summary gets you 80 percent of the context in a minute; the transcript settles the last 20 percent when wording matters. A CFO saying demand is durable reads very differently from demand being stabilizing, and that nuance is exactly where a call-heavy flow print earns or loses its edge.
A concrete pre-earnings example
Suppose OptionsBell alerts on heavy call buying in a mid-cap software name three days before it reports. You want the last call as a baseline: what did they guide to last quarter, and did they set up a beatable bar? If you run the earningscalls.dev MCP server in Claude, this is one prompt.
Get the last earnings call summary for $TICKER.
Then search the transcript for anything management said about
next-quarter guidance and current-quarter demand.
Quote the exact sentences.Now the flow has a frame. If last quarter management already flagged a strengthening pipeline and the stock sold off anyway, aggressive pre-print calls look like a considered bet on a guide-up, not a lottery ticket.
Pulling the flow programmatically
If you would rather script the OptionsBell side, the unusual-flow endpoint takes a since timestamp so you only get prints newer than your last poll. Auth is an X-API-Key header.
import os, urllib.request, json
from datetime import datetime, timedelta, timezone
since = (datetime.now(timezone.utc) - timedelta(hours=2)).isoformat()
url = "https://optionsbell.com/api/v1/options-flow/unusual?since=" + since
req = urllib.request.Request(url, headers={"X-API-Key": os.environ["OPTIONSBELL_API_KEY"]})
with urllib.request.urlopen(req) as r:
prints = json.load(r)
for p in prints:
print(p["ticker"], p["type"], p["strike"], p["expiry"], p["premium"])Feed those tickers into your earnings workflow and you have a repeatable loop: OptionsBell surfaces the positioning, earningscalls.dev explains the story behind it.
Reading the two together
The pairing is strongest when flow and call agree or sharply disagree. Bullish pre-print flow plus a prior call that set a low bar is a clean setup. Bullish flow plus a prior call full of demand warnings is a contradiction worth respecting. And when flow spikes right after the call drops, read the summary first so you understand what the market is reacting to before you chase it.
Start here: create an unusual options activity alert, then keep the earningscalls.dev transcript for that name open on the other screen.