API Reference
Python
Client (hosted API)
from kardashev import Client
kl = Client(base_url="https://data.kardashevlabs.org", timeout=30.0)| Method | Description |
|---|---|
fuel_mix(iso) | Generation by fuel type |
carbon(iso) | Carbon intensity (lbs CO2/MWh) |
carbon_latest() | Latest carbon intensity for all ISOs |
lmp(iso, market, node_id, limit) | LMP price history |
lmp_map(iso, market) | All nodes with latest price + coordinates |
lmp_hubs(iso) | Hub/zone node list |
load(iso) | Actual grid load |
load_forecast(iso) | Load forecast |
generation_wind_solar(iso) | Wind/solar generation forecast |
generation_battery() | Battery storage (CAISO) |
generation_btm_solar() | Behind-the-meter solar (NYISO) |
generation_reserve_margins() | Planning reserve margins |
curtailment(iso) | Renewable curtailment |
interchange(ba) | Tie-line power flows |
nat_gas(hub) | Natural gas spot prices |
nat_gas_storage() | EIA weekly storage report |
weather(iso) | Weather observations |
bpa() | BPA balancing area (wind, hydro, thermal, load) |
outages_summary() | Total MW in outage by ISO x type |
ancillary(iso, market) | Ancillary service prices |
ancillary_latest() | Latest ancillary snapshot |
nuclear_status() | Nuclear plant capacity/output |
nuclear_summary() | Nuclear fleet capacity/output summary |
emissions(iso) | SO2/NOx/CO2 emission rates |
hydro_reservoirs() | Reservoir storage levels |
hydro_reservoirs_latest() | Latest reservoir snapshot |
hydro_streamflow() | USGS streamflow by site |
solar_irradiance() | Solar irradiance by location |
solar_irradiance_locations() | Tracked irradiance stations |
solar_irradiance_latest() | Latest irradiance snapshot |
queue(iso) | Interconnection queue |
commodities_coal() | Coal prices by rank |
commodities_petroleum() | Petroleum spot prices |
commodities_power_burn() | Gas consumed for power generation |
steo_forecast() | EIA Short-Term Energy Outlook |
carbon_markets() | RGGI/WCI carbon market prices |
Note: outages() (unit-level generator outages) and commodities_coal()/commodities_power_burn() currently return HTTP 500 from the hosted API - a known backend issue, not a client bug. Everything else in this table is verified working.
Direct ISO classes
CAISO
get_fuel_mix(), get_load(), get_lmp(market, node, start, end), get_curtailment(), get_load_forecast(start, end), get_generator_outages()
ERCOT
get_fuel_mix(), get_fuel_mix_historical(start, end), get_wind_generation(), get_solar_generation(), get_load_forecast(), get_lmp(market, date), get_ancillary_services()
MISO
get_fuel_mix(), get_fuel_mix_today(), get_load_forecast(date), get_lmp(market, date), get_generator_outages(date)
NYISO
get_fuel_mix(date), get_load(date), get_load_forecast(date), get_lmp(market, date), get_interconnection_queue()
ISONE
get_fuel_mix(date), get_load(start, end), get_load_forecast(start, end), get_lmp(market, location, ...) (requires ISONE_USERNAME / ISONE_PASSWORD), get_interconnection_queue()
SPP
get_fuel_mix(), get_fuel_mix_365(), get_lmp(), get_load_forecast(date), get_curtailment(date)
PJM
get_lmp(market, node_id, start, end) - still routes through legacy DataMiner2 hourly CSV feeds (PJM_USERNAME / PJM_PASSWORD), which PJM decommissioned in 2026-07. Prefer Client.lmp(iso="PJM", ...) until the public class is rewired to api.pjm.com. Package helpers for instantaneous load and unverified 5-min RT LMP already talk to api.pjm.com (public subscription key / optional PJM_API_KEY).
JavaScript / TypeScript
Client (hosted API)
import { Client } from "kardashev";
const kl = new Client({ baseUrl: "https://data.kardashevlabs.org", timeoutMs: 30000 });There is no direct ISO scraper equivalent in JavaScript - only the hosted API client below. All method names are camelCase versions of the Python Client methods, with the same corrected endpoints.
| Method | Description |
|---|---|
fuelMix(iso, opts) | Generation by fuel type |
carbon(iso, opts) | Carbon intensity (lbs CO2/MWh) |
carbonLatest(iso?) | Latest carbon intensity for all ISOs |
lmp(iso, opts) | LMP price history |
lmpMap(iso, market?) | All nodes with latest price + coordinates |
lmpHubs(iso?) | Hub/zone node list |
load(opts) | Actual grid load |
loadForecast(opts) | Load forecast |
generationWindSolar(iso, opts) | Wind/solar generation forecast |
generationBattery(opts) | Battery storage (CAISO) |
generationBtmSolar(opts) | Behind-the-meter solar (NYISO) |
generationReserveMargins(iso?) | Planning reserve margins |
curtailment(opts) | Renewable curtailment |
interchange(ba, opts) | Tie-line power flows |
natGas(opts) | Natural gas spot prices |
natGasStorage(opts) | EIA weekly storage report |
weather(opts) | Weather observations |
bpa(opts) | BPA balancing area (wind, hydro, thermal, load) |
outagesSummary(iso?) | Generator outage summary |
ancillary(opts) | Ancillary service prices |
ancillaryLatest(iso?) | Latest ancillary snapshot |
nuclearStatus(iso?) | Nuclear plant capacity/output |
nuclearSummary(iso?) | Nuclear fleet capacity/output summary (returns one object, not rows) |
emissions(opts) | SO2/NOx/CO2 emission rates |
hydroReservoirs(opts) | Reservoir storage levels |
hydroReservoirsLatest() | Latest reservoir snapshot |
hydroStreamflow(opts) | USGS streamflow by site |
solarIrradiance(opts) | Solar irradiance by location |
solarIrradianceLocations() | Tracked irradiance stations |
solarIrradianceLatest() | Latest irradiance snapshot |
queue(opts) | Interconnection queue |
commoditiesCoal(opts) | Coal prices by rank |
commoditiesPetroleum(opts) | Petroleum spot prices |
commoditiesPowerBurn(opts) | Gas consumed for power generation |
steoForecast() | EIA Short-Term Energy Outlook |
carbonMarkets(opts) | RGGI/WCI/VCM carbon credit prices |
Same known backend issues apply: outages() and commoditiesCoal()/commoditiesPowerBurn() currently 500.
See Supported ISOs for a coverage matrix, and Examples for runnable scripts in both languages.