GridPrice API
Free JSON API for live and historical US electricity prices — the same data the GridPrice app and this site run on, normalized into one format across ComEd, Ameren Illinois, ERCOT, NYISO, PJM, MISO, CAISO, ISO New England, SPP, and the Western EIM. 57 providers covering 41 states. No key required.
Base URL
https://gridprice.app/v1
Format
Every price point is
{"ms": 1784834400000, "price": 5.9} — ms is the UTC
epoch milliseconds of the start of the interval, price
is US cents per kWh. Arrays are sorted oldest-first. All endpoints are
CORS-open.
Endpoints
| Endpoint | Returns |
|---|---|
GET /v1/providers | list of provider ids |
GET /v1/current?provider=comed | the latest single reading |
GET /v1/feed?provider=comed | roughly the last 24 hours |
GET /v1/history?provider=comed&start=20260701&end=20260723 | stored history between two dates (YYYYMMDD, utility-local days) |
Try it
curl "https://gridprice.app/v1/current?provider=comed"
# → {"ms":1784834400000,"price":5.9}
curl "https://gridprice.app/v1/feed?provider=ercot-lz_houston"
# → [{"ms":…,"price":4.2},…]
curl "https://gridprice.app/v1/history?provider=pjm-peco&start=20260720&end=20260722"
# → [{"ms":…,"price":2.1},…]
Providers
GET /v1/providers always returns the authoritative list. Ids
are grouped by grid; where several share a prefix, only the suffix is shown
after the first.
| id | Source | Granularity |
|---|---|---|
comed | ComEd Hourly Pricing (IL) | 5-minute, live |
ameren-il | Ameren IL Power Smart Pricing | hourly, day-ahead |
ercot-lz_houston · lz_north · lz_south · lz_west · lz_aen · lz_cps | ERCOT load zones (TX) | 15-minute, live |
nyiso-nyc · longil · hudvl · capitl · centrl · west | NYISO zones (NY) | 5-minute, live |
pjm-peco · ppl · pseg · bge · pepco · dpl · dom · aep · atsi · aps | PJM zones (PA, NJ, MD, DC, DE, VA, OH, WV) | 5-minute, live |
miso-mn · wi · ia · mi · in · mo · ar · la · ms | MISO regional hubs (Midwest & South) | 5-minute, live |
spp-ok · ks · ne · sd · nd | SPP hubs (plains) | 5-minute, live |
caiso-np15 · sp15 | CAISO (CA) | 5-minute, live |
eim-pge · pacw · psei · nevp · azps · ipco · pace · pace-ut · pace-wy · nwmt · pnm | Western EIM areas (Northwest & Mountain West) | 5-minute, live |
isone-ma · ct · ri · nh · vt · me | ISO New England zones | 5-minute, live |
Errors
An unknown or missing provider returns HTTP 400 with a JSON
body like {"error":"unknown provider"}. Successful responses
are always HTTP 200 with JSON.
History depth
Our server samples every source every 5 minutes and stores what it sees, so history accumulates from July 2026 onward — including sources whose own archives expire (NYISO keeps only ~2 weeks; we keep everything from our start date).
Fair use
Free for personal and non-commercial projects at reasonable request rates (responses are cached about a minute — polling faster gains nothing). Data originates from public utility and grid-operator feeds and is informational only, not billing-quality; see our Terms of Use. Building something on this? Say hello — and consider buying me a coffee.