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.

Bayou Utility API and Utility Data Support May 2025

New instant utilities that have been added since April 2025 are:

  1. Penelec
  2. 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, and gas_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 and updated_at timestamps.

Data Automatically Sorted By Timestamp

Data is sorted bystart, 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
                    }
                }
            }
        }
    ]
}