(GET) Pricing SCE
Stage (test): https://pe-api.gridx.com/stage/v1/getPricing
Production: https://pe-api.gridx.com/v1/getPricing
Description
The getPricing API can be used to either request historical dynamic prices, or to fetch current prices by adjusting the parameters. When requesting historical prices, the prices that are returned will be the last and final generated price for that interval on that date. Historical prices will be available for every interval back through July 1st 2025.
Prices are generated at ~ 6PM Pacific Time. Occasionally, the CAISO data requires a few retries to successfully retrieve. In those cases, prices will be generated a few minutes after 6pm. If you are automating a scheduled API call, 6:15PM will ensure you never request prices before they are generated for the next day.
Sample Request
Query Parameters
Parameter | Description |
---|---|
market | Only DAM (day ahead market) is accepted right now |
program | Only CalFuse is accepted right now |
startdate | Format is YYYYMMDD (e.g. 20240927) *note, for optimal performance, do not request more than two weeks of prices at once |
utility | SCE |
enddate | Format is YYYYMMDD (e.g. 20240927) *note, for optimal performance, do not request more than two weeks of prices at once |
ratename | Rate code and voltage class. The current list of available rate names is as follows:
|
representativeCircuit | Alamitos |
Response Codes
200: all data returned normally
204: data is not available for any of the time period requested. Variations of this failure code include:
"The provided date format is invalid. Please use YYYY-MM-DD."`
"Start date cannot be empty. Please provide a valid date."`
"End date cannot be empty. Please provide a valid date."`
"The specified CCA name does not exist. Please provide a valid CCA name."`
"The specified utility or program name does not exist. Please provide a valid utility and program name.
""The provided rate code does not match the selected utility. Please provide a valid rate code."`
"The specified circuit ID is invalid or does not exist. Please provide a valid circuit ID."`
Prices are available from 2024-06-01 through to a week from today's date. Please provide a valid start and end date.
Json Response
Response Structure
The API response is a JSON object with two top-level keys: meta and data.
JSON:
{
"meta": {
"code": 200,
"requestURL": "https://sce-api-prod.gridx.com/v1/getpricing",
"requestBody": "{\"enddate\":\"20250701\",\"market\":\"DAM\",\"program\":\"CalFUSE\",\"ratename\":\"TOU-EV-9S\",\"representativeCircuitId\":\"System\",\"startdate\":\"20250701\",\"utility\":\"SCE\"}",
"response": "Request succeeded"
},
"data": [
{
"priceHeader": {
"priceCurveName": "SCE-CalFUSE-TOU-EV-9S-SECONDARY",
"marketName": "CAISO-DAM",
"intervalLengthInMinutes": 60,
"settlementCurrency": "USD",
"settlementUnit": "kWh",
"startTime": "2025-07-01T00:00:00-0700",
"endTime": "2025-07-01T23:59:59-0700",
"recordCount": 24
},
"priceDetails": [
{
"startIntervalTimeStamp": "2025-07-01T00:00:00-0700",
"intervalPrice": "0.139976",
"priceStatus": "Final",
"priceComponents": [
{
"component": "abank",
"intervalPrice": "0.009422",
"priceType": "distribution"
},
{
"component": "bbank",
"intervalPrice": "0.008459",
"priceType": "distribution"
},
{
"component": "circuitpricecurve",
"intervalPrice": "0.006268",
"priceType": "distribution"
},
{
"component": "mec",
"intervalPrice": "0.054316",
"priceType": "generation"
},
{
"component": "nbc",
"intervalPrice": "0.041390",
"priceType": "nonbypassablecharge"
},
{
"component": "ppf",
"intervalPrice": "0.019446",
"priceType": "generation"
},
{
"component": "ramp",
"intervalPrice": "0.000044",
"priceType": "generation"
},
{
"component": "transmissionpricecurve",
"intervalPrice": "0.000631",
"priceType": "transmission"
}
]
},
// ... (remaining 23 priceDetail objects)
]
}
]
}
Top-Level Fields
Field | Type | Description |
meta | Object | Contains metadata about the API request and response. |
data | Array | An array containing the primary pricing data. In this response, it contains a single object with priceHeader and priceDetails. |
meta Object Details
Field | Type | Description |
code | Number | The HTTP status code of the response. For a successful request, this is 200. |
requestURL | String | The URL endpoint that was called for this API request. |
requestBody | String | The JSON request body sent to the API, represented as a string. Note: The inner JSON is escaped. |
response | String | A human-readable message indicating the outcome of the request. For success, this is "Request succeeded". |
data Array - Object Structure
Each object within the data array represents a set of pricing information, typically for a specific price curve or tariff.
Field | Type | Description |
priceHeader | Object | Contains general information about the price curve. |
priceDetails | Array | An array of objects, each representing pricing details for a specific time interval. |
priceHeader Object Details
Field | Type | Description |
priceCurveName | String | The unique name of the price curve or tariff that the data represents (e.g., "SCE-CalFUSE-TOU-EV-9S-SECONDARY"). |
marketName | String | The name of the energy market relevant to the pricing data (e.g., "CAISO-DAM" for California Independent System Operator - Day-Ahead Market). |
intervalLengthInMinutes | Number | The duration of each price interval in minutes. In this example, 60 indicates hourly prices. |
settlementCurrency | String | The currency in which the prices are denominated (e.g., "USD"). |
settlementUnit | String | The unit of energy for which the prices are given (e.g., "kWh" for kilowatt-hour). |
startTime | String | The ISO 8601 formatted timestamp (including timezone offset) of the start of the entire pricing period covered by this response. |
endTime | String | The ISO 8601 formatted timestamp (including timezone offset) of the end of the entire pricing period covered by this response. |
recordCount | Number | The total number of price intervals included in the priceDetails array. |
priceDetails Array - Object Structure
Each object within the priceDetails array provides the pricing information for a specific time interval.
Field | Type | Description |
startIntervalTimeStamp | String | The ISO 8601 formatted timestamp (including timezone offset) marking the beginning of this specific price interval. |
intervalPrice | String | The total aggregated price for the interval, represented as a string to preserve precision. (e.g., "0.139976"). |
priceStatus | String | The status of the price for the interval. "Final" indicates the price is confirmed. Other values might include "Preliminary" or "Estimated". |
priceComponents | Array | An array of objects, breaking down the intervalPrice into its constituent components. |
priceComponents Array - Object Structure
Each object within the priceComponents array details a specific part of the total intervalPrice.
Field | Type | Description |
component | String | The name of the price component (e.g., "abank", "mec", "nbc", "ramp"). These are often abbreviations for different charges. |
intervalPrice | String | The price value for this specific component within the interval, as a string. |
priceType | String | The category of the price component (e.g., "distribution", "generation", "nonbypassablecharge", "transmission"). |
Example Price Components Breakdown
Common priceType values and their general meanings:
distribution: Costs associated with delivering electricity from the transmission system to end-users (e.g., abank, bbank, circuitpricecurve).
generation: Costs related to the production of electricity (e.g., mec - Marginal Energy Component, peak, ramp).
nonbypassablecharge: Charges that cannot be avoided by switching electricity providers, often related to public purpose programs or stranded costs (e.g., nbc).
transmission: Costs for transmitting electricity over high-voltage lines from generation sources to local distribution systems (e.g., transmissionpricecurve).