Skip to main content
A ticker call is one analyst’s position on one symbol, with the quote behind it. GET /api/v2/stock-picks returns those calls grouped by day; GET /api/v2/tickers/{ticker} returns the calls on a single ticker grouped by analyst — the same rows, re-keyed.

GET /api/v2/tickers/search

Ticker autocomplete. q is a symbol fragment (max 10 characters); limit is 1-15. Omit q for the most-traded tickers. Free, no auth.
Returns { "query", "count", "tickers": [...] } ranked by how often the desk calls the ticker.

GET /api/v2/tickers/{ticker}

Resolves the caller’s plan from the bearer credential first, then either serves the request from the subscription window or routes wallet callers through the pay-per-use flow.

Subscription access (Bearer API key, OAuth token, or session JWT)

  • PRO / EXPERT are served free with the live window (up to today).
  • An API key without a subscription is rejected with 403 and reason: "subscription_required".
  • An authenticated caller without a paid plan spends Drip credits.

Pay-per-use (anonymous)

No free API access without a credential. Pay per use with an x402 client. The pay-per-use path serves the free 7-day-delayed window; subscribers read the live window.

Query parameters

Response

Reading stance correctly

  • sentiment is the only stance signal. direction is retired.
  • summary.byAction exists because stance alone lies. An EXIT + BEARISH pick is a closed short — Burry covering his position still reads as a bearish call if you only count sentiment. Cross-check byAction before claiming a desk is bearish.
  • analysts counts each analyst once, however many calls they made.
  • sentiment is null when the stored value was not one of the three — it is counted in calls but in no stance bucket, never guessed.

Per-mention indicators

Each mention carries the same fields as the picks feed: thesis (AI-generated summary of the stated reasoning — the readable body for a podcast guest, whose evidenceQuote is often throwaway chatter), rationaleSnippet, timeframe (+ timeframeQuote), priceTarget (+ priceTargetQuote) and underlyingTarget (+ underlyingTargetQuote). Each indicator quotes where the analyst said it.

Errors