# SGX Endpoint Discovery Generated: 2026-06-24T09:41:50.973290+00:00 # Knowledge-Derivative Section This section maps the 15 trader objectives defined in `build.md` to the discovered SGX endpoints. It indicates which endpoints appear useful as-is, which need cross-referencing, and which are blocked or returned error payloads and require further investigation. File paths are relative to `/home/thanthos/Documents/workspace/agents_workspace/app_sgx_scrapper/discovery/`. ## 1. Market Trend **Relevant API:** `INDICES_API_URL` **Remarks:** `cache/INDICES_API_URL.json` returns 854 index records. The key fields for trend monitoring are `n` (index name), `c` (change), `lp` (last price), `op` (open), `h` (high), `l` (low), `pc` (previous close), `vl` (volume/value) and `trading_time`. One of the records is the Straits Times Index (`n` = "Straits Times Index", `pid` = ".STI"), so this endpoint can directly feed the STI trend view.
*Update (2026-06-25):* Browser recon proved `/indices/v1.0/charts/intraday/pid/.STI/{period}?params=lp,trading_time,vl` and `/charts/historic/pid/.STI/{period}?params=...` work for intraday and daily STI trend charts. ## 2. Sector Taxonomy **Relevant API:** `V1_SECURITIES_CPFIS_LIST_URL` **Remarks:** `cache/V1_SECURITIES_CPFIS_LIST_URL.json` contains 1,285 securities and the field `Sector (SSIC Standard)` together with `Full Name`, `Market`, `Status` and `CPFIS` eligibility. This is the most direct source found for classifying SGX-listed instruments into SSIC sectors. `METADATA_API_URL` was also inspected, but its `sector` and `industry` fields were largely empty in the sampled records, so it is not currently reliable for sector taxonomy. ## 3. Sector Heat Maps **Relevant APIs:** `INDICES_API_URL`, `SECURITIES_API_URL`, `V1_SECURITIES_CPFIS_LIST_URL` **Remarks:** No single endpoint produces a ready-made sector heat map. `cache/INDICES_API_URL.json` does contain sector-themed indices (e.g. FTSE ST Industrials, FTSE ST Telecommunications, iEdge S-REIT Index) which can be used as sector-level proxies. `cache/SECURITIES_API_URL.json` provides 1,313 price records with `change_vs_pc_percentage`, `vl`/`v` (volume/value), `nc` (stock code) and `cur` (currency). By joining these prices with the SSIC sector mapping from `cache/V1_SECURITIES_CPFIS_LIST_URL.json`, an aggregate sector performance heat map can be derived.
*Update (2026-06-25):* Browser recon proved `https://api.sgx.com/securities/v1.1/sectorbreakdown` returns a ready-made 20-sector heat map with `change` and `changePercentage`, plus per-sector total volume/value. `THIRDPARTY_INDICES_API_URL` is accessible via `/thirdpartyindices/v1.0/chinabonds`; further sub-paths for other third-party benchmarks are still to be discovered. ## 4. Earnings Calendar **Relevant APIs:** `V1_CORPORATE_ANNOUNCEMENTS_LIST_URL`, `ANNOUNCEMENTS_API_URL`, `MEETING_SCHEDULES_API_URL`, `CORPORATE_ACTIONS_API_URL`, `CORPORATE_INFORMATION_API_URL`, `CIRCULARS_API_URL` **Remarks:** `cache/V1_CORPORATE_ANNOUNCEMENTS_LIST_URL.json` contains 2,984 announcement entries with `IssuerName`, `SecurityName`, `AnnouncementTitle`, `Date`, `Time` and `BroadcastDateTime`. Titles such as "Financial Statements" or "Results" can be filtered to build an earnings calendar. `cache/MEETING_SCHEDULES_API_URL.json` lists 27 upcoming meetings (AGMs/EGMs) with `meetingDateTime`, `issuerName` and `announcementTitle`, useful for confirming reporting dates. `cache/CORPORATE_ACTIONS_API_URL.json` includes dated corporate actions (`exDate`, `datePaid`, `dateAnnc`) and `particulars` that can contain dividend/coupon notices around earnings seasons.
*Update (2026-06-25):* `ANNOUNCEMENTS_API_URL` is accessible when called with an `authorizationtoken` header and the correct sub-path (`/count`, `/?periodstart=...&periodend=...&pagestart=...&pagesize=...`, `/summary/company`). This is now the preferred source for paginated, filterable earnings/announcement data. Browser recon also proved the paginated list sub-paths for `MEETING_SCHEDULES_API_URL` and `CORPORATE_INFORMATION_API_URL`, which can be joined with announcement data to confirm issuer details, meeting dates, and reporting timelines. `CIRCULARS_API_URL` (`/circulars/v1.0`) provides prospectus and supplement documents that often accompany earnings seasons and new issuance. ## 5. Liquidity Screen **Relevant APIs:** `SECURITIES_API_URL`, `STOCKSCREENER_API_URL` (v2.0) **Remarks:** `cache/SECURITIES_API_URL.json` returns 1,313 security price records with volume/value fields (`v`, `vl`), last price (`lt`), bid/ask sizes (`bv`, `sv`), board lot (`bl`) and currency (`cur`). Average daily volume can be computed by combining this snapshot with historical trade files. However, market capitalisation is not present in the original accessible endpoints.
*Update (2026-06-25):* Browser recon found `/stockscreener/v2.0/all?params=marketCapitalization,salesTTM,priceToEarningsRatio,dividendYield,fourWeekPricePercentChange,thirteenWeekPricePercentChange,twentySixWeekPricePercentChange,fiftyTwoWeekPricePercentChange,netProfitMargin,returnOnAvgCommonEquity,priceToCashFlowPerShareRatio,totalDebtToTotalEquityRatio,salesPercentageChange,sector,priceToBookRatio,priceCurrCode`. It returns ~701 records with `marketCapitalization`, P/E, yield, price-change windows, margins, ROE, debt/equity, sector, and price currency, which directly supports the liquidity and quant screen. `STOCKS_API_URL` (TRKD) remains unresolved. ## 6. Volatility (ATR%) **Relevant APIs:** `V1_SECURITIES_HISTORICAL_LIST_URL`, `SECURITIES_API_URL` **Remarks:** `cache/V1_SECURITIES_HISTORICAL_LIST_URL.json` does not contain OHLC data directly; instead it returns 21 daily rows with `Trade Date`, `Price WinZip File Link` and `Price File Link` pointing to downloadable `.zip`/`.dat` historical price files. These files are the source needed to calculate weekly ATR%. `cache/INDICES_API_URL.json` gives current index OHLC for the STI and sector indices. `V1_CHART_API_URL` might provide pre-computed chart data, but it returned "Not a valid request !" and requires query parameters; it is deferred.
*Update (2026-06-25):* Browser recon proved per-stock chart endpoints: `/securities/v1.1//charts/historic/stocks/code/{code}/{1w,1m,1y,5y}?params=trading_time,vl,lt` and `/securities/v1.1//charts/intraday/stocks/code/{code}/1d?params=...`. These can feed multi-timeframe OHLC and ATR% calculations without downloading daily `.zip` files. ## 7. Relative Strength **Relevant APIs:** `V1_SECURITIES_HISTORICAL_LIST_URL`, `INDICES_API_URL`, `SECURITIES_API_URL`, `V1_SECURITIES_CPFIS_LIST_URL` **Remarks:** Relative strength requires price histories for individual stocks, sector proxies and the STI. `cache/V1_SECURITIES_HISTORICAL_LIST_URL.json` provides download links to daily security price files, which can be used to compute stock returns. `cache/INDICES_API_URL.json` supplies current STI and sector index levels. `cache/V1_SECURITIES_CPFIS_LIST_URL.json` maps each stock to its SSIC sector so that sector-relative strength can be calculated.
*Update (2026-06-25):* Browser recon proved per-stock chart endpoints (`/securities/v1.1//charts/historic/stocks/code/{code}/{period}`) and index chart endpoints (`/indices/v1.0/charts/historic/pid/{pid}/{period}`). These can be used to compute stock vs sector vs STI returns over 1w/1m/1y/5y windows. No endpoint returns pre-computed relative-strength values. ## 8. Catalyst Flags **Relevant APIs:** `V1_CORPORATE_ANNOUNCEMENTS_LIST_URL`, `ANNOUNCEMENTS_API_URL`, `CORPORATE_ACTIONS_API_URL`, `MEETING_SCHEDULES_API_URL`, `IPO_PROSPECTUS_API_URL`, `CIRCULARS_API_URL`, `NLT_API_URL` **Remarks:** `cache/V1_CORPORATE_ANNOUNCEMENTS_LIST_URL.json` is the richest accessible catalyst feed, with announcement titles covering buying-ins, disclosures and corporate events. `cache/CORPORATE_ACTIONS_API_URL.json` provides dated action particulars (dividends, coupons, rights issues) tied to `ibmCode`. `cache/MEETING_SCHEDULES_API_URL.json` gives AGM/EGM dates which often coincide with strategy or results catalysts. `cache/IPO_PROSPECTUS_API_URL.json` lists new listings (`status`, `closing_date`, `name`, `url`) for IPO-related catalysts.
*Update (2026-06-25):* `ANNOUNCEMENTS_API_URL` (authenticated) and `IPO_PERFORMANCE_API_URL` (`?year=YYYY`) are now proven working. `IPO_PERFORMANCE_API_URL` gives first-day/post-listing performance metrics that can flag new-listing catalysts. Browser recon resolved the paginated `CORPORATE_ACTIONS_API_URL` global feed and `CIRCULARS_API_URL` (prospectus/supplement documents), both useful for dividend/rights/new-issue catalysts. `NLT_API_URL` provides large off-market derivative trades that can flag institutional positioning. Insider-buying and analyst upgrades are still not directly available from any accessible endpoint. ## 9. Multi-Timeframe Charts **Relevant APIs:** `V1_SECURITIES_HISTORICAL_LIST_URL`, `SECURITIES_API_URL`, `INDICES_API_URL` **Remarks:** Chart data is not delivered as a ready chart object. `cache/V1_SECURITIES_HISTORICAL_LIST_URL.json` provides links to historical daily price files in `.zip` and `.dat` formats. Once downloaded and parsed, monthly/weekly/daily OHLC series can be built. `V1_CHART_API_URL` would be the natural candidate for pre-rendered or raw chart data, but it returned an invalid-request message and is deferred.
*Update (2026-06-25):* Browser recon found both index charts (`/indices/v1.0/charts/{intraday,historic}/pid/{pid}/{period}`) and stock charts (`/securities/v1.1//charts/{intraday,historic}/stocks/code/{code}/{period}`). These support 1d intraday, 1w, 1m, 1y, and 5y historic views, enabling monthly → weekly → daily multi-timeframe analysis. ## 10. Fundamentals **Relevant APIs:** `FINANCIAL_STATEMENT_REPORTS_API_URL`, `RATIOS_REPORTS_API_URL`, `SNAPSHOT_REPORTS_API_URL`, `STOCKSCREENER_API_URL` (v2.0), `FINANCIAL_REPORTS_API_URL` **Remarks:** `cache/CORPORATE_INFORMATION_API_URL.json` only has basic company metadata (incorporation date, country, listed date, trading currency, market), and the original discovery endpoints did not expose revenue, earnings, margin, FCF or balance-sheet data.
*Update (2026-06-25):* Browser recon on `investors.sgx.com` uncovered a family of `api.sgx.com` v2.0 reporting endpoints: - `/financialstatementreports/v2.0/balanceSheet/countryCode/SGP/stockCode/{code}?params=all` - `/financialstatementreports/v2.0/cashFlow/countryCode/SGP/stockCode/{code}?params=all` - `/financialstatementreports/v2.0/incomeStatement/countryCode/SGP/stockCode/{code}?params=all` - `/ratiosreports/v2.0/countryCode/SGP/stockCode/{code}?params=...` (market cap, P/E, EPS, margins, ROA/ROE, debt/equity, dividend yield, beta, 52-week range, analyst consensus, target price) - `/snapshotreports/v2.0/countryCode/SGP/stockCode/{code}?params=...` (enterprise value, ROE, sector/industry, reporting/traded currency) - `/stockscreener/v2.0/all?params=...` (cross-sectional fundamentals for ~701 stocks) These endpoints provide the core inputs for fundamentals analysis. `STOCKS_API_URL` (TRKD) remains unresolved but is no longer the only candidate.
*Update (2026-06-25):* `FINANCIAL_REPORTS_API_URL` was manually probed and confirmed as a paginated metadata list of filed reports (`?pagestart={n}&pagesize=2000¶ms=id,companyName,documentDate,securityName,title,url`). Each record links to a `links.sgx.com` HTML detail page hosting the actual PDF. It can be used to fetch full financial statements and periodic disclosures that complement the v2.0 reporting endpoints. ## 11. Risk/Reward Math **Relevant API:** No relevant API found. **Remarks:** Entry zone, stop-loss and target calculations are derived from price history and user-defined rules. The raw inputs come from `V1_SECURITIES_HISTORICAL_LIST_URL` and `SECURITIES_API_URL`, but no endpoint computes risk/reward ratios automatically. ## 12. Conviction Score **Relevant API:** No relevant API found. **Remarks:** A conviction score is a composite metric built from technical and fundamental signals. The individual inputs would come from `SECURITIES_API_URL`, `V1_SECURITIES_HISTORICAL_LIST_URL`, `INDICES_API_URL` and `V1_CORPORATE_ANNOUNCEMENTS_LIST_URL`, but no endpoint provides a pre-computed score. ## 13. Currency Exposure **Relevant APIs:** `CORPORATE_INFORMATION_API_URL`, `SECURITIES_API_URL`, `SNAPSHOT_REPORTS_API_URL`, `RATIOS_REPORTS_API_URL` **Remarks:** `cache/CORPORATE_INFORMATION_API_URL.json` gives the country of incorporation (`country`) and the trading/registration currency is sometimes available. `cache/SECURITIES_API_URL.json` has `cur` (trading currency) per instrument.
*Update (2026-06-25):* Browser recon found `/snapshotreports/v2.0/countryCode/SGP/stockCode/{code}?params=reportingCurrency,tradedCurrency,currencyIdForMarketCap` and `/ratiosreports/v2.0/countryCode/SGP/stockCode/{code}?params=currencyIdForSecurityTrading,currencyIdForMarketCap,currencyIdForBalanceSheet,currencyIdForIncomeStatement,currencyIdForProfitability`. These give reporting vs. traded currency and the currency of financial-statement line items. The paginated `CORPORATE_INFORMATION_API_URL` list also exposes `tradingCurrency`, `country`, `industry`, and `listedDate` for cross-sectional currency exposure screening. Revenue-currency breakdown (SGD-reporting vs. foreign revenue) is still not directly available; it would require parsing company financial statements or segment disclosures. ## 14. Dividend Yield **Relevant APIs:** `CORPORATE_ACTIONS_API_URL`, `RATIOS_REPORTS_API_URL`, `STOCKSCREENER_API_URL` (v2.0), `CIRCULARS_API_URL` **Remarks:** `cache/CORPORATE_ACTIONS_API_URL.json` contains dated corporate action `particulars` that include dividend and coupon announcements (e.g. "Annual Coupon Rate"). It does not contain a pre-computed trailing dividend yield. Yield would need to be calculated by aggregating the last 12 months of cash dividends per stock and dividing by the last price from `cache/SECURITIES_API_URL.json`.
*Update (2026-06-25):* Browser recon found pre-computed dividend yield in `/ratiosreports/v2.0/countryCode/SGP/stockCode/{code}?params=dividendYield,dividendYield5YearAverage` and in `/stockscreener/v2.0/all?params=dividendYield`. The corporate-actions endpoint can also be queried per stock via `/corporateactions/v1.0?pagesize=10&pagestart=0&ibmcode={ibmcode}¶ms=id,anncType,dateAnnc,exDate,name,particulars,recDate,datePaid&order=desc&orderBy=dateAnnc` for historical dividend verification. The global `CORPORATE_ACTIONS_API_URL` feed (`/?pagestart=...&pagesize=...¶ms=id,anncType,datePaid,exDate,name,particulars,recDate`) contains all dividend/coupon records across the market. `CIRCULARS_API_URL` can surface prospectus/supplement documents around rights issues and distributions. `EVALUATED_BONDS_PRICES_API_URL` and `WHOLESALE_BONDS_API_URL` are bond endpoints and are not relevant to equity dividend yield. ## 15. SGX Circuit-Breaker / Liquidity Risk **Relevant APIs:** `METADATA_API_URL`, `SECURITIES_API_URL`, `V1_SECURITIES_CPFIS_LIST_URL` **Remarks:** `cache/METADATA_API_URL.json` has 18,204 instrument records with fields such as `cpfEligible`, `assetClass`, `sgsBond`, `leveragedProduct`, `sip` and `denominationCurrency`, which help classify instrument type and CPFIS status. `cache/SECURITIES_API_URL.json` provides volume/value (`v`, `vl`) and board lot (`bl`) for liquidity screening. `cache/V1_SECURITIES_CPFIS_LIST_URL.json` adds the `CPFIS` flag per security.
*Update (2026-06-25):* `https://api.sgx.com/securities/v1.1/circuitbreaker` is now proven working and returns active circuit-breaker records (empty at capture time but callable). This directly supports SGX circuit-breaker risk monitoring. Liquidity risk still relies on volume, market cap (deferred) and board lot. ---