Signals

Signal Screener

Cross-sectional sweep of the covered universe on the latest model-run date: rank tickers by signal strength or quality, optionally filtered by direction, sector, and a minimum quality floor. Returns at most 50 rows. Pay-as-you-go keys are ranked across the tickers their plan covers today, not the full universe: the response says so in universe (plan_cohort) and universe_note. Billing/DB note: top only truncates the response. Ranking requires reading the filtered cube date (often the full universe), so top=10 and top=50 do essentially the same Mongo work — see response field scanned and the usage meter (db_docs). Prefer sector filters to shrink work.

get/screener

Request

  • Base URL: https://api.falpha.ai
  • URL: https://api.falpha.ai/screener
  • Auth: one of:
    • API key in query parameter api_key
    • API key in header X-API-Key

Query parameters

periodstring

Signal horizon: 5d, 15d, or 2m

regimestring

Market regime: neutral, bear, or bull

directionstring

Filter by signal direction: buy, sell, or any

sectorstring nullable

Optional sector filter (e.g. 'energy', 'informationtechnology')

min_qualitynumber nullable

Minimum quality (Sharpe-ratio proxy) floor; rows without a quality value are excluded when set

rank_bystring

Ranking key: confidence (absolute signal score) or quality (Sharpe-ratio proxy)

topinteger

Number of rows to return (max 50). Does not reduce DB scan size.

Response

Successful Response

as_ofstring date-time nullable

Model-run date of the screened signal cube (latest available)

periodstring required
regimestring required
directionstring required

Direction filter applied: buy, sell, or any

sectorstring nullable

Sector filter applied, if any

rank_bystring required

Ranking key: confidence or quality

countinteger required
scannedinteger required

Docs considered from the cube date (after sector filter, before top truncate). top only caps results — DB work is O(scanned), so top=10 and top=50 cost the same.

universestring

Which set was ranked: 'covered_universe' (every covered ticker, after any sector filter) or 'plan_cohort' (only the tickers the caller's pay-as-you-go plan covers today). A ranking over a cohort is complete for that cohort and is NOT a ranking of the universe.

universe_notestring nullable

Plain statement of what was ranked, present whenever universe is not the full covered universe.

Example response

{
  "as_of": "2026-07-13T00:00:00",
  "count": 2,
  "direction": "buy",
  "period": "15d",
  "rank_by": "confidence",
  "regime": "neutral",
  "results": [
    {
      "confidence": 0.61,
      "date": "2026-07-13T00:00:00",
      "quality": 0.44,
      "signal": "buy",
      "ticker": "XOM"
    },
    {
      "confidence": 0.55,
      "date": "2026-07-13T00:00:00",
      "quality": 0.29,
      "signal": "buy",
      "ticker": "CVX"
    }
  ],
  "scanned": 120,
  "sector": "energy",
  "universe": "covered_universe"
}

Changes

No recorded changes to this operation across all 1 revision of this API.