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.
GET /api/pvdaq/v3/data.format?parameters
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.
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. |
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. |
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. |
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": [
]
}
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>
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
Standard rate limits apply. No more than 1,000 requests may be made in any hour
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.
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. |