Guides · Vanoe Market Intelligence API
Stock verdict API: is this stock a buy right now, with the reasoning
The verdict endpoint answers the question every other endpoint feeds into: should I be accumulating this stock right now? It fuses four independent signals into one 0–100 score and a stable verdict enum, and it writes the reasoning out so a person, a bot or an AI agent can see why, not just what.
What goes into the score
Five factors, each scored 0–100 with its own sentence of rationale, then weighted: trend stage (35%) from a 30-week moving-average model, Point & Figure (22.5%) for breakouts and relative strength, insider activity (22.5%) from SEC Form 4 transactions in the last 14 days, the macro regime (10%), and short pressure (10%) from FINRA: the share of a stock's volume sold short over the last ten trading days, scored against the market norm of roughly 40–55% with a nudge for the trend, then adjusted by the latest twice-monthly short-interest report (days to cover of 10 or more reads as a crowded short; a jump or drop of 10% on the prior report says which way the shorts are moving). Two rules keep the score honest: a Stage 2 name that has run far above its 30-week average is trimmed (full marks up to 15% above, then stepped down to 55 beyond 35%, with the rationale naming the extension as late-stage risk), and a quiet insider window is treated as no evidence rather than a neutral score, so the factor drops out and the others are re-weighted. The same re-weighting applies when a data source is unavailable for a request, so an outage never poisons a score. New factors (short interest first) are added as extra keys when their source is wired; existing keys never change meaning.
The verdict enum
accumulate (score 70 and above), hold (50–70), distribute (35–50) and avoid (below 35). confidence reflects how many factors were available and how strongly they agree. These are labels for a computed score, not advice; the factor detail is there precisely so you can disagree with the weighting.
When it changes
Inputs are end-of-day. The response carries as_of (the last price bar it used), freshness: end_of_day and suggested_recheck_seconds: 86400, so a scheduled job or an agent knows to ask again tomorrow, not every minute.
Request
curl -H "Authorization: Bearer sk_live_…" \
"https://api.vanoe.ai/v1/verdict/NVDA"
Response
{
"data": {
"ticker": "NVDA", "verdict": "accumulate", "score": 70.6, "confidence": "high",
"factors": {
"stage": {"available": true, "score": 85.0, "rationale": "Price is 10.99% above a rising 30-week moving average — Stage 2 (Advancing), which reads as buy/hold."},
"pnf": {"available": true, "score": 85.0, "rationale": "Double Top Breakout on the P&F chart, currently in a rising X column (demand); relative strength vs SPY is positive."},
"insider_activity": {"available": true, "score": 35.0, "rationale": "0 distinct insider buyer(s) vs 2 seller(s) in the last 14 days — net insider selling."},
"macro_regime": {"available": true, "score": 70.0, "rationale": "Risk-on backdrop: HY credit spreads tight at 2.67%; curve positively sloped (+41bps 2s10s); labor market firm (206k initial claims)."},
"short_pressure": {"available": true, "score": 50.0, "rationale": "43% of volume sold short over the last 10 trading days — typical shorting versus a market norm of roughly 40-55%."}
},
"weights": {"stage": 0.35, "pnf": 0.225, "insider_activity": 0.225, "macro_regime": 0.1, "short_pressure": 0.1},
"rationale": "NVDA scores 70.6/100 (accumulate), driven mainly by stage and pnf. …",
"as_of": "2026-09-09"
},
"as_of": "2026-09-09", "freshness": "end_of_day", "suggested_recheck_seconds": 86400,
"disclaimer": "Informational data only. Not financial advice. This is not a recommendation, solicitation, or offer to buy or sell any security."
}
Cost: 5 credits per call (one call replaces the four underlying signals).
Fields
| verdict | accumulate · hold · distribute · avoid |
| score | 0–100 weighted composite |
| confidence | low · medium · high, from factor availability and agreement |
| factors.*.available | false when a data source is not yet wired; weight is renormalised |
| factors.*.rationale | one sentence per factor, quotable as-is |
| as_of | date of the last price bar used |
Questions
Is this a buy or sell recommendation?
No. It is a computed score from published methods applied to public and licensed data, with the reasoning shown so you can weigh it yourself. It is informational data only and not financial advice.
Which markets are covered?
US-listed stocks and ETFs. Tickers use the usual US symbol, for example NVDA, AAPL or SPY.
How often should I call it?
Once a day per ticker is enough; the inputs are end-of-day and the response says when to recheck.
How much does a verdict cost?
5 credits. The free plan includes 1,000 credits a month, so about 200 verdicts, with no card required.
Try it
Free tier: 1,000 credits a month, no card. Every response is informational data only, not financial advice.
Related guides
- Stage analysis API: which of the four trend stages a stock is in
- Point & Figure API: breakout signals and relative strength as JSON
- Insider trading API: SEC Form 4 buys and sells per ticker
- Macro regime API: is the market risk-on or risk-off today?
- Short interest API: shares short, days to cover, and daily short-sale volume