Access AEMO's developer API portal at dev.aemo.com.au for structured API access; for bulk historical data, use the NEMWeb file repository currently at visualisations.aemo.com.au/aemo/nemweb/ noting that AEMO is migrating the base URL — verify the current base URL in AEMO's official migration notices as the HTTP endpoint is being decommissioned.
Identify the target MMSDM (Market Management System Data Model) table; key tables include TRADING_PRICE (30-minute settlement prices by region), DISPATCH_PRICE (5-minute dispatch prices), UNIT_SCADA (generator MW output), and DISPATCH_INTERCONNECTORRES (interconnector flows).
Download zipped CSV files from the REPORTS/CURRENT/ or REPORTS/ARCHIVE/ directories, or use the NEMOSIS Python library for automated table-level downloads with automatic schema handling.
Unzip and parse the CSV files; the first row is a header ('C' record), data rows begin with 'D', and the file ends with an 'I' record plus an 'END' summary — strip non-data rows before loading into a dataframe.
Convert AEMO timestamps from Australian Eastern Standard Time (AEST, UTC+10); NEM does not observe daylight saving time in its market settlement clock, so no DST conversion is needed for market intervals.
For real-time 5-minute dispatch data, poll the CURRENT directory at 5-minute intervals; files are named with a timestamp and overwritten each dispatch interval — implement idempotent upsert logic keyed on SETTLEMENTDATE plus DUID.
Known gotchas
AEMO is decommissioning the NEMWeb HTTP endpoint and migrating the base URL in April 2026; hardcoded base URLs will break — use a configurable base URL and monitor AEMO's official communications for the replacement URL.
The NEM settlement clock runs on 30-minute trading intervals but dispatch occurs every 5 minutes; LMPs (dispatch prices) and settlement prices are different quantities that must not be mixed in the same time series.
MMSDM table schemas change when AEMO deploys market reforms; the NEMOSIS library maintains schema version mappings, but custom parsers must handle schema version headers in each file or they will silently misparse columns after a reform deployment.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp