Register at developer.nrel.gov for an API key; pass it as the 'api_key' query parameter.
For annual average resource data, call GET https://developer.nrel.gov/api/solar/solar_resource/v1.json?api_key=<API_KEY>&lat=<LAT>&lon=<LON> to receive GHI, DNI, DHI, and wind speed averages.
For full hourly time-series (NSRDB PSM data), use the NSRDB Data Viewer API endpoint at https://developer.nrel.gov/api/nsrdb/v2/solar/psm3-download.json, providing lat, lon, year, your email, and attributes such as 'ghi,dni,dhi,air_temperature'.
The NSRDB download is asynchronous for large requests: the API returns a download URL or sends a link to the provided email; poll or wait for the CSV file rather than expecting an immediate inline response.
Parse the resulting CSV, noting that the first few rows are metadata headers (location, timezone, elevation) before the column headers and data rows begin.
Known gotchas
NSRDB data is available for specific years and geographic extents; requesting a year outside the dataset's coverage or a location outside the CONUS/Americas domain returns an error — check coverage maps before automating bulk downloads.
The solar_resource v1 endpoint returns only annual averages; developers expecting monthly or hourly resolution from this lightweight endpoint are often surprised — use the NSRDB endpoints for anything sub-annual.
Rate limits on NSRDB bulk downloads are strict; submitting many simultaneous requests for different coordinates can result in throttling or temporary bans — batch requests conservatively and include appropriate delays.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp