pvnodepvnode
  • pvnode.com
  • Studio
  • Pricing
  • Deutsch
  • English
  • API Reference
Product
  • Studio
  • API Documentation
  • API Reference
  • Pricing
Resources
  • Quickstart
  • Integrations
Legal
  • Imprint
  • Privacy
  • Terms
  • Licenses
pvnodepvnode

© 2026 pvnode. All rights reserved.

linkedin
IntroductionQuickstartMigration from V1
Sites & Data
    Sites & StringsForecastsHistorical DataData UploadCalibration & Monitoring
Guides
Enterprise
Integrations
(Archive) V1 API
powered by Zudoku
Sites & Data

Historical Data

Historical data delivers past PV yields and weather data for a site. As with the forecast, you query via the site_id; site, strings and configuration come from the stored site.

TerminalCode
GET /v2/historical/{site_id}

In V2, the old V1 endpoints /recent and /history are merged into a single endpoint.

The full parameter and field list is in the API Reference. This page explains the concepts.

Choosing a time range

You specify the time range either as a rolling window (period) or with a fixed start/end date — not both.

Rolling window: period

period follows the pattern ^\d+[dmy]$:

SuffixMeaning
dDays (e.g. 7d)
mMonths (e.g. 3m = 3 months)
yYears (e.g. 1y = 1 year)
TerminalCode
GET /v2/historical/{site_id}?period=30d

Plain numbers (30) are rejected.

Fixed window: start_date / end_date

ISO dates (YYYY-MM-DD), both required together:

TerminalCode
GET /v2/historical/{site_id}?start_date=2026-01-01&end_date=2026-01-31

Mixing period with start_date/end_date yields 400.

include groups

Like the forecast, but without clearsky:

GroupFields
defaultpv_power (PV power in W).
weatherTemperature, weather code, wind, humidity, precipitation, snow.
irradianceghi, dhi, bni.
allAll groups plus the strings block.

Historical responses contain no daily aggregate and no clear-sky values — only values and (with strings/all) the per-string strings block. The strings block works as in the forecast.

Validation & limits

The requested time range is checked against the plan and plausibility:

  • end_date may be at most yesterday.
  • start_date ≤ end_date.
  • Span or start date ≤ your plan limit.

Violations yield 400 with an explanatory message.

Limit / errorBehavior
Historical API accessWithout historical access in the plan → 403.
Monthly historical limitMonthly request limit (per user & endpoint) → 429 when exceeded.
max_period_daysMaximum span per request.
earliest_start_dateEarliest retrievable date.

There is no caching; every successful request counts toward the monthly limit.

You'll find your specific limits on the Usage & Limits page.

Last modified on June 9, 2026
ForecastsData Upload
On this page
  • Choosing a time range
    • Rolling window: period
    • Fixed window: start_date / end_date
  • include groups
  • Validation & limits