Files
sgx_scrapper/docs/discovery.md
T
2026-06-26 10:17:27 +08:00

16 KiB

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&params=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}&params=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=...&params=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.