TL;DR. The Singapore Exchange (SGX) requires listed companies to file material disclosures through SGXNet — the local equivalent of the SEC's EDGAR. Categories include financial statements, profit guidance, material transactions, change-of-board, dividend declarations, and unusual price movement responses. SGX publishes them on the public Company Announcements page in near real time. Pulling them as structured data is the foundation for SG-focused equity research, MAS-side compliance monitoring, and pan-APAC event-driven workflows. This guide covers the SGXNet category taxonomy, the regulatory framework (MAS + SGX RegCo), and a working Python implementation.
Who needs SGX announcements as a feed
- Singapore-focused equity analysts covering STI constituents, mid-caps, and SGX-listed REITs / business trusts.
- Pan-APAC long/short funds needing event-driven signals across SGX, HKEX, ASX, KOSPI, and TSE.
- MAS compliance monitoring teams at private banks and asset managers tracking specific issuer disclosures.
- SGX RegCo and continuous-disclosure compliance teams at listed issuers benchmarking peers.
- Wealth platforms and robo-advisors surfacing material events to retail SG investors.
The SGXNet category structure
SGX's Listing Rules (Mainboard Chapter 7, Catalist Chapter 7) require continuous disclosure of any material information that would influence investor decisions. Filings on SGXNet are tagged into categories — the ones that matter most for downstream workflows:
- Financial Statements and Related Announcements — quarterly / half-year / full-year results
- Material Information / Profit Guidance — profit warnings and material updates
- Mergers / Takeovers / Asset Transactions — disclosures under the SGX listing rules and the Singapore Code on Takeovers and Mergers
- Disclosure of Interest — substantial shareholder notices (≥5% holdings, the Singapore analogue of US 13D/G)
- Change of Director / Auditor / Company Secretary
- General Announcement — catch-all bucket including unusual-trading-activity responses, clarifications, regulatory queries
- Cash Dividend / Bonus Issue / Capital Reduction
The SGXNet structured JSON behind the website includes the category code, issuer code, announcement title, timestamp (SGX server time, GMT+8), and a link to the PDF attachment. Bodies are typically PDFs.
Regulatory context — MAS vs. SGX RegCo
For analysts working across jurisdictions, the institutional split matters:
- Monetary Authority of Singapore (MAS) — Singapore's central bank and integrated financial regulator. Oversees the broader securities market, licensing, AML, and market conduct enforcement. MAS enforcement actions are published separately.
- SGX RegCo — the front-line listings regulator. Reviews announcements, queries issuers, and refers serious cases to MAS.
An issuer that gets a query letter from SGX RegCo will typically post a "Reply to SGX Query" announcement on SGXNet — a useful signal for surveillance.
Working Python example
The closest pre-built feed in our catalog is the SGX Singapore Stock Screener, which surfaces STI constituent quotes, fundamentals, and links into SGXNet announcements. Curl:
curl -X POST "https://api.apify.com/v2/acts/nexgendata~sgx-company-announcements/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"index": "STI", "includeAnnouncements": true, "maxResults": 50}'
Python — building a profit-guidance watchlist across STI constituents:
import os, json, urllib.request
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
ACTOR = "nexgendata~sgx-company-announcements"
payload = json.dumps({
"index": "STI",
"includeAnnouncements": True,
"announcementCategories": ["Profit Guidance", "Material Information"],
"since": "2026-05-01",
}).encode("utf-8")
url = f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items?token={APIFY_TOKEN}"
req = urllib.request.Request(url, data=payload, method="POST",
headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=600) as r:
issuers = json.loads(r.read())
for issuer in issuers:
for ann in issuer.get("announcements", []):
print(f"{ann['datetime']} | {issuer['ticker']} | {ann['category']}")
print(f" {ann['title']}")
SGX vs. peer exchange data feeds
| Source | Coverage | Structured fields | Cost |
|---|---|---|---|
| SGXNet (web) | All SGX-listed issuers | Headline, category, timestamp, PDF link | Free |
| Bloomberg Terminal (CN function, SG) | SGX + global | Yes, normalized taxonomy | ~$2,000/mo/seat (~SGD 2,700) |
| Refinitiv Eikon (SG) | SGX + global | Yes | ~$1,800/mo/seat |
| SGX MarketData direct feed | Full SGX, exchange-grade | Yes, exchange messages | Enterprise — exchange data subscription |
| SGX screener actor (Apify) | STI + mid-cap surface with announcements | Yes, normalized category | PPE |
Pan-APAC pattern
If your remit is broader than Singapore, the same announcement-feed pattern applies across the region. For Australia, ASX company announcements have an analogous structure. For Hong Kong, HKEX publishes via the HKEXnews platform. SGX, ASX, and HKEX all enforce continuous-disclosure obligations with a similar materiality threshold and similar category taxonomies — meaning a single ingestion architecture (per-exchange parser, common downstream schema) handles all three.
For broader APAC IPO calendars sitting alongside this, our APAC IPO Calendar Sweep covers SGX, ASX, HKEX, KOSPI, TSE, and TWSE listings.
MAS enforcement crossover
For pure compliance use, pair SGXNet announcements with Singapore MAS enforcement actions — issuers receiving an MAS public reprimand typically post a corresponding SGXNet acknowledgment, and the cross-reference makes for clean enforcement-trail analytics.
The substantial-shareholder feed
SGX's Disclosure of Interest filings (the SGX equivalent of US Schedule 13D/G) flag holdings crossings of 5%, and changes of 1% or more above that threshold. For takeover-risk and activist tracking on SGX-listed issuers this is the highest-signal category — when a new substantial shareholder appears, especially a non-affiliated one, it often precedes meaningful corporate action within 90 days. The same announcement-feed call surfaces these filings under the "Disclosure of Interest" category code; downstream you typically want a normalizer that resolves shareholder identities across name variants (a recurring pain in the Singapore market because nominee holdings show up under custodian names like "DBS Nominees" or "Citibank Nominees Singapore").
REIT and business-trust nuance
Singapore's listed REIT and business-trust universe (S-REITs, ~40 listed) has additional disclosure overlays — manager-trustee announcements, sponsor support agreements, MAS-side approvals for transactions involving sponsor-affiliated parties. The SGXNet category for these is typically "General Announcement" with a S-REIT-specific sub-tag. For pan-Asia REIT analysts, the S-REIT subset is one of the cleaner per-issuer disclosure cadences globally — monthly NAV updates, semi-annual income distributions, and triggered material announcements all flow through the same channel.
Timezone and trading-day caveats
SGX core trading runs 09:00–17:00 SGT (GMT+8) with a midday break. Announcements timestamped during trading hours move prices in real time; before-market and after-hours announcements impact the next open. For backtesting, align timestamps to SGT and join against SGX intraday price data — never to a US-market timezone, since SGT and ET differ by 12–13 hours and that swap will silently invalidate every event-study window.
For investor-relations and corporate teams
SG-listed IR teams benchmarking peer disclosure cadence (how often does a comparable issuer post material updates, what categories do they use) can pull a comp set's last 12 months of SGXNet announcements and chart category mix vs. their own. The same technique applies to competitor press release monitoring on the wires.
Get started: Pull SGX announcements for any STI constituent at the SGX screener actor. Free tier covers a meaningful first pull.
Related Reading
More from this series:
- ASX Company Announcements API: Trading Signals from Australian Listings
- SEC 8-K Filings API: Build a Material Events Tracker (2026 Guide)
- SEC Event Router: One API for 8-K, Litigation, Form 4, Form D, and 13F
From the press release / event-driven series:
Top comments (0)