Options Signals Mini
Pricing
from $1.00 / 1,000 records
Options Signals Mini
Find unusual options activity and see why: the quantitative flags that fired on each contract, volume against open interest, implied volatility, and the news around the underlying. Export data, run via API, schedule and monitor runs, or integrate with other tools.
Pricing
from $1.00 / 1,000 records
Rating
5.0
(1)
Developer
Public Money
Maintained by ApifyActor stats
0
Bookmarked
3
Total users
2
Monthly active users
21 hours ago
Last modified
Categories
Share
A screener tells you a contract is moving. It does not tell you why, so you end up with a list and a browser full of tabs. This Actor returns both halves: the quantitative flags that fired on a contract, in signalCodes, and the count of news stories around the underlying inside your window, so an unusual move arrives with its likely cause attached.
What it does
- Returns the flags that fired in
signalCodes, so a contract arrives labelled rather than just ranked. - Counts the news around the underlying in
newsCount, inside a window you set, which is the fastest way to separate a story from a stray print. - Two routes: read Yahoo's trend screeners to find candidates, or pass tickers you already care about.
- Carries
underlyingPricenext to the contract, so the strike is in context without a second lookup. - Reports implied volatility as a percent and the change on the day, the pair that says whether premium is being bid up.
- Runs the Yahoo Finance Options and news Actors as child runs, so the flags and the stories come from one call.
Use cases
| You need to | How this Actor does it |
|---|---|
| Find unusual activity with a reason | Run the most-active trend and read signalCodes next to newsCount |
| Separate news moves from noise | Filter on newsCount above zero |
| Watch your own names | Switch the route to ticker and pass your list |
| Tune the news window | Set News window hours to match how fast your market reacts |
| Screen for premium being bid up | Sort on impliedVolatilityPercent and read the flags |
| Feed a trading agent | Call the Actor over MCP and let the model ask for what it needs |
Quick start
- Click Try for free.
- Leave Route on
trendto screen the market, or switch it totickerto pass your own names. - Pick the Trend:
most-active,gainers,losers,highest-implied-volatilityorhighest-open-interest. - Set News window hours, which is how far back the story count reaches. The default is 48.
- Click Start. Rows appear within seconds.
- Export as JSON, CSV, Excel or XML, or read the dataset over the API.
Input
| Field | Type | Default | What it controls |
|---|---|---|---|
route | string | trend | trend screens the market, ticker reads the names you pass |
trend | string | most-active | Which Yahoo screener to read on the trend route |
tickers | array | AAPL | Underlyings to read on the ticker route |
contractsPerTicker | integer | 10 | How many contracts to keep per underlying |
newsWindowHours | integer | 48 | How far back the news count reaches |
maxItems | integer | 0 | Caps how many contracts are returned |
{"route": "trend","trend": "most-active","newsWindowHours": 48,"maxItems": 0}
Output
One dataset item per contract, with the flags and the news count attached. A contract with no flags is still returned, with signalCodes empty, so you can see what was considered.
| Field group | Fields |
|---|---|
| Contract | status, contractSymbol, tickerSymbol, contractType, strike, expirationDate |
| Premium | value, changePercent, underlyingPrice |
| Signals | signalCodes, impliedVolatilityPercent |
| Context | newsCount |
{"status": "ok","contractSymbol": "AAPL261218C00320000","tickerSymbol": "AAPL","contractType": "call","strike": 320.0,"expirationDate": "2026-12-18","value": 14.85,"changePercent": -6.31,"underlyingPrice": 319.97,"impliedVolatilityPercent": 28.4,"signalCodes": ["volume-above-open-interest","iv-elevated"],"newsCount": 4}
Integrations
Run it over the API and get the rows back in one call:
curl -X POST "https://api.apify.com/v2/acts/publicmoney~options-signals-mini/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"route": "trend", "trend": "most-active", "newsWindowHours": 48, "maxItems": 0}'
From Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("publicmoney/options-signals-mini").call(run_input={"route": "trend", "trend": "most-active", "newsWindowHours": 48, "maxItems": 0})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["tickerSymbol"], item["value"])
Give an AI agent the Actor over MCP:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=publicmoney/options-signals-mini"}}}
Schedules run it on any cron, webhooks fire when a run finishes, and platform integrations push the dataset to Google Sheets, Slack, Airtable, Zapier or your own endpoint.
Cost
Pay per event, so you pay for records rather than compute time.
| Event | Free tier | Top volume tier |
|---|---|---|
| Contract record | $0.01 | $0.004 |
| Actor start | $0.00005 per GB | Same |
Two things are charged. The contract record above is this Actor's own event. On top of that it runs the Yahoo Finance Options and news Actors as child runs on your account, and each charges its own per-record price, which will not appear in this Actor's usage total. A narrower trend and a smaller Contracts per ticker is the lever. A record that returned no data is never charged.
Troubleshooting
| Issue | Solution |
|---|---|
signalCodes is empty on every contract | Nothing crossed a threshold in that screener today. That is a real answer, not a failure. |
newsCount is always zero | Widen News window hours. A 48 hour window on a quiet name legitimately finds nothing. |
| The run costs more than the record price suggests | The child Actors charge their own per-record price on your account, and those charges are not in this Actor's usage total. |
| The run is slower than the options Actor alone | It starts child runs and waits for them. Narrow the trend or cut Contracts per ticker. |
| A flag fired that I disagree with | The flags are thresholds, not advice. signalCodes names each one so you can filter to the ones you trust. |
FAQ
What counts as unusual options activity?
Here it is explicit rather than a black box: each flag in signalCodes is a named threshold, such as volume above open interest or implied volatility elevated against its own recent range. You can filter to the flags you believe and ignore the rest.
Why does it include news?
Because a screener alone cannot tell you whether a move has a cause. newsCount inside your window is the cheapest signal for that, and it is the difference between a list to research and a list to act on.
Why is it priced above the single-source Actors?
One record fans out into child runs against the options and news Actors, and those charge their own per-record price on your account. The cost section spells it out.
Can I use my own flag thresholds?
Not in the input. What you can do is read the underlying numbers, which are all in the record, and apply your own rule downstream.
Does it return historical signals?
No. Each record is current. Schedule it and let the dataset accumulate to get a history of what fired when.
Do I need a Yahoo Finance API key?
No. You need an Apify token to call the Actor over the API. No Yahoo Finance credential is involved anywhere.
Can I get this data in Python?
Yes, with the apify-client package as shown above. It returns parsed JSON, so there is no HTML or response handling on your side.
Can I get the data into Excel or Google Sheets?
Yes. Export the dataset as XLSX or CSV, or connect the Google Sheets integration so each run appends to a sheet.
Can an AI agent call this Actor?
Yes. Add it to an MCP client with the config above and the model can request what it needs on its own. Every record is flat JSON with named fields, so no post-processing is needed.
Is it legal to scrape Yahoo Finance?
This Actor reads public Yahoo Finance data that needs no login and collects no personal data. Scraping public data is generally lawful, and how you store, redistribute or act on market data is governed by your own agreements and local rules. Take your own legal advice for your use case.
Changelog
- 0.0.1 First release. Trend and ticker routes with flags and news context.
Feedback
Found a field Yahoo Finance publishes that this Actor misses, or an input it rejects? Open an issue on the Issues tab with the input and what you expected. A daily test runs every Actor in the fleet against live sources, so parser fixes ship fast.