Platform

How to Choose an Electricity Price API for US Power Markets

Choose an electricity price API by checking sources, coverage and delivery. Explore Ask the Grid Data, with a worked ERCOT North Hub request.

James LePageNovember 3, 20268 min read

Ask the Grid Data catalog with the ERCOT as_prices ancillary-service price table and an event_time column profile open.

Ask the Grid Data, captured October 28, 2026: inspect ERCOT day-ahead ancillary-service prices and their fields before choosing how to use them.

An electricity price API lets your application request wholesale prices by market, location and delivery interval. The work usually continues after the price arrives. Investigating an expensive evening may also require load, generation and weather for the same period; evaluating a site may require its node and the hub used to hedge it. Choose the data that answers that question, then decide how your application should receive it.

Ask the Grid Data brings together market history, grid fundamentals, weather and asset context. Start by exploring datasets and their sources, fields, units and coverage. APIs bring selected records into your code, MCP connects compatible AI assistants, and a data subscription can supply the history and updates your team needs. Access and delivery options depend on the dataset.

This guide follows one small request, a day of ERCOT North Hub dispatch-price history, and the decisions around it. Explore Ask the Grid Data to find the starting dataset, or request a data evaluation around your markets, locations and historical period.

01

Start with the market question

Turn the question into a small acceptance test. For an expensive ERCOT evening, select the hub and price series, define the delivery window, and identify the load and generation records that cover it. Add weather at a geographic scale relevant to the question. The first test is whether the records can support that investigation; a longer historical request comes afterward.

A hub price, system-wide load and weather at a nearby station have different geographic scopes. Check timestamps, interval lengths, location identifiers and historical coverage before combining them. Agree on how to align those records, then preserve that choice with the analysis.

Your jobData to evaluateWhat to match
Investigate a price movePrices, load, generation, outages and weatherObservation times, intervals and geographic scope
Evaluate a site's exposureProject node and relevant hub pricesLocation identifiers, price definition and coverage
Reconcile an energy positionApplicable settlement-price seriesDelivery interval, revisions and settlement status
Backtest a forecastForecast vintages and matching actualsIssue time, target interval and what was knowable then
Build a data subscriptionRequired history and ongoing updatesTables, delivery cadence, usage rights and cost

02

Choose the price and its source

ERCOT provides a useful example of why names matter. Its SCED LMP product describes dispatch prices. Its settlement point price product produces prices every fifteen minutes from SCED LMPs. A history of the first does not become the second when you resample it. The market's price construction still matters.

Define location and unit just as carefully. A project's node can move differently from its hub when transmission binds. Wholesale prices in $/MWh and a state's average retail price in cents/kWh belong to different analyses. Preserve those distinctions when comparing API responses.

Public sources can be the right starting point. The EIA API exposes electricity series with metadata, frequency, filters and date ranges. Read the series definition: a retail sales series and an hourly grid operating series measure different things. Direct operator products are useful when you need the originating report and its exact market conventions.

A hosted data service takes on collection, history and a consistent way to query the records. Evaluate those services using your own locations and period. A sample covering a volatile day and a source revision will tell you more about suitability than a total dataset count.

03

Explore the datasets and inspect their coverage

In Ask the Grid Data, begin with the market and subject you need. Inspect the source, fields, units and coverage, then identify datasets that could supply the surrounding load, generation or weather context. Confirm their time and geographic scopes before planning the analysis.

A worksheet in Data lets you run read-only SQL over tables your organization can access. Start with a bounded period, inspect the rows and check the field definitions before building a recurring analysis. The walkthrough shows the ERCOT as_prices day-ahead ancillary-service table, including sorting and a column profile.

The API example below uses ercot_prices_rt for real-time dispatch-price history, with event_time, location_id and price_usd_mwh. For energy-settlement reconciliation, choose the applicable settlement-price series and check its revision status. History, nodal detail and price components vary by dataset.

For this market dataset API, confirm that the dataset appears in its queryable listing and inspect its API schema before requesting rows. The listing accepts a market and a queryable filter.

The generated API reference lists the request fields and response schema alongside the console's examples.

Discover queryable ERCOT datasets, then inspect the history dataset
curl 'https://askthegrid.com/api/v1/datasets?market=ERCOT&queryable=1'

curl 'https://askthegrid.com/api/v1/datasets/ercot_prices_rt'

04

Request a day of ERCOT North Hub history

This request selects North Hub, identified by HB_NORTH, and asks for three columns over October 1, 2026 in UTC. Both the location identifier and the hub kind are explicit. Keeping the selection small makes the response easier to inspect before requesting more locations or a longer period.

