Skip to contents

Returns a mapping of NEM market participants (companies) to their registered Dispatchable Unit Identifiers (DUIDs), joined from the MMSDM PARTICIPANT and DUDETAILSUMMARY tables. Use this for corporate ownership analysis: rolling up generator output or bids from DUID-level data to the company level.

Usage

aemo_participants()

Source

AEMO NEMweb MMSDM archive, PARTICIPANT and DUDETAILSUMMARY tables. AEMO Copyright Permissions Notice.

Value

An aemo_tbl with columns participantid, participantclassid (e.g. GENERATOR, LOAD, TRADER), name (company name), duid, stationid, regionid, dispatchtype, schedule_type. Rows are one per participant-DUID combination. If MMSDM is unreachable, returns an empty table with a warning.

See also

Examples

# \donttest{
op <- options(aemo.cache_dir = tempdir())
try({
  pt <- aemo_participants()
  # DUIDs owned by AGL
  pt[grepl("AGL", pt$name, ignore.case = TRUE), ]
})
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#>  Downloading <https://nemweb.com.au/Data_Archive/Wholesale_Electricity/MMSDM/2
#> 
#> Warning: Could not reach MMSDM DUDETAILSUMMARY; returning empty participant table.
#>  Check your internet connection.
#> # aemo_tbl: NEM market participants (empty - MMSDM unreachable)
#> # Source:   https://nemweb.com.au
#> # Licence:  AEMO Copyright Permissions Notice
#> # Retrieved: 2026-05-31 19:35 UTC 
#> # Rows: 0  Cols: 8
#> 
#> [1] participantid      participantclassid name               duid              
#> [5] stationid          regionid           dispatchtype       schedule_type     
#> <0 rows> (or 0-length row.names)
options(op)
# }