ERCOT Public API · 8 datasets · updated continuously
The Texas grid, priced by how fast you need it.
Every plan draws the same charts from the same ERCOT products. What you pay for is latency, history depth and programmatic access — the dashboard is free on an hour’s delay, and paid tiers see the market as it clears and can query it from your own systems.
Free
Free
No card required
- Real-time, no delay
- 30 days of history
- Full dashboard access
- 1,000 API calls / month
- 10 requests / minute burst
Starter
$49/mo
Billed monthly, cancel any time
- Real-time, no delay
- 90 days of history
- Dashboard + REST API
- 50,000 API calls / month
- 60 requests / minute burst
Pro
$199/mo
Billed monthly, cancel any time
- Real-time, no delay
- 2 years of history
- Dashboard + REST API
- 500,000 API calls / month
- 300 requests / minute burst
Enterprise
Custom
Annual contract — talk to us
- Real-time, no delay
- 10 years of history
- Dashboard + REST API
- Unmetered API calls
- 1,200 requests / minute burst
- Support & uptime commitments
Common questions
What exactly is delayed on the free plan?
The delay applies to when we received a row, not to the timestamp it describes. So tomorrow’s cleared day-ahead prices and the seven-day load forecast are still there on a free key — you just see each figure an hour after a paid key did.
Do failed requests cost me quota?
No. A rate-limited 429 and a 500 on our side are both free. Only successful responses count against your monthly allowance, so a retry storm costs you a wait, not your month.
How do I know how much I have used?
Every response carries X-Quota-Limit, X-Quota-Used and X-Quota-Remaining. There is no separate usage endpoint to poll and no surprise at the end of the month.
Is the data authoritative?
It is ERCOT’s own public data, unmodified — but ERCOT publishes it “as is” and disclaims accuracy, so we do too. Use it for analysis and monitoring, not as a settlement record.
Fair use, in plain terms
Quotas are enforced per calendar month (UTC) with a per-minute burst ceiling. Exceed the burst and you get 429 with a Retry-After header.
The exact accounting rules
The monthly counter and the per-minute counter are incremented in a single atomic statement, and the monthly counter only moves when the burst check has already passed. That ordering is deliberate: without it, a client retrying aggressively against a 429 would burn a month’s allowance in a couple of minutes and lock itself out — being rate-limited would cost more than being served.
Counters reset at the start of each UTC month. Unused calls do not roll over. Hitting the monthly ceiling returns 429 monthly_quota rather than silently degrading the data, so you always know which limit you met.