Skip to Content
kardashev is available for Python (PyPI) and JavaScript/TypeScript (npm)
API Reference

API Reference

Python

Client (hosted API)

from kardashev import Client kl = Client(base_url="https://data.kardashevlabs.org", timeout=30.0)
MethodDescription
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.

MethodDescription
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.

Last updated on