rename directory

This commit is contained in:
2026-06-26 10:17:27 +08:00
parent 66963e0b90
commit c5215fba22
40 changed files with 0 additions and 0 deletions
@@ -0,0 +1,25 @@
# ANNOUNCEMENTS_API_URL
- **URL:** https://api.sgx.com/announcements/v1.1/
- **Status:** 401
- **Classification:** BLOCKED
- **Content-Type:** application/json
- **Content-Length:** 46 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:39:30.987268+00:00
- **Error:** HTTPError: HTTP Error 401: Unauthorized
- **Block reasons:** HTTP 401
## Notes
Browser recon showed this endpoint is usable once the required headers and sub-paths are supplied.
- **Headers:** send `Origin: https://www.sgx.com` and `Referer: https://www.sgx.com/` (or the matching `investors.sgx.com` variants). The `api.sgx.com/announcements/v1.1/*` paths additionally require an `authorizationtoken` header. The token is hard-coded in the SGX frontend bundle; treat it as a credential and do not commit it in plain text.
- **Filter / dependent calls:** call `/companylist` and `/securitylist` first to populate issuer/security filter dropdowns.
- **Useful patterns:**
- `/count?periodstart={ts}&periodend={ts}` — total announcements in a date window.
- `/?periodstart={ts}&periodend={ts}&pagestart=0&pagesize=20` — paginated list.
- `/summary/company?periodstart={ts}&cat={cat}` or `&sub={sub1,sub2,...}` — category summary (`ANNC`, `CACT`, `PLST`, `TRAD`).
- `/securitycode?value={code}&cat=ANNC&securityCodeParams=securitycode&sub=ANNC17&pagestart=0&pagesize=250&periodstart={ts}` — per-stock announcements (used by `investors.sgx.com`).
- Timestamp format is `yyyyMMdd_HHmmss` (e.g. `20260624_160000`). The bare `/announcements/v1.1/` path returns HTTP 401 only because the auth header is missing.
+16
View File
@@ -0,0 +1,16 @@
# CIRCULARS_API_URL
- **URL:** https://api.sgx.com/circulars/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 84727 bytes
- **Elapsed:** 1.094 s
- **Probed at:** 2026-06-24T09:39:32.631276+00:00
## Notes
This endpoint returns prospectus and supplement/circular metadata when called with a sub-path or pagination.
- **Filter values:** `/metalist` returns `companyName` filter values.
- **List:** `/?pagestart=0&pagesize=5` returns paginated records with `id`, `documentDate`, `prospectusType`, `subject`, `companyName`.
- As with other `api.sgx.com` calls, include `Origin: https://www.sgx.com` and `Referer: https://www.sgx.com/`.
+18
View File
@@ -0,0 +1,18 @@
# CMS_API_URL
- **URL:** https://api2.sgx.com/content-api
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 170 bytes
- **Elapsed:** 0.123 s
- **Probed at:** 2026-06-24T09:40:07.355568+00:00
## Notes
This is a GraphQL-style content API on `api2.sgx.com/content-api`. A bare call returns an error because it requires a `queryId` and `variables`.
- **Pattern:** `https://api2.sgx.com/content-api?queryId={CMS_VERSION}:{operation}&variables={urlencoded_json}`
- `CMS_VERSION` is taken from `appconfig.json` (currently `70f75ec90c030bab34d750ee55d74b016f70d4b6`).
- **Operations observed on `www.sgx.com`:** `page`, `all_menus`, `alerts`, `advertisement_list`, `derivatives_products_list`, `index_list`, `market_updates_list`, `taxonomy_terms`, `we_chat_qr_validator`, `data_settlement_prices_list`, `prices_list`.
- **`investors.sgx.com`** uses a different `queryId` prefix and the `document_list` operation (e.g. to locate the `IP-CA-TABLE` JSON).
- CORS headers: `Origin` and `Referer` must match the calling site (`www.sgx.com` or `investors.sgx.com`).
@@ -0,0 +1,18 @@
# CORPORATE_ACTIONS_API_URL
- **URL:** https://api.sgx.com/corporateactions/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 131012 bytes
- **Elapsed:** 0.123 s
- **Probed at:** 2026-06-24T09:39:35.255476+00:00
## Notes
The base URL returns a large payload; use sub-paths and pagination to consume it.
- **Filter values:** `/metalist` returns `companyName` filter values.
- **Global paginated list:** `/?pagestart=0&pagesize=20&params=id,anncType,datePaid,exDate,name,particulars,recDate` (39k+ records). Increase `pagesize` as needed.
- **Per-stock list:** `/?pagesize=10&pagestart=0&ibmcode={ibmcode}&params=id,anncType,dateAnnc,exDate,name,particulars,recDate,datePaid&order=desc&orderBy=dateAnnc`.
- The `ibmcode` for a stock can be obtained from `METADATA_API_URL` or the per-stock page on `investors.sgx.com`.
- Useful for dividend/coupon dates and rights-issue catalysts. Include `Origin`/`Referer` headers.
@@ -0,0 +1,16 @@
# CORPORATE_INFORMATION_API_URL
- **URL:** https://api.sgx.com/corporateinformation/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 340885 bytes
- **Elapsed:** 0.158 s
- **Probed at:** 2026-06-24T09:39:36.915775+00:00
## Notes
Returns issuer profile records when paginated and projected correctly.
- **Filter values:** `/metalist` returns `issuerName`, `securityName`, `industry`, `country` filter lists.
- **List:** `/?pagestart=0&pagesize=20&params=issuerName,securityName,industry,country,incorporationDate,listedDate,tradingCurrency,url,email`.
- Useful for currency exposure, incorporation country, industry, and listing dates. Include `Origin`/`Referer` headers.
@@ -0,0 +1,25 @@
# DAILY_MARGINING_API_URL
- **URL:** https://api.sgx.com/dailymargining/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE (auth-gated)
- **Content-Type:** application/json
- **Content-Length:** 33 bytes
- **Elapsed:** ~0.1 s
- **Probed at:** 2026-06-25
## Notes
This endpoint is authentication-gated. Direct calls to the base path return:
```json
{"message":"Missing Authentication Token"}
```
- **No observable public consumer:** The frontend CMS route `/derivatives/daily-margining` loads as an HTML page but its CMS `page` call returns `{"data":{"route":null}}`; no JSON data API call is triggered on first load.
- **Tested sub-paths that also fail with "Missing Authentication Token":**
- `https://api.sgx.com/dailymargining/v1.0`
- `https://api.sgx.com/dailymargining/v1.0/metalist`
- **Likely requirement:** An API Gateway key or internal SGX `authorizationtoken` that is not exposed in the current public frontend bundle.
- **Practical status:** Not usable without additional authentication research. For margining/derivatives risk context, prefer `DERIVATIVES_API_URL` (e.g. `?aggregate=true&aggregate-option=total-volume`, `?groupby=cc&category=futures`).
- Include `Origin: https://www.sgx.com` and `Referer: https://www.sgx.com/` on any replay attempts.
@@ -0,0 +1,17 @@
# DERIVATIVES_API_URL
- **URL:** https://api.sgx.com/derivatives/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 99 bytes
- **Elapsed:** 0.077 s
- **Probed at:** 2026-06-24T09:39:40.202648+00:00
## Notes
The bare URL returns `SGX_4000 Too much data returned, please use pagination`; the frontend never calls it directly.
- **Aggregate volume:** `/?aggregate=true&aggregate-option=total-volume`.
- **Futures by commodity:** `/?groupby=cc&category=futures`.
- **Symbol history:** `/history/symbol/{symbol}?days=10d&category=futures&params=base-date,total-volume,last-traded-price-abs`.
- Use `params` to select fields and keep responses small. Include `Origin: https://www.sgx.com` and `Referer: https://www.sgx.com/`.
+20
View File
@@ -0,0 +1,20 @@
# ETF_API_URL
- **URL:** https://api.sgx.com/etfscreener/v1.0
- **Status:** 403
- **Classification:** BLOCKED
- **Content-Type:** application/json
- **Content-Length:** 42 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:39:41.800674+00:00
- **Error:** HTTPError: HTTP Error 403: Forbidden
- **Block reasons:** HTTP 403
## Notes
The bare `/etfscreener/v1.0` path returns HTTP 403; a documented sub-path works.
- **Working sub-path:** `/documents` returns ETF factsheet/document metadata.
- For live ETF price snapshots use `SECURITIES_API_URL` `/etfs?params=n,nc,cx,lt,c,p,vl,v,sc`.
- Include `Origin`/`Referer` headers for `api.sgx.com` calls.
@@ -0,0 +1,16 @@
# EVALUATED_BONDS_PRICES_API_URL
- **URL:** https://api.sgx.com/evaluatedbondprices/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 244368 bytes
- **Elapsed:** 0.107 s
- **Probed at:** 2026-06-24T09:39:43.400544+00:00
## Notes
Paginated and projected calls return evaluated bond prices.
- **Filter values:** `/metalist` returns `issuerName`, `securityName` filter lists.
- **List:** `/?pagestart=0&pagesize=20&params=issuerName,securityName,cleanPrice,dirtyPrice,evaluatedPriceDate,bidPrice,offerPrice,yield,couponRate,maturityDate`.
- Include `Origin`/`Referer` headers.
+26
View File
@@ -0,0 +1,26 @@
# FFA_API_URL
- **URL:** https://api.sgx.com/ffa
- **Status:** 200
- **Classification:** ACCESSIBLE (auth-gated)
- **Content-Type:** application/json
- **Content-Length:** 33 bytes
- **Elapsed:** ~0.1 s
- **Probed at:** 2026-06-25
## Notes
This endpoint is authentication-gated. Direct calls return:
```json
{"message":"Missing Authentication Token"}
```
- **No observable public consumer:** The frontend CMS route `/derivatives/freight-forward-agreements` returns HTTP 404, so there is no current public page driving this API.
- **Tested sub-paths that also fail with "Missing Authentication Token":**
- `https://api.sgx.com/ffa`
- `https://api.sgx.com/ffa/v1.0`
- `https://api.sgx.com/ffa/metalist`
- **Likely requirement:** An API Gateway key or internal SGX `authorizationtoken` that is not exposed in the current public frontend bundle.
- **Practical status:** Not usable without additional authentication research. For freight/derivatives data, prefer the working `DERIVATIVES_API_URL` endpoints.
- Include `Origin: https://www.sgx.com` and `Referer: https://www.sgx.com/` on any replay attempts.
@@ -0,0 +1,19 @@
# FINANCIAL_REPORTS_API_URL
- **URL:** https://api.sgx.com/financialreports/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:**
- **Elapsed:**
- **Probed at:**
## Notes
`FINANCIAL_REPORTS_API_URL` was exempt from the initial discovery probe and must be called paginated. Manual probing on 2026-06-25 confirmed it works with `Origin`/`Referer` headers.
- **Filter values:** `/metalist` returns a `companyName` list for UI filtering.
- **List pattern:** `https://api.sgx.com/financialreports/v1.0?pagestart={n}&pagesize=2000&params=id,companyName,documentDate,securityName,title,url`
- `pagestart` begins at 1 (not 0). At `pagesize=2000` the corpus is ~7 pages (13,348 records observed).
- **Response fields:** `id`, `companyName`, `documentDate` (ms since epoch), `securityName`, `title`, `url`.
- **Document retrieval:** each `url` is a `https://links.sgx.com/1.0.0/corporate-announcements/{id}/{hash}` HTML detail page that hosts the actual PDF attachment(s). The API returns metadata only.
- **Captured payloads:** `adv-investigation/payloads/resp_1300_financialreports_page1.json`, `resp_1301_financialreports_page2.json`, `resp_1302_financialreports_metalist.json`.
+20
View File
@@ -0,0 +1,20 @@
# INDICES_API_URL
- **URL:** https://api.sgx.com/indices/v1.0/
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 261413 bytes
- **Elapsed:** 0.041 s
- **Probed at:** 2026-06-24T09:39:45.046260+00:00
## Notes
The base path returns a master list; chart and metadata sub-paths support trend analysis.
- **Master list:** `/` returns ~854 indices with current OHLC/change.
- **Single index metadata:** `/pid/{pid}/` (e.g. `.STI`, `SGN50N`, `.SREIT`, `SGLC40CN`).
- **Charts:**
- Intraday: `/charts/intraday/pid/{pid}/{period}?params=lp,trading_time,vl`
- Historic: `/charts/historic/pid/{pid}/{period}?params=lp,trading_time,vl`
- Periods seen: `5d`, `1m`.
- Use the `.STI` PID for STI trend monitoring. Include `Origin`/`Referer` headers.
@@ -0,0 +1,16 @@
# IPO_PERFORMANCE_API_URL
- **URL:** https://api.sgx.com/ipoperformance/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 80 bytes
- **Elapsed:** 0.319 s
- **Probed at:** 2026-06-24T09:39:48.323148+00:00
## Notes
The bare URL returns `SGX_4016 Invalid or empty parameter`; it requires a date/identifier parameter.
- **Filter dropdowns:** `/yearlist`, `/issuerlist`, `/companylist`.
- **Performance data:** `/?year=2026` (replace with the desired year).
- Useful for first-day/post-listing catalyst flags. Include `Origin`/`Referer` headers.
@@ -0,0 +1,16 @@
# IPO_PROSPECTUS_API_URL
- **URL:** https://api.sgx.com/ipoprospectus/v1.0/
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 820312 bytes
- **Elapsed:** 0.134 s
- **Probed at:** 2026-06-24T09:39:50.160865+00:00
## Notes
The base path returns data only when a closing-time parameter is supplied.
- **Pattern:** `/?closing_time={yyyyMMdd_HHmmss}` (e.g. `closing_time=20260624_160000`).
- Returns open/closed IPO issues with `status`, `closing_date`, `name`, `url`.
- Include `Origin`/`Referer` headers.
@@ -0,0 +1,16 @@
# MEETING_SCHEDULES_API_URL
- **URL:** https://api.sgx.com/meetingschedules/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 12452 bytes
- **Elapsed:** 1.764 s
- **Probed at:** 2026-06-24T09:39:51.856458+00:00
## Notes
Paginated sub-paths return AGM/EGM schedules.
- **Filter values:** `/metalist` returns `issuerName`, `securityName`, `anncType` filter lists.
- **List:** `/?pagestart=0&pagesize=20&params=issuerName,securityName,meetingDateTime,anncType,anncTitle,recDateTime`.
- Useful for confirming reporting dates around earnings season. Include `Origin`/`Referer` headers.
+16
View File
@@ -0,0 +1,16 @@
# METADATA_API_URL
- **URL:** https://api.sgx.com/marketmetadata/v2
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 8183039 bytes
- **Elapsed:** 0.049 s
- **Probed at:** 2026-06-24T09:39:55.146602+00:00
## Notes
`/marketmetadata/v2` is the instrument master (~11 MB uncompressed). It is the authoritative mapping of symbols, names, listing status, currencies, board lots, etc.
- **Single-stock scope:** `/?stock-code={code}` can be appended to narrow the response (observed on `investors.sgx.com`).
- While `METADATA_API_URL` is the best instrument master, the `sector`/`industry` fields were largely empty in the sampled records; use `V1_SECURITIES_CPFIS_LIST_URL` for SSIC sector taxonomy and `SECURITIES_API_URL` for live price fields.
- Include `Origin`/`Referer` headers.
+16
View File
@@ -0,0 +1,16 @@
# NLT_API_URL
- **URL:** https://api.sgx.com/negotiatedlargetrades/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 70620 bytes
- **Elapsed:** 0.072 s
- **Probed at:** 2026-06-24T09:39:56.918986+00:00
## Notes
Negotiated Large Trades are available via simple pagination.
- **Pattern:** `/?pagestart=0&pagesize=20`.
- Response fields include `contractCode`, `instrumentGroup`, `category`, `month`, `year`, `strikePrice`, `quantity`, `businessDate`, `tradedDate`, `clearedOnDate`, `premium`, `session`.
- Useful for detecting institutional derivative positioning. Include `Origin`/`Referer` headers.
+27
View File
@@ -0,0 +1,27 @@
# SECURITIES_API_URL
- **URL:** https://api.sgx.com/securities/v1.1
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 929855 bytes
- **Elapsed:** 0.106 s
- **Probed at:** 2026-06-24T09:39:58.517503+00:00
## Notes
This is the primary market-data endpoint. The frontend never calls the bare base URL; it appends resource paths and `params` projections.
- **Market aggregates:** `/aggregate/`, `/aggregate/volume?securitytype=stocks`, `/aggregate/value?securitytype=stocks`.
- **Sector heat map:** `/sectorbreakdown` (20 SSIC sectors with `change`/`changePercentage`).
- **Circuit breakers:** `/circuitbreaker`.
- **Top movers:** `/advancers/{stocks,reits,etfs,structuredwarrants,dlcertificates}/{N}/v?params=...`.
- **ETF snapshot:** `/etfs?params=n,nc,cx,lt,c,p,vl,v,sc`.
- **Full screener:** `/?excludetypes=bonds&pagestart=0&pagesize=500&sort=vl&sortdir=desc&params=...`.
- **Reference snapshot:** `/?params=nc,n,type,ls,m,sc,bl,sip,ex,ej,clo,cr,cur,el,r,i,cc,ig,lf`.
- **Full quote snapshot:** `/?params=nc,adjusted-vwap,bond_accrued_interest,bond_clean_price,bond_dirty_price,bond_date,b,bv,p,c,change_vs_pc,change_vs_pc_percentage,cx,cn,dp,dpc,du,ed,fn,h,iiv,iopv,lt,l,o,p_,pv,ptd,s,sv,trading_time,v_,v,vl,vwap,vwap-currency`.
- **Per-stock quote:** `/stocks/code/{code}?ts={timestamp}`.
- **Stock charts (use these instead of `V1_CHART_API_URL`):**
- `/charts/historic/stocks/code/{code}/{1w,1m,1y,5y}?params=trading_time,vl,lt`
- `/charts/intraday/stocks/code/{code}/1d?params=trading_time,vl,lt`
- **Bond endpoints:** `/bonds?params=...`, `/retailbonds/code/{code}?params=...`, `/retailpreferenceshares/code/{code}?params=...`, `/charts/historic/retailbonds/code/{code}/{period}?params=...`.
- Always include `Origin: https://www.sgx.com` and `Referer: https://www.sgx.com/`.
+23
View File
@@ -0,0 +1,23 @@
# STOCKS_API_URL
- **URL:** https://apitrkd.trkd-hs.com/apitrkd/api/
- **Status:** 500
- **Classification:** BLOCKED
- **Content-Type:** application/json
- **Content-Length:** 146 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:40:00.183696+00:00
- **Error:** HTTPError: HTTP Error 500: Internal Server Error
- **Block reasons:** HTTP 500
## Notes
`STOCKS_API_URL` points to the Refinitiv/TRKD host (`apitrkd.trkd-hs.com/apitrkd/api/`). Direct calls return HTTP 500, likely because required query parameters or a subscription token are missing.
- Browser recon found equivalent fundamentals, market cap, and quant data on SGX-hosted v2.0 endpoints instead:
- `/stockscreener/v2.0/all?params=...`
- `/ratiosreports/v2.0/countryCode/SGP/stockCode/{code}?params=...`
- `/snapshotreports/v2.0/countryCode/SGP/stockCode/{code}?params=...`
- `/financialstatementreports/v2.0/{balanceSheet,cashFlow,incomeStatement}/countryCode/SGP/stockCode/{code}?params=all`
- Until the TRKD parameter contract is identified, prefer the v2.0 endpoints above.
@@ -0,0 +1,16 @@
# STRUCTURED_PRODUCTS_API_URL
- **URL:** https://api.sgx.com/marketmetadata/v2/structure-warrants
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 870572 bytes
- **Elapsed:** 0.448 s
- **Probed at:** 2026-06-24T09:40:03.735357+00:00
## Notes
`/marketmetadata/v2/structure-warrants` returns structured-warrant instrument metadata.
- **Pattern:** `/?pagestart=0&pagesize=...` (1,183 records observed).
- The corresponding CMS route `/derivatives/structured-products` is a 404, but the API endpoint works directly.
- Include `Origin`/`Referer` headers.
@@ -0,0 +1,20 @@
# THIRDPARTY_INDICES_API_URL
- **URL:** https://api.sgx.com/thirdpartyindices/v1.0/
- **Status:** 403
- **Classification:** BLOCKED
- **Content-Type:** application/json
- **Content-Length:** 42 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:39:46.621254+00:00
- **Error:** HTTPError: HTTP Error 403: Forbidden
- **Block reasons:** HTTP 403
## Notes
The bare `/thirdpartyindices/v1.0/` path returns HTTP 403; a known sub-path works.
- **Working sub-path:** `/chinabonds` returns ChinaBond index data.
- Other third-party benchmark sub-paths (e.g. FTSE, MSCI, iEdge) remain to be discovered.
- Include `Origin`/`Referer` headers.
+18
View File
@@ -0,0 +1,18 @@
# V1_CHART_API_URL
- **URL:** https://api3.sgx.com/JsonRead/chartdata
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** text/plain
- **Content-Length:** 22 bytes
- **Elapsed:** 0.293 s
- **Probed at:** 2026-06-24T09:41:13.898403+00:00
## Notes
`https://api3.sgx.com/JsonRead/chartdata` still returns `Not a valid request !` for all guessed parameters (`qryId`, `code`, `noCache`).
- The current `www.sgx.com` frontend does not appear to call this endpoint.
- **Use the modern chart endpoints instead:**
- `SECURITIES_API_URL`: `/charts/historic/stocks/code/{code}/{period}` and `/charts/intraday/stocks/code/{code}/1d`.
- `INDICES_API_URL`: `/charts/historic/pid/{pid}/{period}` and `/charts/intraday/pid/{pid}/{period}`.
- Include `Origin`/`Referer` headers for `api3.sgx.com` calls.
@@ -0,0 +1,20 @@
# V1_CORPORATE_ACTIONS_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/corporate-actions
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:31.204871+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/corporate-actions` returns HTTP 404.
- This is a document-delivery layer, not a bulk JSON API.
- Individual detail pages such as `https://links.sgx.com/1.0.0/corporate-actions/{id}` work as HTML pages.
- The bulk corporate-actions feed is better obtained from `CORPORATE_ACTIONS_API_URL` (`api.sgx.com/corporateactions/v1.0`).
@@ -0,0 +1,19 @@
# V1_CORPORATE_ANNOUNCEMENTS_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/corporate-announcements
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:37.744810+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/corporate-announcements` returns HTTP 404.
- This is a document-delivery layer. Individual announcement documents use URLs like `https://links.sgx.com/1.0.0/corporate-announcements/{key}/{hash}` and return HTML/PDF.
- For a searchable, paginated announcement feed use `ANNOUNCEMENTS_API_URL` (`api.sgx.com/announcements/v1.1/`) with the required `authorizationtoken` header.
@@ -0,0 +1,18 @@
# V1_CORPORATE_ANNOUNCEMENTS_LIST_URL
- **URL:** https://api3.sgx.com/infofeed/Apps?A=COW_CorpAnnouncement_Content&B=annccdpbuyingininfo&C_T=-1
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** text/plain; charset=iso-8859-1
- **Content-Length:** 1053396 bytes
- **Elapsed:** 0.778 s
- **Probed at:** 2026-06-24T09:41:23.867132+00:00
## Notes
Legacy infofeed endpoint that returns a text list of corporate announcements.
- **URL pattern:** `https://api3.sgx.com/infofeed/Apps?A=COW_CorpAnnouncement_Content&B=annccdpbuyingininfo&C_T=-1`
- Contains ~3,000 entries with `IssuerName`, `SecurityName`, `AnnouncementTitle`, `Date`, `Time`, `BroadcastDateTime`.
- Titles such as "Financial Statements" can be filtered to build an earnings calendar.
- For a modern, filterable feed with category/sub-category filters, use `ANNOUNCEMENTS_API_URL` instead.
- Include `Origin`/`Referer` headers.
@@ -0,0 +1,19 @@
# V1_CORPORATE_INFORMATION_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/corporate-information
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:32.931488+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/corporate-information` returns HTTP 404.
- This is a document-delivery/HTML layer; no public bulk JSON consumer was observed.
- Use `CORPORATE_INFORMATION_API_URL` (`api.sgx.com/corporateinformation/v1.0`) for structured issuer profiles.
@@ -0,0 +1,19 @@
# V1_DERIVATIVES_DAILY_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/derivatives-daily
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:34.535236+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/derivatives-daily` returns HTTP 404.
- This is a document-delivery layer. The corresponding daily data file links are exposed by the legacy list endpoint `V1_DERIVATIVES_DAILY_LIST_URL`.
- No public bulk JSON consumer was observed for the base `links.sgx.com` path.
@@ -0,0 +1,17 @@
# V1_DERIVATIVES_DAILY_LIST_URL
- **URL:** https://api3.sgx.com/infofeed/Apps?A=COW_Infopubdtstat_Content&B=DailyDataDownload&S_T=1&C_T=60
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** text/plain; charset=iso-8859-1
- **Content-Length:** 24120 bytes
- **Elapsed:** 0.096 s
- **Probed at:** 2026-06-24T09:41:18.989845+00:00
## Notes
Legacy infofeed endpoint that returns a text list of daily derivatives download links.
- **URL pattern:** `https://api3.sgx.com/infofeed/Apps?A=COW_Infopubdtstat_Content&B=DailyDataDownload&S_T=1&C_T=60`
- Can be called with `&noCache={timestamp}` to defeat caching (observed in browser traffic).
- Response contains links to daily derivatives data files that can be downloaded and parsed.
- Include `Origin`/`Referer` headers for `api3.sgx.com`.
@@ -0,0 +1,19 @@
# V1_DERIVATIVES_HISTORICAL_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/derivatives-historical
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:36.144727+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/derivatives-historical` returns HTTP 404.
- This is a document-delivery layer. Historical derivatives file links are exposed by `V1_DERIVATIVES_HISTORICAL_LIST_URL`.
- No public bulk JSON consumer was observed for the base path.
@@ -0,0 +1,17 @@
# V1_DERIVATIVES_HISTORICAL_LIST_URL
- **URL:** https://api3.sgx.com/infofeed/Apps?A=COW_Tickdownload_Content&B=TimeSalesData&C_T=20
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** text/plain; charset=iso-8859-1
- **Content-Length:** 3108 bytes
- **Elapsed:** 0.124 s
- **Probed at:** 2026-06-24T09:41:20.613909+00:00
## Notes
Legacy infofeed endpoint that returns a text list of historical derivatives time/sales download links.
- **URL pattern:** `https://api3.sgx.com/infofeed/Apps?A=COW_Tickdownload_Content&B=TimeSalesData&C_T=20`
- Can be called with `&noCache={timestamp}` to defeat caching (observed in browser traffic).
- Response points to `.dat`/`.zip` files for historical tick/trade data.
- Include `Origin`/`Referer` headers for `api3.sgx.com`.
@@ -0,0 +1,19 @@
# V1_IPO_PROSPECTUS_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/ipo-prospectus
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:39.317221+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/ipo-prospectus` returns HTTP 404.
- This is a document-delivery layer. Live IPO prospectus/open-issue data is available from `IPO_PROSPECTUS_API_URL` (`api.sgx.com/ipoprospectus/v1.0/?closing_time=...`).
- No public bulk JSON consumer was observed for the base path.
+19
View File
@@ -0,0 +1,19 @@
# V1_ISIN_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/isin
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:41.972522+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/isin` returns HTTP 404.
- This is a document-delivery layer with no observed public bulk consumer.
- ISIN/security master data is better obtained from `METADATA_API_URL` or `V1_SECURITIES_CPFIS_LIST_URL`.
@@ -0,0 +1,17 @@
# V1_NEW_STRUCTURED_WARRANTS_URL
- **URL:** https://api3.sgx.com/JsonRead/JsonstData?qryId=RSWnew&timeout=60
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** text/plain; charset=utf-8
- **Content-Length:** 6999 bytes
- **Elapsed:** 0.17 s
- **Probed at:** 2026-06-24T09:41:15.715557+00:00
## Notes
Legacy endpoint that returns newly listed structured warrants data.
- **URL pattern:** `https://api3.sgx.com/JsonRead/JsonstData?qryId=RSWnew&timeout=60`
- Returns text/plain payload (~7 KB).
- For current structured-warrant metadata and prices, also consider `STRUCTURED_PRODUCTS_API_URL` and `SECURITIES_API_URL`.
- Include `Origin`/`Referer` headers for `api3.sgx.com`.
@@ -0,0 +1,19 @@
# V1_PROSPECTUS_CIRCULARS_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/prospectus-circulars
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:29.603453+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/prospectus-circulars` returns HTTP 404.
- This is a document-delivery layer. Prospectus/circular metadata is available from `CIRCULARS_API_URL` (`api.sgx.com/circulars/v1.0`).
- No public bulk JSON consumer was observed for the base path.
@@ -0,0 +1,18 @@
# V1_SECURITIES_CPFIS_LIST_URL
- **URL:** https://api3.sgx.com/infofeed/Apps?A=COW_App_DB&B=StocksNameByInitial&R_C=A&C_T=-1
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** text/plain; charset=iso-8859-1
- **Content-Length:** 219003 bytes
- **Elapsed:** 0.242 s
- **Probed at:** 2026-06-24T09:41:27.817865+00:00
## Notes
Legacy infofeed endpoint that returns a list of securities and their CPFIS/SSIC classification.
- **URL pattern:** `https://api3.sgx.com/infofeed/Apps?A=COW_App_DB&B=StocksNameByInitial&R_C=A&C_T=-1`
- Contains 1,285 securities with fields including `Full Name`, `Market`, `Status`, `CPFIS`, and `Sector (SSIC Standard)`.
- This is the most direct source found for SSIC sector taxonomy; combine with `SECURITIES_API_URL` price data to build sector heat maps.
- The `R_C=A` parameter may be intended to iterate by initial; `C_T=-1` appears to request all records.
- Include `Origin`/`Referer` headers for `api3.sgx.com`.
@@ -0,0 +1,19 @@
# V1_SECURITIES_HISTORICAL_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/securities-historical
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:43.567113+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/securities-historical` returns HTTP 404.
- This is a document-delivery layer. Bulk historical security price file links are exposed by `V1_SECURITIES_HISTORICAL_LIST_URL`.
- For OHLC chart data without parsing `.zip`/`.dat` files, prefer the modern chart endpoints on `SECURITIES_API_URL`.
@@ -0,0 +1,18 @@
# V1_SECURITIES_HISTORICAL_LIST_URL
- **URL:** https://api3.sgx.com/infofeed/Apps?A=COW_Prices_Content&B=SecuritiesHistoricalPrice&C_T=20
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** text/plain; charset=iso-8859-1
- **Content-Length:** 15759 bytes
- **Elapsed:** 0.1 s
- **Probed at:** 2026-06-24T09:41:26.197243+00:00
## Notes
Legacy infofeed endpoint that returns links to daily historical security price files.
- **URL pattern:** `https://api3.sgx.com/infofeed/Apps?A=COW_Prices_Content&B=SecuritiesHistoricalPrice&C_T=20`
- Response rows contain `Trade Date`, `Price WinZip File Link`, and `Price File Link` pointing to `.zip`/`.dat` files.
- These files can be downloaded to compute weekly ATR%, returns, and relative strength.
- For convenience, the modern per-stock chart endpoints on `SECURITIES_API_URL` (`/charts/historic/stocks/code/{code}/{1w,1m,1y,5y}`) provide ready OHLC-like series.
- Include `Origin`/`Referer` headers for `api3.sgx.com`.
@@ -0,0 +1,19 @@
# V1_WARRANTS_DATA_URL
- **URL:** https://links.sgx.com/1.0.0/warrants
- **Status:** 404
- **Classification:** BLOCKED
- **Content-Type:** text/html
- **Content-Length:** 1245 bytes
- **Elapsed:** 0.0 s
- **Probed at:** 2026-06-24T09:41:46.190645+00:00
- **Error:** HTTPError: HTTP Error 404: Not Found
- **Block reasons:** HTTP 404, unexpected HTML for API endpoint
## Notes
Base path `https://links.sgx.com/1.0.0/warrants` returns HTTP 404.
- This is a document-delivery layer with no observed public bulk consumer.
- Structured-warrant metadata is available from `STRUCTURED_PRODUCTS_API_URL` (`/marketmetadata/v2/structure-warrants`).
@@ -0,0 +1,16 @@
# WHOLESALE_BONDS_API_URL
- **URL:** https://api.sgx.com/wholesalebonds/v1.0
- **Status:** 200
- **Classification:** ACCESSIBLE
- **Content-Type:** application/json
- **Content-Length:** 39628 bytes
- **Elapsed:** 0.071 s
- **Probed at:** 2026-06-24T09:40:02.143083+00:00
## Notes
Paginated and projected calls return wholesale bond price/yield records.
- **Filter values:** `/metalist` returns `issuerName`, `securityName` filter lists.
- **List:** `/?pagestart=0&pagesize=20&params=issuerName,securityName,bondType,lastTradedPrice,lastTradedDate,lastTradedYield,couponRate,maturityDate,bondPriceType`.
- Include `Origin`/`Referer` headers.