>
, ,

SGX Company Announcements API: Singapore Equity Research Made Programmatic

Reading Time: 5 minutes

Reading Time: 4 minutes

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 alerts 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 event 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

SourceCoverageStructured fieldsCost
SGXNet (web)All SGX-listed issuersHeadline, category, timestamp, PDF linkFree
Bloomberg Terminal (CN function, SG)SGX + globalYes, normalized taxonomy~$2,000/mo/seat (~SGD 2,700)
Refinitiv Eikon (SG)SGX + globalYes~$1,800/mo/seat
SGX MarketData direct feedFull SGX, exchange-gradeYes, exchange messagesEnterprise — exchange data subscription
SGX screener actor (Apify)STI + mid-cap surface with announcementsYes, normalized categoryPPE

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-value 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:

From the press release / event-driven series:

See also: New — GlobeNewswire Press Releases Scraper

See also: New — SEC Form ADV Investment Adviser Tracker

See also: New — SEC Event Router

See also: New — Dividend Aristocrats Tracker

See also: New — PR Newswire Asia Press Releases Scraper

See also: New — Singapore MAS Financial Institutions Directory

See also: New — Korea BoK ECOS — Base Rate & Macro

Factual public data — not financial or investment advice.

Run it yourself in minutes

New users get $5 free credit (no card). Browse the full 300+ actor catalog and run any tool on pay-per-use pricing.

More from the blog