May 2025 Utility API Update
Overview
- Instant Utility Support: Launched instant, reliable support for Penelec and Southern California Gas
- Building on Bayou with LLMs: All Bayou docs are now available in markdown, making them easy for AI to read
- Interval Meter Data Updates:
- Interval Granularities Exposed Directly On Meter Objects
- Data Automatically Sorted By Timestamp
- Duplicate Interval Data Management
- New
/utilities
Endpoint: API endpoint exposing utility support details, availability, and performance
Instant Utility Support
Bayou now has instant customer account authentication, utility bill data and interval meter data delivery within 60 seconds or less for utilities covering 62% of the US population.

New instant utilities that have been added since April 2025 are:
- Penelec
- Southern California Gas
Building on Bayou with LLMs
You can use large language models (LLMs) to assist in the building of Bayou Energy integrations, starting with all docs being available in plain text markdown files. To view any page in markdown, simply put a .md
at the end of the link. For more details visit our Building on Bayou with LLMs page and for an example view this page in markdown here: https://docs.bayou.energy/changelog/bayou-may-2025-utility-api-update.md
Interval Meter Data Updates
Interval Granularities Exposed Directly On Meter Objects
Previously interval granularities were only available across all meters, not broken out meter by meter
Duplicate Interval Data Management
-
Same period readings for
electricity_consumption
,net_electricity_consumption
,generated_electricity
,electricity_demand
, andgas_consumption
are merged into one interval object. - If two duplicate intervals have a zero or null and a non-zero/null value, we keep the non-zero value.
-
When two non-zero values conflict, we return both in an array so you can resolve downstream in your data pipeline using the
created_at
andupdated_at
timestamps.
Data Automatically Sorted By Timestamp
start
, then created_at
, then updated_at
Sample Interval JSON below
{
"first_interval_discovered": "2024-07-11T07:00:00Z",
"last_interval_discovered": "2025-05-08T17:15:00Z",
"granularities": [
75,
60,
15
],
"meters": [
{
"id": "FX49843012834",
"granularities": [
75,
15
],
"intervals": [
{
"start": "2024-07-11T07:00:00Z",
"end": "2024-07-11T07:15:00Z",
"electricity_consumption": 1130,
"generated_electricity": null,
"net_electricity_consumption": null,
"electricity_demand": null,
"gas_consumption": null,
"created_at": "2025-04-18T15:54:01Z",
"updated_at": "2025-04-20T12:54:01Z"
},
{
"start": "2024-07-11T07:15:00Z",
"end": "2024-07-11T07:30:00Z",
"electricity_consumption": 1140,
"generated_electricity": null,
"net_electricity_consumption": null,
"electricity_demand": null,
"gas_consumption": null,
"created_at": "2025-04-18T15:54:01Z",
"updated_at": null
}]
New /utilities Endpoint
Today the /utilities endpoint shows high level utility information, Bayou's support for all utilities and speed for authentication, bills and intervals.
{
"utilities": [
{
"id": "commonwealth_edison",
"eia_utility_ids": [
4110
],
"name": "Commonwealth Edison",
"website_url": "https://www.comed.com",
"login_url": "https://secure.comed.com/accounts/login",
"credentials_type": "email",
"support": "instant",
"logo_url": "https://staging.bayou.energy/static/logos/commonwealth_edison.f862520f7540.png",
"icon_url": "https://staging.bayou.energy/static/icons/commonwealth_edison.0575413b3da8.png",
"authentication": {
"speed_in_seconds": {
"median": 2.376676,
"quartiles": {
"0.25": 2.058035,
"0.5": 2.376676,
"0.75": 2.98502
},
"deciles": {
"0.1": 1.818533,
"0.2": 1.993412,
"0.3": 2.133208,
"0.4": 2.250612,
"0.5": 2.376676,
"0.6": 2.547712,
"0.7": 2.826582,
"0.8": 3.215531,
"0.9": 3.553091
}
}
},
"bills": {
"speed_in_seconds": {
"median": 72.13055,
"quartiles": {
"0.25": 24.485714,
"0.5": 72.13055,
"0.75": 120.45266625
},
"deciles": {
"0.1": 16.021482199999998,
"0.2": 19.8194972,
"0.3": 30.033212699999996,
"0.4": 46.2429476,
"0.5": 72.13055,
"0.6": 101.0849844,
"0.7": 108.4622951,
"0.8": 129.3527712,
"0.9": 152.79531510000007
}
}
},
"intervals": {
"speed_in_seconds": {
"median": 83.1015615,
"quartiles": {
"0.25": 31.063015,
"0.5": 83.1015615,
"0.75": 121.80793025
},
"deciles": {
"0.1": 25.5333218,
"0.2": 28.4100846,
"0.3": 36.0269468,
"0.4": 51.52802460000001,
"0.5": 83.1015615,
"0.6": 102.189364,
"0.7": 110.33717169999996,
"0.8": 131.2819528,
"0.9": 156.91950719999997
}
}
}
}
]
}