Developer Network NREL NREL Developer Network

Raw Data (GET /api/pvdaq/v3/data)

Return raw data for a specific PVDAQ system and date range. NOTE: Due to the large amounts of data being logged in some cases, some systems may only be able to return data for a single day at a time, or in some cases, a single hour at a time, without the queries timing out. Alternatively, you can download full-year CSV files of the raw data for systems via the PVDAQ data_file API.

Request URL

GET /api/pvdaq/v3/data.format?parameters

HTTP Basic Authentication

You can access public PVDAQ data with just your developer API key. For access to non-public data you must also provide a PVDAQ username and password via HTTP Basic Authentication. For access to non-public data, contact Chris Deline.

Request Parameters

Parameter Required Value Description
format Yes
Type: string
Default: None
Options: json, xml

The output response format. Given in the URL as the file extension.

api_key Yes
Type: string
Default: None

Your developer API key. See API keys for more information.

system_id Yes
Type: integer
Default: None

Return data for the given system ID. Your PVDAQ user account must have access to the given system.

start_date Yes
Type: date
Default: None

Return data between this start date and the end_date given (MM/DD/YYYY format)

end_date Yes
Type: date
Default: None

Return data between the start_date given and this end date (MM/DD/YYYY format).

hour No
Type: integer
Default: None
Range: 0 to 23

Return data for a single hour of a specific day. You must pass in the same date for start_date and end_date along with hour.

Response Fields

Field Value Description
outputs
Type: record
A record containing the data and header names. See output record fields for response details.
errors
Type: array

If errors were encountered, a list describing each error. Errors will be returned with an HTTP status code of 422 (Unprocessable Entity).

warnings
Type: array

List of warnings, including information about API deprecations.

infos
Type: array

List of additional, non-error information.

inputs
Type: record

List of request parameters given.

version
Type: string

The current version of the PVDAQ web service.

Output Record Fields

Field Value Description
data
Type: array
An array of records containing the data for the site. The first row lists the field names.
headers
Type: record
List of header names used in the associated output data.

Examples

JSON Output Format

GET /api/pvdaq/v3/data.json?api_key=DEMO_KEY&system_id=2&start_date=3/24/2011&end_date=3/25/2011
{
  "errors": [

  ],
  "infos": [

  ],
  "inputs": {
    "api_key": "DEMO_KEY",
    "end_date": "3/25/2011",
    "start_date": "3/24/2011",
    "system_id": "2"
  },
  "outputs": {
    "data": [
      [
        "SiteID",
        "Date-Time",
        "poa_irradiance",
        "dc_power",
        "dc_pos_voltage",
        "dc_pos_current",
        "module_temp_1",
        "das_temp",
        "das_battery_voltage"
      ],
      [
        2,
        "2011-03-24 00:00:00",
        0,
        -0.0002,
        -0.7311,
        0.0003,
        -3.5754,
        4.3217,
        12.2088
      ],
      [
        2,
        "2011-03-24 00:01:00",
        0,
        -0.0002,
        -0.767,
        0.0003,
        -3.4774,
        4.2991,
        12.2088
      ]
    ],
    "headers": [
      "SiteID",
      "Date-Time",
      "poa_irradiance",
      "dc_power",
      "dc_pos_voltage",
      "dc_pos_current",
      "module_temp_1",
      "das_temp",
      "das_battery_voltage"
    ]
  },
  "version": "3.0.0",
  "warnings": [

  ]
}

XML Output Format

GET /api/pvdaq/v3/data.xml?api_key=DEMO_KEY&system_id=2&start_date=3/24/2011&end_date=3/25/2011
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <errors type="array"/>
  <outputs>
    <headers type="array">
      <header>SiteID</header>
      <header>Date-Time</header>
      <header>poa_irradiance</header>
      <header>dc_power</header>
      <header>dc_pos_voltage</header>
      <header>dc_pos_current</header>
      <header>module_temp_1</header>
      <header>das_temp</header>
      <header>das_battery_voltage</header>
    </headers>
    <data type="array">
      <datum type="array">
        <datum>SiteID</datum>
        <datum>Date-Time</datum>
        <datum>poa_irradiance</datum>
        <datum>dc_power</datum>
        <datum>dc_pos_voltage</datum>
        <datum>dc_pos_current</datum>
        <datum>module_temp_1</datum>
        <datum>das_temp</datum>
        <datum>das_battery_voltage</datum>
      </datum>
      <datum type="array">
        <datum type="integer">2</datum>
        <datum>2011-03-24 00:00:00</datum>
        <datum type="float">0.0</datum>
        <datum type="float">-0.0002</datum>
        <datum type="float">-0.7311</datum>
        <datum type="float">0.0003</datum>
        <datum type="float">-3.5754</datum>
        <datum type="float">4.3217</datum>
        <datum type="float">12.2088</datum>
      </datum>
      <datum type="array">
        <datum type="integer">2</datum>
        <datum>2011-03-24 00:01:00</datum>
        <datum type="float">0.0</datum>
        <datum type="float">-0.0002</datum>
        <datum type="float">-0.767</datum>
        <datum type="float">0.0003</datum>
        <datum type="float">-3.4774</datum>
        <datum type="float">4.2991</datum>
        <datum type="float">12.2088</datum>
      </datum>
    </data>
  </outputs>
  <warnings type="array"/>
  <infos type="array"/>
  <inputs>
    <api-key>DEMO_KEY</api-key>
    <system-id>2</system-id>
    <start-date>3/24/2011</start-date>
    <end-date>3/25/2011</end-date>
  </inputs>
  <version>3.0.1</version>
</response>

CSV Output Format

GET /api/pvdaq/v3/data.csv?api_key=DEMO_KEY&system_id=2&start_date=3/24/2011&end_date=3/25/2011
SiteID,Date-Time,poa_irradiance,dc_power,dc_pos_voltage,dc_pos_current,module_temp_1,das_temp,das_battery_voltage
2,2011-03-24 00:00:00,0.0,-0.0002,-0.7311,0.0003,-3.5754,4.3217,12.2088
2,2011-03-24 00:01:00,0.0,-0.0002,-0.767,0.0003,-3.4774,4.2991,12.2088

Rate Limits

Standard rate limits apply. No more than 1,000 requests may be made in any hour

Data Limits

If the service estimates that the amount of data that will be returned for a requested system and date range cannot be generated and returned in a reasonable amount of time it will return an error message with a suggested date range to try again. The infos section will also include URLs where you can download the full annual CSV of raw data for the system and year(s) for the requested date range.

Errors

Standard errors may be returned. In addition, the following service-specific errors may be returned:

HTTP Status Code Description
401 Unauthorized - For access to non-public PVDAQ data, you must also provide a username and password for your PVDAQ account via HTTP Basic Authentication. For login credentials, contact Chris Deline.
422 Unprocessable Entity - An invalid value was given for a query parameter. The response body will describe the specific error.
Help Improve this Content