API version 2.1 — Live

Powering fast, accurate financial models for solar + storage.

Convert lat/long coordinates directly into kW production, 8760-hour load profiles, and dollar savings. Utility-grade accuracy. Millisecond latency.

Detailed 8760-hour simulation.

We run a full 8760-hour simulation for every quote, combining localized weather data and utility tariffs to produce reliable savings estimates.

SYS.01

8,760-Hour Precision

We simulate all 8,760 hours of the year, adjusting baseline climate profiles against actual consumption to model power usage accurately.

SYS.02

Local Climate Data

We map coordinates to specific utility territories and climate zones, accounting for boundary overlaps to ensure localized accuracy.

SYS.03

Directional Solar Modeling

We use hardware specs, roof tilt, and azimuth combined with NREL metrics to estimate production.

SYS.04

Complex Tariffs & NEM 3.0

We calculate net usage against utility rate schedules, handling TOU periods, non-bypassable charges, and Avoided Cost Calculator (ACC) export credits.

Straightforward API endpoints.

Integrate localized net-metering and production data directly into your platform.

POST
/v1/identify-rates
Geocode coordinates to identify utility territory, pre-solar and post-solar rate schedules, and climate zone.
GET
/v1/utilities/:slug/rates
List all rate schedules including TOU periods, tiered pricing, and solar eligibility.
POST
/v1/quotes
Generate a complete solar savings quote: hourly simulation, before/after bills, and 25-year NPV.
# Generate a full physical quote in millisecond latency
curl -X POST https://api.solarsavingsdata.com/v1/quotes \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA",
    "system_size_kw": 8.0,
    "annual_kwh": 10000
  }'
import { SolarAPI } from '@solarsavings/node';

const solar = new SolarAPI('sk_live_...');

const quote = await solar.quotes.create({
  address: '1600 Amphitheatre Parkway, Mountain View, CA',
  systemSizeKw: 8.0,
  annualKwh: 10000
});

console.log(quote.financials.year1Savings);
import solarsavings

solar = solarsavings.Client(api_key="sk_live_...")

quote = solar.quotes.create(
    address="1600 Amphitheatre Parkway, Mountain View, CA",
    system_size_kw=8.0,
    annual_kwh=10000
)

print(quote.financials.year1_savings)

Request API Keys

Get immediate access to the sandbox environment.