"""Markets Open: source-linked calendar-date counts, no settlement inference.""" import json from urllib.request import urlopen url = ( "https://marketsopen.today/api/v1/trading-days" "?markets=SSE,HKEX,NB,SB&start=2026-10-01&end=2026-10-31" ) with urlopen(url, timeout=15) as response: result = json.load(response) for market in result["markets"]: if market["complete"]: print(market["market_id"], market["total"]) else: print(market["market_id"], "incomplete", market["lower"], market["upper"]) print("Sources:", market["source_urls"]) print("Data version:", result["data_version"]) # None/null is unknown; half days count as one trading day. # Shared dates are not simultaneous trading windows or settlement dates.