VRM API v2 Documentation

This document provides an brief overview of available endpoints and their parameters. The API is a basic REST API. The API accepts JSON as request body (not form data, just plain JSON). Use something like Postman to fiddle around with it.


To be able to authenticate to the Victron VRM API it is required you have an active account (the same account can be used as you would normally use for the VRM-dashboard). To login you need a valid email address and password. When the credentials are valid, a web-token will be generated which will then be required for subsequent calls to the api. If the token expires, an error message will be returned, which therefore means you have to request a new token with the original login-credentials.

Base URL

The base URL of the API is:


Design considerations

There are two use cases that you could have in mind when implementing a system that calls this API:

  1. To build your own front-end; that uses our database & API as a backend.
  2. To replicate the data into your own backend.

The API is not suitable for that last use case; and there is no support offered for such implementations by us either. One of the issues is that you can never know what data you have replicated, and what data not yet. Combined with the backlogging function in the Venus-devices this means that you'll have to continuously query quite far into the past in order to really make sure to have data replicated. We might some day design a proper replication function; but at the moment there are no such plans and also we will not offer support of such setups; unless the involved directly commercial value is extremely high.

If you really do want to host the data; we recommend to implement your own data transmission system on the Venus-device. Or change the URL of the existing data-transmission system on the Venus-device to your own URL. Note that this will (obviously) break all the advanced features such as Remote Firmware updates, Remote Support, Remote Console, and-so-forth.

Rate limiting and error 429

If you receive HTTP error 429 - Too many requests, it means that you have exceeded rate limiter limits.

Authentication endpoints

The authentication endpoints include the only endpoints in the API for which no authorization header is required to access them.


Username and password

POST https://vrmapi.victronenergy.com/v2/auth/login

    "username": "john@example.com",
    "password": "secret-passw0rd"

Or, if a SMS authentication token is required:

    "username": "john@example.com",
    "password": "secret-passw0rd",
    "sms_token": "12345678"

When logging in a token is issued which may be used to authorize further requests by including it in the "X-Authorization" request header as follows:

X-Authorization: Bearer {token}

Access token

When using personal access tokens (accesstokens), you have a token that can authenticate against the VRM API without the need of requesting a bearer token. Authentication with such an access token can be done as following:

X-Authorization: Token <your-personal-access-token>

Login as demo

GET https://vrmapi.victronenergy.com/v2/auth/loginAsDemo Issues an token for accessing the API as the VRM demo user (userid: 22). The demo user has limited access (not all endpoints work for the demo login, e.g. diagnostics is not working) to a few demo installations.


POST https://vrmapi.victronenergy.com/v2/auth/logout Accessing this endpoint with a token set in the Authorization header will blacklist the token at the server side for further use.

Installation endpoints

All installation endpoints are parametrized with an installation id in the URL. In the following examples, 1039 will be used as an example installation id. Authentication is required before accessing these endpoints, see the "Authentication endpoints" section.

About installation timezones

Installation endpoints all work with unix timestamps as parameters, so they are in UTC. If you want to correct the results based on the timezone of the installation, obtain the timezone of the installation by calling: https://vrmapi.victronenergy.com/v2/users/{idUser}/installations (detailed description below)

The response has a field "timezone": "Africa/Addis_Ababa". This indicates that the timezone in which the installation is located. Use this data to display the unix timestamps in the correct timezone.

Get all installations/sites of a given user

(Restricted) admins can retrieve installations of all users, dealers can only retrieve installations for the users that are linked to them, normal users can only retrieve their own installations/sites.

NOTE: As a normal user, you cannot retrieve information about the demo installations from the demo user.

Endpoint: https://vrmapi.victronenergy.com/v2/users/{idUser}/installations

Method: GET

