Skip to main content

Overview

POST /v1/screen checks compliance for up to 50 symbols in one request, so you can screen a portfolio or a watchlist without one call per stock. Each result has a compliance_status. For the ratios behind it, call /compliance for that symbol (see Enrich with per-stock screens).

Screen a list of symbols

Pass a symbols array. A sandbox key works with the 12 sandbox instruments.

Response

data is an array with one row per screened stock, each with a compliance_status of compliant, non-compliant or pending.
/screen screens stocks only. Unknown tickers and ETF tickers come back in meta.not_found, and meta.etfs lists the ETF tickers among them, to look up with GET /etfs/{symbol}. On the sandbox, requested symbols outside the sandbox universe come back in meta.sandbox_restricted. Both meta.etfs and meta.sandbox_restricted are present only when they have symbols. Filter on the status:
A compliance_status of pending means we haven’t analyzed the instrument yet, so it has no screens. Handle pending analysis shows how to treat these.

Enrich with per-stock screens

POST /screen returns the status per symbol. To show why a stock passed or failed, fetch its three financial screens from GET /instruments/{symbol}/compliance.
Each financial screen has a result of "pass", "fail" or "not_applicable". There is no boolean passes field, so check screens.debt_to_market_cap.result === "pass". The three financial screen keys are always: value and threshold are decimals (0.30 = 30%) and buffer is in percentage points.

Limits

A single /screen request accepts at most 50 symbols. Split larger portfolios into batches of 50.
With the Plus or Developer plan, you can also screen the analyzed universe by filter (compliance status, sector, market cap, financial health or country) instead of listing symbols. On the sandbox, pass a symbols array.