CAISO logo

CAISO Real-Time Prices

CAISO real-time locational marginal prices, one row per interval and location.

Native record
location x kind x 5-minute (RTD)
5-minute (RTD) publication cadence
Evidence
Observed market data
Published observations from the named source
Time basis
Interval-start records
UTC · event_time

Overview

15.76B rows, 2016-01 to now. Carries price_usd_mwh plus energy_usd_mwh, congestion_usd_mwh, loss_usd_mwh and ghg_usd_mwh — CAISO is the only market here that publishes a greenhouse-gas component. Locations are node (26k — including the TH_ trading hubs such as TH_SP15_GEN-APND; CAISO has no 'hub' kind), interface (the ties), zone (6 aggregates only); location_id joins atg.caiso_locations for the readable name, and kind is carried inline so a hub-only or zone-only question needs no join at all. Every market's real-time price table in this catalog has these same column names, so a cross-market price comparison is a UNION rather than a per-ISO rewrite. Revisions are already collapsed — read it plainly.

Query contract

One row is already the canonical price for (event_time, location_id, kind) — the refresh collapsed the source's revisions. Select the interval and the locations you need; do not de-duplicate again.

Analysis rules

  • Prices are intensive. Averaging across intervals gives a simple (unweighted) average price, which is not a settlement or load-weighted price; say which one you computed. Never sum prices across intervals or locations.
  • Do not add price_usd_mwh to its own components — they decompose it, they do not extend it.

Related analysis

  • resolving a location's readable name and type · join on location_id, and on kind where both carry it
  • day-ahead versus real-time basis at one location · aggregate real-time intervals to the delivery hour before comparing with the hourly day-ahead price

Interpretation

  • This is the five-minute RTD run. CAISO's fifteen-minute RTPD run is a different market with different prices and lives in caiso.lmp_rtpd_15m; do not describe one as the other.
  • At 15.76 billion rows this is the largest table in the warehouse. A query without an event_time predicate will hit the agent account's row cap and error rather than return.

Access

Query from your own tools

Use the guarded HTTP endpoint directly, or connect an MCP client and load the dataset contract with describe_data before calling query_data.

HTTP endpoint
POST /api/v1/datasets/caiso_prices_rt/query

Need the full history of this dataset in Snowflake, Databricks or your own storage? Data services delivers it on a schedule.

Schema8

Column
Type
event_timeDateTime64(6, 'UTC')
location_idLowCardinality(String)
kindLowCardinality(String)
price_usd_mwhNullable(Float32)
energy_usd_mwhNullable(Float32)
congestion_usd_mwhNullable(Float32)
loss_usd_mwhNullable(Float32)
ghg_usd_mwhNullable(Float32)

Sample data

event_timelocation_idkindprice_usd_mwhenergy_usd_mwhcongestion_usd_mwhloss_usd_mwhghg_usd_mwh
2026-10-13 09:50:00.000000FNTRG1_7_N001node48.8766735.270970-0.3743113.98
2026-10-13 09:50:00.000000FNW_LNODEXF1node35.7706135.2697700.500830
2026-10-13 09:50:00.000000FOBES_BP_LNODEFMRnode35.0358535.272170-0.236320
2026-10-13 09:50:00.000000FOLSOM_2_N022node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N023node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N024node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N025node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N026node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N027node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N028node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N029node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_2_N030node49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_7_UNIT1GNODEnode49.4738135.2721700.2216313.98
2026-10-13 09:50:00.000000FOLSOM_7_UNIT2GNODEnode49.4787335.2721700.2265613.98
2026-10-13 09:50:00.000000FOLSOM_7_UNIT3GNODEnode49.1438235.272170-0.1083513.98
2026-10-13 09:50:00.000000FOLSOM_7_UNITS-APNDnode49.1551435.272170-0.0970413.98
2026-10-13 09:50:00.000000FOOTECRE_7_UNITS-APNDnode33.8119835.268570-1.456590
2026-10-13 09:50:00.000000FOOTECRE_LNODELDnode33.8119835.268570-1.456590
2026-10-13 09:50:00.000000FORT_HUA_LNODEFH14BMAINNnode35.2967935.2685700.028210
2026-10-13 09:50:00.000000FOOTHILL_1_N001node49.8272135.2709700.5762413.98
2026-10-13 09:50:00.000000FOOTHILL_LNODE33node35.7212335.2697700.451450
2026-10-13 09:50:00.000000FOOTHILL_LNODE63node35.7212335.2697700.451450
2026-10-13 09:50:00.000000FOOTECRE_NODE1node33.8119835.268570-1.456590
2026-10-13 09:50:00.000000FORTDOUG_LNODED1node35.4202335.2685700.151650
2026-10-13 09:50:00.000000FORTORD_6_N025node49.393835.2709700.1428313.98

Coverage

Showing the last 245 days of a 3,939-day history (Jan 1, 2016 → Oct 13, 2026). This dataset holds 16.1B rows — too many to count day by day on every visit — so the calendar and the figures below cover the window from Feb 11, 2026.

100.0% complete0 gap days245 days with data
Show coverage history
Coverage: 100.0%Days with data: 245Gaps: 0
2026
gaplessmore