stocks

Fundamental stock screener built on SEC EDGAR XBRL Frames...

Fundamental stock screener built on SEC EDGAR XBRL Frames — screen every public filer on a reported financial concept for one period, in a single call. Absolute mode: give a concept (e.g. Revenues, NetIncomeLoss, Assets), a period (CY2023 annual, CY2024Q1 quarter, CY2024Q1I instant), and an optional op/value to filter (e.g. Revenues gte 10000000000 → companies with >= $10B FY2023 revenue). Ratio mode: add ratioConcept to compute concept / ratioConcept per company joined by CIK, then op/value filter the ratio (e.g. concept=GrossProfit, ratioConcept=Revenues, op=gte, value=0.7 → gross margin >= 70%). Returns matching companies with CIK, entity name, value (and ratio), sorted, plus meta with the total matched and the screenable universe size. Free, public-domain (SEC EDGAR).

get/api/stocks/screener

Request

  • Base URL: https://2s.io
  • URL: https://2s.io/api/stocks/screener
  • Auth: API key in header PAYMENT-SIGNATURE

Query parameters

conceptstring required

XBRL us-gaap concept, e.g. Revenues, GrossProfit, NetIncomeLoss, Assets.

periodstring required

CY2023 (annual), CY2024Q1 (quarter), CY2024Q1I (instant, for balance-sheet items).

unitstring

Unit (default USD).

op'gt' | 'gte' | 'lt' | 'lte'

Comparison operator (with value). Filters the concept value, or the ratio when ratioConcept is set.

valuenumber

Comparison threshold (with op). For ratios use a fraction, e.g. 0.7 for 70%.

ratioConceptstring

Optional second XBRL concept; computes ratio = concept / ratioConcept per company (joined by CIK), and op/value then filter the ratio.

sort'asc' | 'desc'

Sort by value/ratio (default desc).

limitinteger

Max companies (1-100, default 25).

trial1

Try before you buy. Set to 1 for one free real call per endpoint per hour — no wallet or payment needed — to verify the endpoint before paying. Equivalent to sending the "X-2s-Trial: 1" request header. Listed only on operations that offer a trial; the others always answer 402.

Response

(unresolved $ref)

Changes

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