The from bound is inclusive and the to bound is exclusive, so adjoining windows can meet at the same timestamp. These bounds describe a UTC calendar day. For a Texas operating day, first calculate its start and end in the market's local clock, then convert both boundaries to UTC; the conversion changes with daylight saving time.

Request API access for your workspace in the developer console, then set ATG_API_KEY to the approved key in your server or research environment. Keep it outside browser bundles and shared notebooks. The console's reference describes the fields and operations available to your application.

Request canonical real-time dispatch-price history, in $/MWh
curl 'https://askthegrid.com/api/v1/datasets/ercot_prices_rt/query' \
  -X POST \
  -H "Authorization: Bearer $ATG_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "market": "ERCOT",
    "columns": ["event_time", "location_id", "price_usd_mwh"],
    "from": "2026-10-01T00:00:00Z",
    "to": "2026-10-02T00:00:00Z",
    "filters": [
      {"column": "location_id", "op": "eq", "value": "HB_NORTH"},
      {"column": "kind", "op": "eq", "value": "hub"}
    ],
    "orderBy": "event_time",
    "orderDir": "asc",
    "limit": 1000
  }'

05

Read completeness, time and revision status

The response identifies the dataset and market, names the columns and returns rows with a rowCount and a truncated flag. Check truncated, then compare rowCount with your requested limit. A result reaching that limit may be incomplete even when truncated is false. Use smaller windows and check their coverage before treating them as a complete history.

Then check time coverage. Compare the first and last timestamps with the requested bounds, look for repeated intervals and gaps, and preserve the timezone when storing the result. A missing price and a zero price mean different things. Negative wholesale prices are valid observations and need to survive parsing and aggregation.

Keep the source and price definition beside the numbers. Revisions can change a historical answer. If a result must reproduce what a trader or model knew at a particular moment, check whether the dataset preserves publication history. Today's historical series alone cannot establish yesterday's information set.

The same rule applies to forecasts: retain issue time and target interval, and evaluate the vintage available before the decision. The distinction between a dispatch signal and settled money is worked through in day-ahead vs real-time electricity prices.

06

Choose API access or a data delivery

An API suits an application requesting a selected location or period as people use it. A data subscription starts with the history and updates your team needs to retain: which tables, how far back, how often to deliver them and how corrections arrive. Once the small example reconciles, evaluate the delivery path against the full workload.

Ask whether pricing follows requests, rows, datasets, seats or a subscription, and whether the initial historical load costs extra. Include storage, egress, support and commitments for delayed or missing records. Confirm commercial use, retention, redistribution and derived-product rights for your destination.

For API integrations, check row limits and request allowances together, inspect completeness, and respect Retry-After when the service returns HTTP 429. Use the current reference for the limits applicable to your application.

To evaluate Ask the Grid for your own workload, request a data evaluation with the markets, locations, historical period and update cadence you need. Begin with the datasets, then settle the API, warehouse or other delivery requirements around that scope.

07

Use MCP when the caller is an AI assistant

Ask the Grid's MCP connection lets compatible AI assistants discover the data available to your account and make requests. It gives another way into the data product when identifying the right records is part of an investigation. Each series' definition still governs the work.

Start with a defined task: find ERCOT North Hub dispatch prices for October 1, 2026 in UTC, identify the source and units, and check for gaps. Then ask which load, generation or weather records cover that window. Have the assistant check scope and intervals before using those records to investigate the price move.

Use MCP setup to connect your client, or use the developer platform guide to follow the console's request and key-management workflow.

08

Power market data API FAQ

Is there a free electricity data API?
EIA provides a public API for electricity series, and operators publish their own public market products. Choose a source whose series matches the job, then check its registration requirements and usage terms. Average retail prices, grid operating data and nodal wholesale prices serve different purposes.
Can I get historical ERCOT prices through an API?
Yes. In Ask the Grid, discover queryable ERCOT datasets, inspect their coverage and request rows with approved application access. The example uses ercot_prices_rt for North Hub dispatch-price history. Confirm the specific dataset's history and price definition before using it for a settlement calculation.
Does real-time mean the latest settled price?
Real-time names a market or operational timescale. It does not establish settlement status or the delay between the source and your application. Check the product definition, observation timestamp, publication cadence and revision policy separately.
How do I get an Ask the Grid API key?
Sign in to the developer console and request API access for your workspace. Use its generated reference and examples to check which datasets and operations your application can use. Store the key privately and revoke or replace it when needed.
What should I test before choosing a provider?
Reconcile your actual location and price series for an ordinary day, a volatile day and a daylight-saving change. Check missing intervals, revisions, request limits and usage rights. Then run a bounded backfill and the ongoing update workflow before committing your application to a provider.