The response will be something like this for for example: https://vrmapi.victronenergy.com/v2/users/3/installations

  "success": true,
  "records": [
      "idSite": 100,
      "name": "Test installation",
      "idUser": 1001,
      "pvMax": 12258,
      "reports_enabled": false,
      "accessLevel": 1,
      "timezone": "UTC",
      "owner": true,
      "geofence": false,
      "geofenceEnabled": false,
      "device_icon": "solar"

If you add an extended=1 parameter to this endpoint, more data which is used on the installation overview of VRM is returned. It does not return all installation data, see the Retrieve diagnostic data / all current installation data call for that.

Endpoint: https://vrmapi.victronenergy.com/v2/users/{idUser}/installations?extended=1

Method: GET

The response will be something like this for example: https://vrmapi.victronenergy.com/v2/users/3/installations?extended=1

  "success": true,
  "records": [
        "idSite": 100,
        "name": "Test installation",
        "idUser": 1001,
        "pvMax": 12258,
        "accessLevel": 1,
        "timezone": "UTC",
        "owner": true,
        "geofence": false,
        "geofenceEnabled": false,
        "device_icon": "solar",
        "alarm": false,
        "last_timestamp": 1472217903,
        "tags": [
            "idTag": 41,
            "name": "ok"
        "timezone_offset": 7200,
        "extended": [
              "idDataAttribute": 4,
              "code": "lt",
              "description": "Latitude",
              "formatWithUnit": "%.5F LAT",
              "rawValue": "52.7237",
              "textValue": null,
              "formattedValue": "52.72370 LAT"
              "idDataAttribute": 5,
              "code": "lg",
              "description": "Longitude",
              "formatWithUnit": "%.5F LNG",
              "rawValue": "7.0896",
              "textValue": null,
              "formattedValue": "7.08960 LNG"
              "idDataAttribute": 135,
              "code": "g2",
              "description": "Grid L2",
              "formatWithUnit": "%.0F W",
              "rawValue": "0",
              "textValue": null,
              "formattedValue": "0 W"
              "idDataAttribute": 136,
              "code": "g3",
              "description": "Grid L3",
              "formatWithUnit": "%.0F W",
              "rawValue": "0",
              "textValue": null,
              "formattedValue": "0 W"
              "idDataAttribute": 143,
              "code": "bv",
              "description": "Battery Voltage (System)",
              "formatWithUnit": "%.2F V",
              "rawValue": "54.12",
              "textValue": null,
              "formattedValue": "54.12 V"
              "idDataAttribute": 144,
              "code": "bs",
              "description": "Battery State of Charge (System)",
              "formatWithUnit": "%.1F %%",
              "rawValue": "76",
              "textValue": null,
              "formattedValue": "76.0 %"
              "idDataAttribute": 147,
              "code": "bc",
              "description": "Battery Current (System)",
              "formatWithUnit": "%.2F A",
              "rawValue": "17.9",
              "textValue": null,
              "formattedValue": "17.90 A"
              "idDataAttribute": 215,
              "code": "bst",
              "description": "Battery state",
              "formatWithUnit": "%s",
              "rawValue": null,
              "textValue": "charging",
              "formattedValue": "charging"
              "rawValue": 8,
              "formatWithUnit": "%.0F W",
              "code": "consumption",
              "description": "Consumption",
              "textValue": null,
              "idDataAttribute": null,
              "formattedValue": "8 W"
              "rawValue": 0,
              "formatWithUnit": "%.0F W",
              "code": "solar_yield",
              "description": "Solar_yield",
              "textValue": null,
              "idDataAttribute": null,
              "formattedValue": "0 W"
              "rawValue": 49.0818,
              "formatWithUnit": "%.0F W",
              "code": "from_to_grid",
              "description": "From_to_grid",
              "textValue": null,
              "idDataAttribute": null,
              "formattedValue": "49 W"
              "rawValue": 0,
              "formatWithUnit": "",
              "code": "generator",
              "description": "Generator",
              "textValue": null,
              "idDataAttribute": null,
              "formattedValue": ""
              "rawValue": 0,
              "formatWithUnit": "",
              "code": "ac_in",
              "description": "Ac_in",
              "textValue": null,
              "idDataAttribute": null,
              "formattedValue": ""
              "rawValue": 0,
              "formatWithUnit": "",
              "code": "ac_out",
              "description": "Ac_out",
              "textValue": null,
              "idDataAttribute": null,
              "formattedValue": ""
          "current_time": "11:25"

Retrieve connected devices (e.g. to get device instance)

Endpoint: https://vrmapi.victronenergy.com/v2/installations/{idSite}/system-overview

Sample response:

            "productName":"Venus GX",
            "name":"Temperature sensor",

Retrieve diagnostic data / all current installation data

This endpoint can be used to retrieve all most recent logged data for a given installation. It can only be accessed if the current logged in user has Full access to the specified installation. Endpoint: https://vrmapi.victronenergy.com/v2/installations/{idSite}/diagnostics?count=1000


  • count: specifies the maximum number of returned records

Sample response:

  "success": true,
  "records": [
      "idSite": 1495,
      "timestamp": 1497056046,
      "Device": "Gateway",
      "instance": 0,
      "idDataAttribute": 1,
      "description": "gatewayID",
      "formatWithUnit": "%s",
      "dbusServiceType": null,
      "dbusPath": null,
      "formattedValue": "Venus",
      "dataAttributeEnumValues": [
          "nameEnum": "VGR, VGR2 or VER",
          "valueEnum": 0
          "nameEnum": "Venus",
          "valueEnum": 1
          "nameEnum": "Venus",
          "valueEnum": 2
      "id": 1
  "num_records": 1

Retrieving energy readings

For retrieving increment type data, such as Energy readings.

Device typeData typeDescriptionCode
GatewayfloatNetwork traffic txtx
GatewayfloatNetwork traffic rxrx
Battery MonitorfloatDischarged Energy deltadH21
Battery MonitorfloatCharged Energy deltadH22
Solar ChargerfloatUser yield deltadYU
System overviewfloatGrid to batteryGb
System overviewfloatGrid to consumersGc
System overviewfloatPV to batteryPb
System overviewfloatGasGu
System overviewfloatPV to gridPg
System overviewfloatPV to consumersPc
System overviewfloatBattery to consumersBc
System overviewfloatBattery to gridBg
System overviewfloatGenset to consumersgc
System overviewfloatGenset to batterygb
System overviewfloatWater heatingdW
System overviewfloatAir heatingdA
System overviewfloatTime offTo
System overviewfloatTime generatorTgs
System overviewfloatTime gridTg
System overviewfloatTime invertingTi
PV InverterfloatEnergy deltadpE
Grid meterfloatGrid Energy from net deltadgb
Grid meterfloatGrid Energy to net deltadgs
DC meterfloatEnergy - deltaddE

Retrieving measurement data over a time range

We distinguish between a few types of data. For each type, examples and available endpoints are listed.

Graph measurements

Graphs are returned as series of floats, representing data points which can be plotted directly to a line graph.

GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/Graph?attributeCodes[]=IV1&attributeCodes[]=IV2&attributeCodes[]=IV3 Returns graph data points for the AC input voltage phase 1-3 for the default instance for the last day.

GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/Graph?attributeCodes[]=VS&instance=255&start=1451606400&end=1452815999 Returns graph data points for the starter battery voltage for instance 255 for the first 14 days of the year 2016.

All available data attributes

Device typeData typeDescriptionCode
GatewaystringFw Versionv
GatewaystringFw Build datebuild
GatewayenumRemote supportrss
GatewayfloatRemote support portrs
GatewaystringRemote support server IPrIP
GatewayenumBoot typew
GatewayenumAuto updateau
GatewayenumUpdate tout
GatewaystringLocal ip addressip
GatewaystringRemote ip addressipr
GatewayfloatFree space rootfsfr
GatewayfloatFree space datafd
Gatewayfloatload avg 1mla1
Gatewayfloatload avg 5mla2
Gatewayfloatload avg 10mla3
Gatewayfloatlog time offsetTO
GatewayfloatLog intervalsl
GatewayenumVRM Log modevl
GatewayenumVRM buffer mount statevb
GatewayenumUser access levelal
GatewayenumModbus TCP service statemb
GatewayenumOcean volt motor drive service stateod
GatewayenumOcean volt battery service stateov
GatewayenumMQTT service statemq
GatewayenumDemo modus on/offdm
GatewaystringTime zonetz
GatewayenumESS battery life stateH4bs
GatewayfloatESS battery life SOC limitH4as
GatewayfloatESS Minimum SOC (unless grid fails)H4ms
GatewayenumESS Scheduled Chargingsca
GatewayenumVNC LocalVl
GatewayenumVNC InternetVi
GatewayfloatRemote VNC portVp
GatewaystringBattery monitor settingsb
GatewaystringActive battery serviceabs
GatewayenumSynchronize VE.Bus SOCsv
GatewayenumHas DC systemshd
GatewayenumModem presentmPr
GatewayenumTwo way communicationtw
GatewayenumAC Input 1 si1
GatewaystringModem last reboot date timemRd
GatewayenumAC Input 2si2
GatewaystringNetwork statusmS
GatewaystringNetwork namemN
GatewayfloatSignal strengthmSt
GatewayenumRoaming allowedmRA
GatewayenumSim-card presentmSimPr
GatewaystringSim pin requiredmSimPi
GatewaystringModem reset reasonmRs
GatewayenumHung processeshp
GatewayenumZombie processeszp
GatewayenumData partition statusdps
GatewayenumVrmlogger ram disk moderdm
GatewayenumRelay 1 statecRelay
GatewayenumGenerator run reasongaRC
VE.Bus SystemenumPhase rotationePR
VE.Bus Systemstringmk2 versionvmk2
VE.Bus SystemstringMk2 product namepmk2
VE.Bus SystemstringVE.Bus devicevvt
VE.Bus SystemstringVE.Bus firmware versionvvv
VE.Bus SystemstringVE.Bus product idvvp
VE.Bus SystemenumVE.Bus ShortIDsvid
VE.Bus SystemstringVE.Bus connectionvmc
VE.Bus SystemfloatInput voltage phase 1IV1
VE.Bus SystemfloatInput voltage phase 2IV2
VE.Bus SystemfloatInput voltage phase 3IV3
VE.Bus SystemfloatInput current phase 1II1
VE.Bus SystemfloatInput current phase 2II2
VE.Bus SystemfloatInput current phase 3II3
VE.Bus SystemfloatInput frequency 1IF1
VE.Bus SystemfloatInput frequency 2IF2
VE.Bus SystemfloatInput frequency 3IF3
VE.Bus SystemfloatInput power 1IP1
VE.Bus SystemfloatInput power 2IP2
VE.Bus SystemfloatInput power 3IP3
VE.Bus SystemfloatOutput voltage phase 1OV1
VE.Bus SystemfloatOutput voltage phase 2OV2
VE.Bus SystemfloatOutput voltage phase 3OV3
VE.Bus SystemfloatOutput current phase 1OI1
VE.Bus SystemfloatOutput current phase 2OI2
VE.Bus SystemfloatOutput current phase 3OI3
VE.Bus SystemfloatOutput frequencyOF
VE.Bus SystemfloatOutput power 1OP1
VE.Bus SystemfloatOutput power 2OP2
VE.Bus SystemfloatOutput power 3OP3
VE.Bus SystemfloatVoltageCV
VE.Bus SystemfloatCurrentCI
VE.Bus SystemfloatBattery temperatureCT
VE.Bus SystemfloatPhase countPC
VE.Bus SystemenumActive inputAI
VE.Bus SystemfloatActive input current limitAILIM
VE.Bus SystemenumAuxiliary output activeAA
VE.Bus SystemfloatLEDs (?)LD
VE.Bus SystemfloatLEDs Blinking (?)LDB
VE.Bus SystemfloatVE.Bus state of chargeVSOC
VE.Bus SystemfloatVE.Bus hidden SOCVSH
VE.Bus SystemenumVE.Bus stateS
VE.Bus SystemenumVE.Bus ErrorERR
VE.Bus SystemenumSwitch Positions
VE.Bus SystemenumDisable PV inverterdPV
VE.Bus SystemenumTemperatureeT
VE.Bus SystemenumLow batteryeL
VE.Bus SystemenumOverloadeO
VE.Bus SystemenumTemperatur sensor alarmeTS
VE.Bus SystemfloatHub4 power setpoint phase 1aps1
VE.Bus SystemfloatHub4 power setpoint phase 2aps2
VE.Bus SystemfloatHub4 power setpoint phase 3aps3
VE.Bus SystemenumVoltage sensor alarmeVS
VE.Bus SystemenumHub4 low state of chargeH4LS
VE.Bus SystemenumHub4 sustainH4S
VE.Bus SystemfloatCharge voltage setpointHcsp
VE.Bus SystemfloatEnergy AcIn1 to Invertert1
VE.Bus SystemfloatEnergy ACIn2 to Invertert2
VE.Bus SystemfloatEnergy ACIn1 to AcOutt3
VE.Bus SystemfloatEnergy ACIn2 to AcOutt4
VE.Bus SystemfloatEnergy Inverter to AcIn1t5
VE.Bus SystemfloatEnergy Inverter to AcIn2t6
VE.Bus SystemfloatEnergy AcOut to AcIn1t7
VE.Bus SystemfloatEnergy AcOut to AcIn2t8
VE.Bus SystemfloatInverter To AcOutt9
VE.Bus SystemfloatAcOut to Invertert10
VE.Bus SystemstringDevice 0 assistant listasT0
VE.Bus SystemstringDevice 1 assistant listasT1
VE.Bus SystemstringDevice 2 assistant listasT2
VE.Bus SystemstringDevice 3 assistant listasT3
VE.Bus SystemstringDevice 4 assistant listasT4
VE.Bus SystemstringDevice 5 assistant listasT5
VE.Bus SystemstringDevice 6 assistant listasT6
VE.Bus SystemstringDevice 7 assistant listasT7
VE.Bus SystemstringDevice 8 assistant listasT8
VE.Bus SystemstringDevice 9 assistant listasT9
VE.Bus SystemstringDevice 10 assistant listasT10
VE.Bus SystemstringDevice 11 assistant listasT11
VE.Bus SystemstringDevice 12 assistant listasT12
VE.Bus SystemstringDevice 13 assistant listasT13
VE.Bus SystemstringDevice 14 assistant listasT14
VE.Bus SystemenumVE.Bus BMS allows battery to be chargedvbc
VE.Bus SystemenumVE.Bus BMS allows battery to be dischargedvbd
VE.Bus SystemenumVE.Bus BMS is expectedvbx
VE.Bus SystemenumVE.Bus BMS errorvbe
VE.Bus SystemenumHigh DC RippleeR
VE.Bus SystemenumTemperature L1eT1
VE.Bus SystemenumLow battery L1eL1
VE.Bus SystemenumOverload L1eO1
VE.Bus SystemenumHigh DC Ripple L1eR1
VE.Bus SystemenumTemperature L2eT2
VE.Bus SystemenumLow battery L2eL2
VE.Bus SystemenumOverload L2eO2
VE.Bus SystemenumHigh DC Ripple L2eR2
VE.Bus SystemenumTemperature L3eT3
VE.Bus SystemenumLow battery L3eL3
VE.Bus SystemenumOverload L3eO3
VE.Bus SystemenumHigh DC Ripple L3eR3
VE.Bus SystemstringError 11 report - unit 1e0
VE.Bus SystemstringError 11 id - unit 1c0
VE.Bus SystemstringError 11 report - unit 11e10
VE.Bus SystemstringError 11 id - unit 11c10
VE.Bus SystemstringError 11 report - unit 12e11
VE.Bus SystemstringError 11 id - unit 12c11
VE.Bus SystemstringError 11 report - unit 13e12
VE.Bus SystemstringError 11 id - unit 13c12
VE.Bus SystemstringError 11 report - unit 14e13
VE.Bus SystemstringError 11 id - unit 14c13
VE.Bus SystemstringError 11 report - unit 15e14
VE.Bus SystemstringError 11 id - unit 15c14
VE.Bus SystemstringError 11 report - unit 16e15
VE.Bus SystemstringError 11 id - unit 16c15
VE.Bus SystemstringError 11 report - unit 17e16
VE.Bus SystemstringError 11 id - unit 17c16
VE.Bus SystemstringError 11 report - unit 18e17
VE.Bus SystemstringError 11 id - unit 18c17
VE.Bus SystemstringError 11 report - unit 2e1
VE.Bus SystemstringError 11 id - unit 2c1
VE.Bus SystemstringError 11 report - unit 3e2
VE.Bus SystemstringError 11 id - unit 3c2
VE.Bus SystemstringError 11 report - unit 4e3
VE.Bus SystemstringError 11 id - unit 4c3
VE.Bus SystemstringError 11 report - unit 5e4
VE.Bus SystemstringError 11 id - unit 5c4
VE.Bus SystemstringError 11 report - unit 6e5
VE.Bus SystemstringError 11 id - unit 6c5
VE.Bus SystemstringError 11 report - unit 7e6
VE.Bus SystemstringError 11 id - unit 7c6
VE.Bus SystemstringError 11 report - unit 8e7
VE.Bus SystemstringError 11 id - unit 8c7
VE.Bus SystemstringError 11 report - unit 9e8
VE.Bus SystemstringError 11 id - unit 9c8
VE.Bus SystemstringError 11 report - unit 10e9
VE.Bus SystemstringError 11 id - unit 10c9
Battery MonitorfloatCapacityca
Battery MonitorfloatMinimum cell temperaturemcT
Battery MonitorfloatMaximum cell temperatureMcT
Battery MonitorstringModelBM
Battery MonitorstringFirmware versionBV
Battery MonitorstringSerial NumberBSN
Battery MonitorfloatVoltageV
Battery MonitorfloatStarter battery voltageVS
Battery MonitorfloatCurrentI
Battery MonitorfloatBattery temperatureBT
Battery MonitorfloatMid-point voltage of the battery bankVM
Battery MonitorfloatMid-point deviation of the battery bankVMD
Battery MonitorfloatConsumed AmphoursCE
Battery MonitorfloatState of chargeSOC
Battery MonitorfloatState of healthSOH
Battery MonitorfloatTime to goTTG
Battery MonitorfloatCVL - Charge Voltage Limitmvc
Battery MonitorfloatDVL - Discharge Voltage Limitmdv
Battery MonitorfloatCCL - Charge Current Limitmcc
Battery MonitorfloatDCL - Discharge Current Limitmdc
Battery MonitorenumAlarmAlarm
Battery MonitorenumLow voltage alarmAL
Battery MonitorenumHigh voltage alarmAH
Battery MonitorenumLow starter-voltage alarmALS
Battery MonitorenumHigh starter-voltage alarmAHS
Battery MonitorenumLow state-of-charge alarmASoc
Battery MonitorenumLow battery temperature alarmALT
Battery MonitorenumHigh battery temperature alarmAHT
Battery MonitorenumMid-voltage alarmAM
Battery MonitorenumLow fused-voltage alarmALF
Battery MonitorenumHigh fused-voltage alarmAHF
Battery MonitorenumFuse blown alarmAFB
Battery MonitorenumHigh internal-temperature alarmAHIT
Battery MonitorenumCell Imbalance alarmACI
Battery MonitorenumHigh charge current alarmAHC
Battery MonitorenumHigh discharge current alarmAHD
Battery MonitorenumHigh charge temperature alarmAHCT
Battery MonitorenumLow charge temperature alarmALCT
Battery MonitorenumInternal error alarmAIE
Battery MonitorenumLow cell voltageALCV
Battery MonitorenumRelay statusRelay
Battery MonitorfloatDeepest dischargeH1
Battery MonitorfloatLast dischargeH2
Battery MonitorfloatAverage dischargeH3
Battery MonitorfloatCharge cyclesH4
Battery MonitorfloatFull dischargesH5
Battery MonitorfloatTotal Ah drawnH6
Battery MonitorfloatMinimum voltageH7
Battery MonitorfloatMaximum voltageH8
Battery MonitorfloatTime since last full chargeH9
Battery MonitorfloatAutomatic syncsH10
Battery MonitorfloatLow voltage alarmsH11
Battery MonitorfloatHigh voltage alarmsH12
Battery MonitorfloatLow starter voltage alarmsH13
Battery MonitorfloatHigh starter voltage alarmsH14
Battery MonitorfloatMinimum starter voltageH15
Battery MonitorfloatMaximum starter voltageH16
Battery MonitorfloatLow fused-voltage alarmsH17
Battery MonitorfloatHigh fused-voltage alarmsH18
Battery MonitorfloatMinimum fused voltageH19
Battery MonitorfloatMaximum fused voltageH20
Battery MonitorfloatDischarged EnergyH21
Battery MonitorfloatCharged EnergyH22
Battery MonitorenumStateliS
Battery MonitorenumErrorliE
Battery MonitorenumSystem-switchSw
Battery MonitorenumBalancingB
Battery MonitorfloatSystem; number of batteriesnB
Battery MonitorfloatSystem; batteries parallelBP
Battery MonitorfloatSystem; batteries seriesBS
Battery MonitorfloatSystem; number of cells per batteryNrC
Battery MonitorfloatSystem; minimum cell voltagemcV
Battery MonitorfloatSystem; maximum cell voltageMcV
Battery MonitorfloatDiagnostics; shutdowns due to errorSe
Battery MonitorenumDiagnostics; 1st last errorLe1
Battery MonitorenumDiagnostics; 2nd last errorLe2
Battery MonitorenumDiagnostics; 3rd last errorLe3
Battery MonitorenumDiagnostics; 4th last errorLe4
Battery MonitorenumIO; allow to chargeaCh
Battery MonitorenumIO; allow to dischargeaD
Battery MonitorenumIO; external relayeRelay
Battery MonitorfloatHistory; Min cell-voltageliH1
Battery MonitorfloatHistory; Max cell-voltageliH2
IO ExtenderenumInput 1IN1
IO ExtenderenumInput 2IN2
IO ExtenderenumInput 3IN3
IO ExtenderfloatTemperatureT1
IO ExtenderenumOutput 1OUT1
IO ExtenderenumOutput 2OUT2
Solar ChargerstringSolarcharger modelScM
Solar ChargerstringSolar charger versionScVt
Solar ChargerstringSolar charger serial numberScSN
Solar ChargerfloatVoltageScV
Solar ChargerfloatCurrentScI
Solar ChargerfloatBattery wattsScW
Solar ChargerfloatBattery temperatureScT
Solar ChargerenumLoad stateSLs
Solar ChargerfloatLoad currentSLI
Solar ChargerenumCharger on/offScs
Solar ChargerenumCharge stateScS
Solar ChargerfloatPV voltagePVV
Solar ChargerfloatPV currentPVI
Solar ChargerfloatPV powerPVP
Solar ChargerenumMPPT StateScMm
Solar ChargerenumEqualization pendingEqP
Solar ChargerfloatEqualization time remainingEqT
Solar ChargerenumRelay on the chargerSRelay
Solar ChargerenumAlarm conditionSceA-unused
Solar ChargerenumLow batt. voltage alarmSceL
Solar ChargerenumHigh batt. voltage alarmSceH
Solar ChargerfloatYield todayYT
Solar ChargerfloatMaximum charge power todayMCPT
Solar ChargerfloatYield yesterdayYY
Solar ChargerfloatMaximum charge power yesterdayMCPY
Solar ChargerenumError codeScERR
Solar ChargerfloatUser yieldYU
TankfloatFluid LevelFL
TankfloatFluid Time to GoFTTG
TankstringProduct IDtP
TankstringFirmware versiontv
TankfloatTank capacitytc
TankenumTank fluid typetf
TankfloatTank leveltl
TankfloatTank remaining fluidtr
TankenumTank statusts
System overviewenumAC-InputAIS
System overviewfloatSolar Yield (hourly Delta)Pt
System overviewenum#1 Low SOC; discharge disabledssls
System overviewenum#2 BatteryLife is activessbl
System overviewenum#3 Charge disabled by BMSssdc
System overviewenum#4 Discharge disabled by BMSssdd
System overviewenum#5 Slow charge is activesssc
System overviewenum#6 Charge disabled by user settingssuc
System overviewenum#7 Discharge disabled by user settingssud
System overviewfloatPV - AC-coupled on output L1P
System overviewfloatPV - AC-coupled on output L2P2
System overviewfloatPV - AC-coupled on output L3P3
System overviewfloatPV - AC-coupled on input L1Pi
System overviewfloatPV - AC-coupled on input L2Pi2
System overviewfloatPV - AC-coupled on input L3Pi3
System overviewfloatPV - DC-coupledPdc
System overviewfloatAC Consumption L1a1
System overviewfloatAC Consumption L2a2
System overviewfloatAC Consumption L3a3
System overviewfloatGrid L1g1
System overviewfloatGrid L2g2
System overviewfloatGrid L3g3
System overviewfloatGenset L1gs1
System overviewfloatGenset L2gs2
System overviewfloatGenset L3gs3
System overviewfloatDC Systemdc
System overviewfloatVoltagebv
System overviewfloatCurrentbc
System overviewfloatVE.Bus charge currentvc
System overviewfloatBattery Powerbp
System overviewfloatVE.Bus charge powervp
System overviewfloatBattery State of Chargebs
System overviewenumBattery statebst
System overviewfloatBattery Consumed Amphoursba
System overviewfloatBattery Time to Gobt
System overviewenumCCGX Relay 2 statecRelay1
System overviewenumLG circuit breaker trippedlgcb
PV InverterstringPV Inverter ModelpM
PV InverterenumFronius device typepF
PV InverterstringPV Inverter Fw versionpV
PV InverterenumPositionpL
PV InverterstringSerialps
PV InverterfloatL1 VoltagepV1
PV InverterfloatL2 VoltagepV2
PV InverterfloatL3 VoltagepV3
PV InverterfloatL1 CurrentpI1
PV InverterfloatL2 CurrentpI2
PV InverterfloatL3 CurrentpI3
PV InverterfloatL1 PowerpP1
PV InverterfloatL2 PowerpP2
PV InverterfloatL3 PowerpP3
PV InverterfloatL1 EnergypE1
PV InverterfloatL2 EnergypE2
PV InverterfloatL3 EnergypE3
PV InverterenumStatuspS
PV InverterfloatPower LimitpLi
PV InverterenumErrorpE
BMSstringBMS ModelliM
BMSstringBMS Firmware versionliV
Motor drivefloatMotor RPMmr
Motor drivefloatMotor temperaturemt
Motor drivefloatController DC VoltagecoV
Motor drivefloatController DC CurrentcoC
Motor drivefloatController DC PowercoP
Motor drivefloatController TemperaturecoT
ChargerstringCharger modelcP
ChargerstringCharger versioncF
ChargerstringCharger serial numbercS
ChargerfloatOutput 1 - voltagec0V
ChargerfloatOutput 1 - currentc0I
ChargerfloatOutput 1 - temperaturec0T
ChargerfloatOutput 2 - voltagec1V
ChargerfloatOutput 2 - currentc1I
ChargerfloatOutput 3 - voltagec2V
ChargerfloatOutput 3 - currentc2I
ChargerfloatAC CurrentcI
ChargerfloatAC PowercPo
ChargerfloatAC Current limitcIl
ChargerenumCharger on/offcM
ChargerenumCharge statecSt
ChargerenumRelay on the chargercR
ChargerenumLow voltage alarmcAl
ChargerenumHigh voltage alarmcAh
ZBM NodestringProduct IdZID
ZBM NodestringFirmware versionZFV
ZBM NodeenumAir temperature sensor failureAZAT
ZBM NodeenumBattery temperature sensor failureAZBT
ZBM NodeenumBromide pump failureAZBP
ZBM NodeenumElectric board failureAZEB
ZBM NodeenumHigh temperature alarmAZHT
ZBM NodeenumHigh voltage alarmAZHV
ZBM NodeenumInternal failureAZIF
ZBM NodeenumLeak 1 trip alarmAZL1
ZBM NodeenumLeak 2 trip alarmAZL2
ZBM NodeenumLeak sensor failureAZLS
ZBM NodeenumOver current alarmAZOC
ZBM NodeenumState of health alarmAZSH
ZBM NodeenumUnknown errorAZU
ZBM NodeenumZinc pump failureAZZP
HeatingfloatWater heaterhw
HeatingfloatAir heaterha
HeatingfloatWater heater energyhx
HeatingfloatAir heater energyhb
Grid meterstringGrid meter modelgP
Grid meterfloatGrid L1 - Powerg1p
Grid meterfloatGrid L2 - Powerg2p
Grid meterfloatGrid L3 - Powerg3p
Grid meterfloatGrid L1 - Energy from netg1f
Grid meterfloatGrid L2 - Energy from netg2f
Grid meterfloatGrid L3 - Energy from netg3f
Grid meterfloatGrid L1 - Energy to netg1r
Grid meterfloatGrid L2 - Energy to netg2r
Grid meterfloatGrid L3 - Energy to netg3r
InverterfloatOutput currentiOI1
InverterfloatOutput voltageiOV1
InverterenumInverter on/off/ecoiM
InverterenumInverter stateiST
InverterenumHigh temperature alarmiHT
InverterenumHigh battery voltage alarmiHV
InverterenumHigh AC-Out voltage alarmiHVA
InverterenumLow temperature alarmiLT
InverterenumLow battery voltage alarmiLV
InverterenumLow AC-Out voltage alarmilVA
InverterenumOverload alarmiO
InverterenumRipple alarmiR
InverterstringFirmware versioniFV
InverterstringInverter modeliP
InverterstringInverter serial numberiSN
GeneratorfloatPhase 1 voltageG1v
GeneratorfloatPhase 1 currentG1c
GeneratorfloatPhase 1 powerG1p
GeneratorfloatPhase 1 frequencyG1f
GeneratorfloatPhase 2 voltageG2v
GeneratorfloatPhase 2 currentG2c
GeneratorfloatPhase 2 powerG2p
GeneratorfloatPhase 2 frequencyG2f
GeneratorfloatPhase 3 voltageG3v
GeneratorfloatPhase 3 currentG3c
GeneratorfloatPhase 3 powerG3p
GeneratorfloatPhase 3 frequencyG3f
GeneratorfloatStarter voltageGsv
GeneratorenumAuto startGas
GeneratorfloatEngine loadGel
GeneratorfloatEngine speedGes
GeneratorfloatEngine operating hoursGeo
GeneratorfloatEngine coolant temperatureGct
GeneratorfloatEngine winding temperatureGwt
GeneratorfloatEngine exhaust temperatureGet
GeneratorstringGenerator modelGP
GeneratorstringFirmware versionGv
Generator start/stopenumFisher Panda genset not detected at AC-inputgaNF
Generator start/stopenumGenerator not detected at AC-inputgaNG
Temperature sensorstringProduct IDtsP
Temperature sensorstringFirmware versiontsV
Temperature sensorfloatTemperature scale factortsc
Temperature sensorfloatTemperature offsettso
Temperature sensorenumTemperature typetst
Temperature sensorfloatTemperaturetsT
Temperature sensorenumTemperature statustsS
Gas meterenumProductIdgi
Gas meterfloatGas metergm
Pulse meterstringPulse meter product idpmP
Pulse meterfloatPulse meter aggregatema
Pulse meterfloatPulse meter countmc
Digital inputstringDigital input product iddiP
Digital inputenumDigital input alarmdia
Digital inputenumDigital input statedis
Digital inputfloatDigital input countdic
Digital inputenumDigital input typedit
DC meterenumProduct Iddpi
DC meterstringFirmware versiondf
DC meterfloatVoltagedV
DC meterfloatCurrentdI
DC meterfloatPowerdP
DC meterenumOutput statedO
DC meterenumError Flagsde
DC meterfloatEnergy TotaldE
Metereological sensorenumProduct IdmsP
Metereological sensorfloatSolar IrradiancemsI
Metereological sensorfloatWind speedmsW
Metereological sensorfloatCell temperaturemsC
Metereological sensorfloatExternal temperaturemsT

Please note: the interval of the returned unix timestamps is determined automatically, and always starts on the unix timestamp you request. If you want consistent unix timestamps, please use rounded unix timestamps and same time range lengths. This is done to ensure speed of our data backend. In general, a larger time range means bigger intervals.

State changes over a time range

State measurements are a specialized version of the normal measurement data. Instead of series of floats which can be graphed directly, these endpoints return a succession of changes between discrete states.

GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/VeBusState Returns state changes for the VE.Bus State for the default instance for the last day.

GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/MPPTState?instance=255&start=1451606400&end=1452815999 Returns state changes for the MPPT State for instance 255 for the first 14 days of the year 2016.

The available state data endpoints are as follows:


Summary data

Summary data return a simple set of last recorded values. These endpoints thus cannot be parameterized with a unix timestamp.

GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/BatterySummary Returns latest recorded values for the Battery Summary for the default instance.

GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/SolarChargerSummary?instance=255 Returns latest recorded values for the Solar Charger Summary for for instance 255.

The available summary endpoints are as follows:


Other endpoints

These endpoints return a custom data format.

GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/Alarm GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/GPS GET https://vrmapi.victronenergy.com/v2/installations/1039/widgets/HoursOfAC

Retrieve tags

GET https://vrmapi.victronenergy.com/v2/installations/1039/tags Returns all tags for the installation.

Download installation data in XLS / CSV format

This endpoint can be used to retrieve base64 encoded exports of installation data. They are used on VRM when you download your data from the advanced page.

Endpoint: https://vrmapi.victronenergy.com/v2/installations/{idSite}/data-download?start={start_unix_timestamp}&end={end_unix_timestamp}&format=csv|xls

Method: GET

The response will be a base64 encoded string which you can read and save as a file (as CSV or XLSX file depending on the format parameter).


  • start: start unix timestamp of the period you want to download data for
  • end: end unix timestamp of the period you want to download data for
  • format: can be csv or xls, depending on the output type you need
  • datatype: can be log or kwh. kwh returns energy readings for the installation, where log returns all data of relevant data attributes

Retrieve energy readings


This call allows you to request the so-called energy readings for a given installation/site for a given period and interval. To be able to access the data, you are required to have a valid and active token (see Authentication for more details).

Get the energy readings for a given site/installation

The energy readings consist of various data attributes, which can be combined to give a total amount. The values of the different data attributes for the given period and interval are returned, and the sum of the attributes is also included in the response of the endpoint.

Endpoint: https://vrmapi.victronenergy.com/v2/installations/{installation ID}/stats?type=kwh

Required parameters (GET):

start: Unix timestamp of the starting timestamp for which the stats should be retrieved

end: Unix timestamp of the ending timestamp for which the stats should be retrieved.

Please note: the granularity of our data is one hour, so if you want to make sure you retrieve accurate statistics, please round your start and end timestamps to closest whole hour, e.g.: 1486022639 should become: 1486022400 or 1486026000

interval: Interval for which the stats should be grouped in. Possible values: 15mins, hours, days, weeks, months and years

NOTE: At the moment of documenting the 15mins interval feature, the data is not yet stored in the database. Right now, the CCGX is sending the data on an hourly interval. One of the next firmware updates will contain the change to send, and therefore store, the data with an increased resolution, the 15 minute interval. Using the 15 minute interval on data stored per hour will result in an hourly interval until the firmware upgrade: the returned recordset will only contain records for the whole hour. And no records for the other three 15 minute intervals.

There is a maximum allowed time period for each interval, which is:

  • 31 days for: 15mins
  • 31 days for hours
  • 180 days for days
  • 140 days for weeks
  • 24 months for months
  • 5 years for years

Requesting a larger time period will result in an error:

{"success":false,"error_code":"no_data","errors":["Site has no stats for this period."]}

type: You can choose between two types of data to be obtained: kwh and custom. kwh has a predefined set of attributes that reflect the most common kWh data of the installation. If other attributes should be obtained, for the installation use the type custom.

attributeCodes[]: Specify which attributeCodes to retrieve. Works only with type=custom. Multiple codes can be sent using the format: attributeCodes[]=Gb&attributeCodes[]=Gc For a full list of attributes see: Available energy reading attributes

show_instance (default = 0): When show_instance=1, all the values per attribute are grouped per instance. Otherwise the values of all instances are assigned to the given installation. Note that when using show_instance=1 the format of the response changes to support the results per instance.

Method: GET

The response will be something like this for for example: https://vrmapi.victronenergy.com/v2/installations/975/stats?type=kwh&start=1441066216&end=1442067216&interval=days

  "success": true,
  "records": {
    "Pc": [
  "totals": {
    "Pb": 2.5122129,
    "Pc": 184.5783944,
    "Gb": 9.3752899,
    "Gc": 252.0008088,
    "Pg": 64.7871119,
    "Bc": 0.0182044,
    "kwh": 513.2720223

Retrieving aggregated statistics

This endpoint returns the total consumption / solar stats for a given installation for four time periods, year, month week and today. You cannot specify an interval or start and end.

GET https://vrmapi.victronenergy.com/v2/installations/1039/overallstats Returns aggregated statistics used in the live feed interface for the installation.

GET https://vrmapi.victronenergy.com/v2/installations/1039/overallstats?type=<type> Returns aggregated statistics of the specified type.

Optional parameters:

type: You can choose between two types of data to be obtained: kwh and custom. kwh has a predefined set of attributes that reflect energy readings. If other attributes should be obtained, use the type custom. See next field to specify which attributes to obtain.

attributeCodes[]: Specify which attributeCodes to retrieve. Works only with type=custom. Multiple codes can be sent using the format: attributeCodes[]=Gb&attributeCodes[]=Gc

All available energy reading attributes can be found here:

Sample response:

  "success": true,
  "records": {
    "year": {
      "totals": {
        "Gc": 2890.3096331091,
        "Pc": 444.43205584318,
        "Bc": 285.16498499073,
        "gc": false
      "percentages": {
        "Gc": 80,
        "Pc": 12,
        "Bc": 8,
        "gc": 0
    "month": {
      "totals": {
        "Gc": 181.18626743555,
        "Pc": 109.40366000833,
        "Bc": 46.909044223721,
        "gc": false
      "percentages": {
        "Gc": 54,
        "Pc": 32,
        "Bc": 14,
        "gc": 0
    "week": {
      "totals": {
        "Gc": 52.626889668405,
        "Pc": 20.215319919633,
        "Bc": 7.2363689020276,
        "gc": false
      "percentages": {
        "Gc": 66,
        "Pc": 25,
        "Bc": 9,
        "gc": 0
    "today": {
      "totals": {
        "Gc": 5.9271823316813,
        "Pc": 2.7864799629897,
        "Bc": 2.0481022689492,
        "gc": false
      "percentages": {
        "Gc": 55,
        "Pc": 26,
        "Bc": 19,
        "gc": 0

Personal access token endpoints

Users can create personal access tokens for usage with external services like IFTT. This document describes the API for creating, revoking and listing these tokens. These tokens can be used as an alternative way of authentication against the VRM Gonzales API.

Create a personal access token

Endpoint: https://vrmapi.victronenergy.com/v2/users/{idUser}/accesstokens/create

Method: POST


    "name": "Token #1"


    "success": true,
    "token": "abcd1234efab1234",
    "idAccessToken": 123

Response will contain the raw token . After returning there is no way of retrieving the token value again, since it is not stored plaintext in the database. Manually setting the expiry date is not yet supported.

Please note that the name of a token is unique per user, so adding a new token with an already existing name will result in an error.

Get all personal access tokens of a user

To get all personal access tokens for the current user:

Endpoint: https://vrmapi.victronenergy.com/v2/users/{idUser}/accesstokens/list

Method: GET

Response will look like:

    "success": true,
    "tokens": [
            "name": "Token #1",
            "idAccessToken": "50",
            "createdOn": "1508415114",
            "scope": "FULL_ACCESS",
            "expires": null
            "name": "Token #2",
            "idAccessToken": "51",
            "createdOn": "1508415116",
            "scope": "FULL_ACCESS",
            "expires": null
            "name": "Token #3",
            "idAccessToken": "52",
            "createdOn": "1508415119",
            "scope": "FULL_ACCESS",
            "expires": null

Please note that the scope is currently fixed to FULL_ACCESS. More scopes will be added later. Expiry can either be a Unix Timestamp, or null (which doesn't expire)

Revoke a personal access token

Endpoint: https://vrmapi.victronenergy.com/v2/users/{idUser}/accesstokens/{idAccessToken}/revoke

Method: GET


    "success": true,
    "data": {
        "removed": 3

Removed describes the amount of removed personal access tokens. {idAccessToken} can either be a * (wildcard), which will remove all existing personal access tokens for a user, or an identifier valid for the current user.

Using the access token

The access token can be used by setting it in the X-Authorization header like this:

X-Authorization: Token {token}
Last updated: 7/1/2019, 2:25:12 PM