Skip to main content
POST

Request body

Required. JSON with: Common field names include: marketcap, pricetoearnings, roe, volume, open_price, dilutedeps, cashandequivalents, pricetobook, pricetosales, and others supported by the screener.

Query parameters

Response

Success returns 200 OK with a JSON array. Each element has:
  • security — Identity and metadata: id, company_id, stock_exchange_id, exchange, exchange_mic, name, code, currency, ticker, composite_ticker, figi, composite_figi, share_class_figi, primary_listing (fields may be null).
  • data — Array of screened tag values: each object has tag (e.g. pricetoearnings, marketcap), number_value, and text_value (one of which may be null).

Examples

Market cap + P/E filter

ROE + EPS filter

P/B and P/S (value stocks)

Volume + open price range

Cash-rich, large cap

Primary listings only

Authorizations

Authorization
string
header
required

OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.

Query Parameters

page_size
integer

Number of results to return per page. Use smaller values (10–50) for UI screens, larger (100–500) for batch exports. Defaults to the upstream provider's default.

Required range: 1 <= x <= 50000
order_column
string

Which data column to sort the screened results by. Accepts any column the upstream screener exposes — not a fixed enum on our side. Common columns:

  • marketcap — market capitalization.
  • pricetoearnings — trailing P/E ratio.
  • pricetobook — price-to-book ratio.
  • roe — return on equity.
  • volume — average daily volume.
  • open_price / close_price — most recent open / close.
  • dilutedeps — diluted earnings per share (TTM).
  • cashandequivalents — cash + cash equivalents on the balance sheet.

Pair with order_direction (asc / desc).

order_direction
enum<string>

Direction to sort order_column in:

  • asc — ascending (smallest first).
  • desc — descending (largest first). Sort direction for results. Use ascending for oldest or smallest first, descending for newest or largest first.
Available options:
asc,
desc
Example:

"asc"

primary_only
string

When true, return only the primary listing for each company (e.g. NYSE for a U.S. dual-listed stock) instead of every listing. Defaults to false.

Body

application/json

Screener request with operator (AND/OR), clauses (field, operator, value), and optional groups.

Request body for POST /v1/stock/screener. At least one of clauses or groups must be non-empty.

operator
enum<string>
required

Logical operator for combining clauses: AND, OR, or NOT

Available options:
AND,
OR,
NOT
clauses
object[]

List of filter conditions (field, operator, value). Required unless groups is non-empty.

groups
object[]

Optional nested groups of clauses for complex logic

Response

Array of screened securities; each item has security (id, ticker, name, etc.) and data (array of tag, number_value, text_value)

security
object

Security identity and metadata

data
object[]

Screened data-tag values (e.g. pricetoearnings, marketcap)