v1
latestOpenAPI 3.0.32026-07-2664108290.0 KBSGX Companies Screener
High-performance API for filtering and sorting SGX-listed companies. Supports both structured SQL-like queries (where, order_by) and natural language queries (q). Returns a paginated list of companies.
Query modes (mutually exclusive — q overrides all others):
- q: Natural language, e.g. top 5 SGX banks by market cap
- where + order_by: SQL-like structured query
<Note>SGX symbol: 3 characters (letters or digits). E.g. D05, U11, Z74. No suffix.</Note>
<Note>SGX sector column contains duplicate variants (e.g. Consumer Cyclical / Consumer Cyclicals, Financial Services / Financials, Real Estate / Properties & Real Estate / REIT) pending upstream cleanup. To capture all matching companies, query with OR (e.g. sector = 'Real Estate' OR sector = 'Properties & Real Estate' OR sector = 'REIT').</Note>
<Accordion title="Smart FY Handling"> To account for reporting lags, 'latest year' queries made between January and April default to the previous audited year (e.g. a query in early 2026 uses 2024 data). </Accordion> <Accordion title="Syntax and Operators"> **Operators:** `=`, `!=`, `>`, `>=`, `<`, `<=`, `like`, `in`Logic: combine conditions with and and or
String values: use single or double quotes — sector = 'Technology'
Lists (for in): tags in ['blue-chip', 'dividend'] </Accordion>
<Accordion title="Yearly Data"> Access historical data using bracket notation: `field[YYYY]`Examples: revenue[2023] > 1000000000 or total_yield[2024] > 0.05
Note: SGX data is annual only — there is no quarterly data. </Accordion>
<Accordion title="Arithmetic Expressions"> Perform calculations within your query on both sides of a condition.Examples: earnings[2024] > earnings[2023] * 1.25 or revenue[2024] / revenue[2023] > 1.5 </Accordion>
<Accordion title="SGX-Specific Limitations"> Some IDX screener features are **not available** for SGX due to data scope:- No person / entity ownership queries — no executives, major_shareholders, or affiliates fields.
- No peer averages — no pe_peer_avg, pb_peer_avg, etc.
- No free_float field.
- No quarterly data — only annual fields like revenue[2024].
- Coverage caveats: yearly fields marked [Big caps only] are populated only for ~22 large-caps; fields marked [Banks only] are populated only for DBS / OCBC / UOB. </Accordion>
- symbol: SGX ticker symbol (3 characters, e.g. D05, U11, Z74)
- company_name: Full registered company name
- sector: SGX sector classification. NB: source data contains duplicate labels (e.g. Consumer Cyclical vs Consumer Cyclicals, Financial Services vs Financials) — pending upstream cleanup.
- sub_sector: SGX sub-sector classification (126 distinct values)
- market_cap: Market capitalisation in SGD
- volume: Recent average daily trading volume (shares)
- last_close_price: Most recent close price in SGD
- employee_num: Total number of employees
- pe: Price-to-earnings ratio
- eps: Earnings per share (SGD)
- beta: Beta vs SGX market
- ps: Price-to-sales ratio
- pcf: Price-to-cash-flow ratio
- pb: Price-to-book ratio
- gross_margin: Gross profit margin (decimal, e.g. 0.45 = 45%)
- operating_margin: Operating profit margin (decimal)
- net_profit_margin: Net profit margin (decimal)
- quick_ratio: Quick ratio (acid test)
- current_ratio: Current ratio
- debt_to_equity: Debt-to-equity ratio
- one_year_eps_growth: 1-year EPS growth (decimal)
- one_year_sales_growth: 1-year sales (revenue) growth (decimal)
- forward_dividend: Forward annual dividend per share in SGD
- forward_dividend_yield: Forward annual dividend yield (decimal)
- dividend_ttm: Trailing-twelve-month dividend per share in SGD
- dividend_yield_5y_avg: 5-year average dividend yield (decimal)
- dividend_growth_rate: Year-over-year dividend growth rate (decimal)
- payout_ratio: Dividend payout ratio (decimal)
- change_1d: 1-day price change (decimal)
- change_7d: 7-day price change (decimal)
- change_1m: 1-month price change (decimal)
- change_ytd: Year-to-date price change (decimal)
- change_1y: 1-year price change (decimal)
- change_3y: 3-year price change (decimal) </Accordion>
- tags: Analyst sentiment / classification tags </Accordion>
- ytd_low_price: Year-to-date lowest closing price in SGD
- ytd_low_date: Date of the year-to-date lowest closing price
- ytd_high_price: Year-to-date highest closing price in SGD
- ytd_high_date: Date of the year-to-date highest closing price
- 52_w_low_price: 52-week lowest closing price in SGD
- 52_w_low_date: Date of the 52-week lowest closing price
- 52_w_high_price: 52-week highest closing price in SGD
- 52_w_high_date: Date of the 52-week highest closing price
- 90_d_low_price: 90-day lowest closing price in SGD
- 90_d_low_date: Date of the 90-day lowest closing price
- 90_d_high_price: 90-day highest closing price in SGD
- 90_d_high_date: Date of the 90-day highest closing price
- all_time_low_price: All-time lowest closing price in SGD
- all_time_low_date: Date of the all-time lowest closing price
- all_time_high_price: All-time highest closing price in SGD
- all_time_high_date: Date of the all-time highest closing price </Accordion>
- revenue: Annual revenue in SGD. Use: revenue[2024].
- earnings: Annual net profit/loss in SGD. Use: earnings[2024].
- total_dividend: Total dividends paid per share for the year (SGD). Use: total_dividend[2024].
- total_yield: Total dividend yield for the year (decimal). Use: total_yield[2024].
- operating_cash_flow: Operating cash flow in SGD. Use: operating_cash_flow[2024]. (coverage: Big caps only)
- investing_cash_flow: Investing cash flow in SGD. Use: investing_cash_flow[2024]. (coverage: Big caps only)
- financing_cash_flow: Financing cash flow in SGD. Use: financing_cash_flow[2024]. (coverage: Big caps only)
- free_cash_flow: Free cash flow in SGD. Use: free_cash_flow[2024]. (coverage: Big caps only)
- net_cash_flow: Net cash flow in SGD. Use: net_cash_flow[2024]. (coverage: Big caps only)
- capital_expenditure: Capital expenditure in SGD. Use: capital_expenditure[2024]. (coverage: Big caps only)
- ebit: EBIT (earnings before interest and tax) in SGD. Use: ebit[2024]. (coverage: Big caps only)
- ebitda: EBITDA in SGD. Use: ebitda[2024]. (coverage: Big caps only)
- gross_income: Gross income in SGD. Use: gross_income[2024]. (coverage: Big caps only)
- cost_of_revenue: Cost of revenue in SGD. Use: cost_of_revenue[2024]. (coverage: Big caps only)
- operating_income: Operating income in SGD. Use: operating_income[2024]. (coverage: Big caps only)
- operating_expense: Operating expense in SGD. Use: operating_expense[2024]. (coverage: Big caps only)
- pretax_income: Pre-tax income in SGD. Use: pretax_income[2024]. (coverage: Big caps only)
- income_taxes: Income taxes paid in SGD. Use: income_taxes[2024]. (coverage: Big caps only)
- total_asset: Total assets in SGD. Use: total_asset[2024]. (coverage: Big caps only)
- total_equity: Total equity in SGD. Use: total_equity[2024]. (coverage: Big caps only)
- total_liabilities: Total liabilities in SGD. Use: total_liabilities[2024]. (coverage: Big caps only)
- working_capital: Working capital in SGD. Use: working_capital[2024]. (coverage: Big caps only)
- total_current_asset: Total current assets in SGD. Use: total_current_asset[2024]. (coverage: Big caps only)
- total_non_current_asset: Total non-current assets in SGD. Use: total_non_current_asset[2024]. (coverage: Big caps only)
- net_interest_income: Net interest income in SGD. Use: net_interest_income[2024]. (coverage: Banks only)
- interest_income: Total interest income in SGD. Use: interest_income[2024]. (coverage: Banks only)
- interest_expense: Total interest expense in SGD. Use: interest_expense[2024]. (coverage: Banks only)
- net_fee_and_commission_income: Net fee and commission income in SGD. Use: net_fee_and_commission_income[2024]. (coverage: Banks only)
- net_trading_income: Net trading income in SGD. Use: net_trading_income[2024]. (coverage: Banks only)
- net_loan: Net loans outstanding in SGD. Use: net_loan[2024]. (coverage: Banks only)
- gross_loan: Gross loans outstanding in SGD. Use: gross_loan[2024]. (coverage: Banks only)
- total_deposit: Total customer deposits in SGD. Use: total_deposit[2024]. (coverage: Banks only)
- core_capital_tier1: Core capital (Tier 1) in SGD. Use: core_capital_tier1[2024]. (coverage: Banks only)
- total_risk_weighted_asset: Total risk-weighted assets in SGD. Use: total_risk_weighted_asset[2024]. (coverage: Banks only) </Accordion>
<Info>Costs 1 API credit for structured queries. Using the natural-language ?q= parameter costs 3 API credits.</Info>
Query parameters
SQL-like conditions for advanced filtering. Ignored if q is present. Supports operators =, !=, >, >=, <, <=, like, in combined with and/or. Use bracket notation for yearly fields: revenue[2024] > 1000000000. Supports arithmetic on both sides: earnings[2024] / earnings[2023] > 1.25.
A natural language query (e.g. top 5 SGX banks by market cap). When q is provided, all other query parameters (where, order_by, etc.) are ignored as the LLM will generate them.
Field to sort results by. Use - prefix for descending order (e.g. -market_cap). Supports arithmetic expressions (e.g. -(earnings[2024]/earnings[2023])). Ignored if q is present.
Sort in descending order. Ignored if q is present.
Maximum number of results to return. Max: 200. Ignored if q is present.
Number of results to skip for pagination. Ignored if q is present.
If true, the response includes a query_values object showing the field values used in filtering/sorting.
Response
Paginated list of SGX companies matching the query.