Overview

  • Utility Website Updates: Made updates to adapt to significant changes on five utility websites, including a complete overhaul of Duke Energy’s portal and Multi-Factor Authentication (MFA) changes at three utilities.
  • General Improvements: Increased authentication speed, reliability, and bill parsing quality across several utilities. A highlight here is that we can now authenticate customers of First Energy utilities in under 20 seconds with 88% reliability.

Check out our utility support page for detailed info on our coverage and reliability.

Utility Website Updates

Utilities are constantly updating their portals, so maintaining reliable utility data requires updates on our end to adapt. Here are the most significant utility changes in November:

  • Duke Energy completely redesigned their portal and their Multi-Factor Authentication (MFA) flow.
  • PSE&G New Jersey changed their MFA flow and started prompting customers to set up additional MFA methods
  • PECO added a new pop-up to push customers to enable MFA
  • AES Ohio changed an authentication redirect
  • DTE Energy added a captcha requirement during authentication

Maintaining solid MFA support is important as MFA now affects over 41% of US meters, and more utilities have been pushing their customers towards MFA (or requiring it) this year. Read more about How MFA/2FA Impacts Utility API Access on our blog.

General Improvements

In addition to handling utility website changes, we’ve been improving our system to broaden utility support and increase reliability and speed. Here are some highlights of what we’ve shipped in November:

  • Improved authentication speed and reliability for PPL, Rhode Island Energy, and our seven supported First Energy utilities. These utilities present authentication challenges including captcha and other factors. We now authenticate in under 20 seconds, with 85% reliability for PPL and Rhode Island Energy and 88% for First Energy utilities.
  • Improved bill parsing quality across multiple utilities including Georgia Power, DTE Energy, Dominion Energy Virginia, PECO, Evergy, and more
  • Added support for interval data on business accounts within ComEd
  • Fixed intermittent authentication failures at AES Ohio caused by the utility returning server errors after successful authentication
  • Fixed issue where multiple accounts for the same customer led to duplicate bills
  • Fixed bill parsing issue for Central Maine Power customers who have solar generation

Overview

  • Expanded Utility Support to 66% of US meters by adding Atlantic City Electric, AES Ohio, Ohio Edison, The Illuminating Company, Metropolitan Edison, Rhode Island Energy, Penn Power, Toledo Edison and West Penn Power
  • Utility Support & Performance Data: Detailed metrics for every utility - data availability, Multi-Factor Authentication (MFA/2FA) prevalence and speed / success rates for authentication, bill and interval meter data delivery are now available on Bayou's new utility support page.
  • Customer Status Visibility: Real-time connection health and resolution steps when issues occur
  • Enhanced Dashboard & Excel Data Availability: Better customer management and additional utility bill /interval meter data available for excel export

Expanded Utility Support

Bayou now has instant support for utilities covering 66% of the US population.

Bayou Energy's utility API supports getting utility data from 66% of the US population's utility meters

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

  1. Atlantic City Electric
  2. AES Ohio
  3. Ohio Edison
  4. The Illuminating Company
  5. Metropolitan Edison
  6. Rhode Island Energy
  7. Penn Power
  8. Toledo Edison
  9. West Penn Power

Utility Support & Performance Data

Detailed metrics for every utility - data availability, Multi-Factor Authentication (MFA/2FA) prevalence and speed / success rates for authentication, bill and interval data delivery are now available on Bayou's new utility support page.

Utility Support Roadmap

Our public goal at Bayou is to support 78% of US meters as soon as possible. 78% represents all the large utilities in the US and the remaining 22% is covered by the remaining thousands of long tail utilities.

utility api support roadmap to get customer utility data

Performance Metrics:

Questions We Constantly Hear when talking to companies at Bayou:

  • Which utilities have interval meter data? What granularity? (15-minute at PG&E and SCE, 30-minute at ComEd, hourly at FPL, none at Eversource)
  • Which utilities require MFA? What's the prevalence? (Mandatory at PG&E and Con Edison, 43% of ComEd customers, 54% at Atlantic City Electric)
  • What's your authentication success rate by utility? (ComEd: 99.9%, PG&E: 82.1%, PPL: 75%)
  • Are all utilities fast? How does speed vary? (Authentication: SCE 0.7s vs PPL 65s. Bill delivery: 5s vs 120s. Interval delivery: 9s vs 235s)
  • Which are the largest utilities by meter count? (Duke: 8.5M, Smart Meter Texas: 8.2M, FPL: 6.0M)

Companies would ask us these questions in sales calls, support tickets, or during technical evaluations. We'd answer case-by-case, but you couldn't explore the data yourself or use it to inform launch planning.

Now all this data is public on our utility support page and accessible via our /utilitiesAPI endpoint.

Metadata We're Publishing For Each Utility

Metric Definition
Utility Utility name and service territory
API Code Identifier used in Bayou's API
Support "Instant" (live now) or "Roadmap" (coming soon)
Interval Meter Data Support Granularity available: 15-minute, 30-minute, hourly, or N/A
Total Meters Number of meters served by this utility
Overall Success Rate % of end-to-end data retrieval attempts that succeed
Auth Success Rate % of credential authentications that succeed (ranges from 56.93% to 99.99%)
Auth Median Time (s) How long credential validation takes (ranges from 0.6s to 65s)
% Customers with MFA MFA prevalence: none, percentage (5%-100%), or mandatory
Bill Success Rate % of bill fetching attempts that succeed (ranges from 85.6% to 99.9%)
Bill Delivery Median Time (s) Time to return all bill data after authentication (ranges from 5s to 120s)
Intervals Success Rate % of interval fetching attempts that succeed (ranges from 81.8% to 99.8%)
Interval Delivery Median Time (s) Time to return all interval data, or "Utility doesn't have intervals" (ranges from 9s to 235s)

Customer Status Visibility

Bayou logs every interaction we make with utility websites. When there's an issue getting customer data, you now see the status in your dashboard with clear direction on what needs to happen - either by you and your customer, or by Bayou.

Context

Bayou is the fastest and most reliable utility data API "but" because we're interacting with utility websites that change without notice, have CAPTCHA challenges, and enforce varying MFA requirements, our overall success rate won't be 100%.

When customer data wasn't loading, companies faced two scenarios:

  1. Individual customer issues: A customer's data shows "Success!" but nothing appears. The company doesn't know if it's invalid credentials, incomplete MFA, a Bayou issue, or utility downtime. They ping Bayou support on Slack or email, we investigate, and everyone waits.
  2. Bulk investigation requests: During a large integration rollout, a company asked Bayou to investigate a batch of customers that hadn't loaded data yet. Our engineering team manually categorized each one: which customers never submitted credentials, which had incomplete MFA, which hit authentication issues we were fixing. This manual categorization work—while thorough—took time. Both scenarios lacked visibility into who needed to act.

Previous companies using Bayou would troubleshoot by pinging Bayou support (slack, text, email) and manually investigate by checking API responses and searching through logs.

Real-time connection health and resolution steps when issues occur

Every customer in your Bayou dashboard now shows their connection status. When issues occur, you immediately see what's broken, who needs to act, and what action to take.



Status What It Means Your Action
Healthy Customer is authenticated and data is flowing normally. No action required
Auth: Credentials needed Customer needs to submit credentials for authentication. Ask customer to submit credentials and complete MFA if applicable
Auth: MFA needed Customer needs to complete MFA for authentication. Ask customer to complete MFA
Auth: Customer must re-authenticate Customer's previous credentials are invalid or their MFA session expired. Ask customer to re-authenticate with correct credentials and complete MFA if applicable
Auth issue Bayou encountered an unexpected issue while attempting to authenticate the customer's utility portal account. No action required. Bayou is investigating. If urgent, reach out to [email protected]
Bill fetching issue Bayou encountered an issue while fetching bills from the customer's utility portal. No action required. Bayou is investigating. If urgent, reach out to [email protected]
Bill parsing issue Bayou successfully fetched the customer's bills from the utility portal, but we were unable to parse the data from some of the bills. No action required. Bayou is investigating. If urgent, reach out to [email protected]
Interval fetch issue Bayou encountered an issue while fetching intervals from the customer's utility portal. No action required. Bayou is investigating. If urgent, reach out to [email protected]
No data loaded Bayou encountered an issue attempting to fetch this customer's data from the customer's utility portal. No action required. Bayou is investigating. If urgent, reach out to [email protected]

📘
  • A customer displays one prioritized status at a time (most urgent first)
  • Yellow (Auth …) statuses indicate customer action needed to complete or update authentication.
  • Red (non‑auth) statuses indicate data issues from the latest run; no customer action unless the message says otherwise.
  • Hover over the status badge to see the exact status details for a customer

Enhanced Dashboard & Excel Data Availability

Better customer management and additional bill/interval data available for excel export

Manage Large Customer Volumes

The customer dashboard now includes enhanced tools for managing hundreds or thousands of customers:

  • Enhanced customer table with new columns: Customer ID, External ID (your unique identifier), Email, Utility, Account Numbers, and Status
  • Pagination for easier navigation across customer lists
  • Search by Bayou Customer ID, External ID, or Email
  • Filter by Utility and Customer Status


More Data in Excel Exports

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:


  1. Penelec

    1. 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. Check out the API reference here: https://docs.bayou.energy/reference/get_utilities

{
    "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
                    }
                }
            }
        }
    ]
}

Overview

  • 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.
  • Developer Experience - Added Query Parameters to Get Utility Bill Data API Call: Retrieved bills can now be filtered and are sorted according to their billed on date
  • Developer Experience - New Javascript events for Bayou’s embedded component: Developers using Bayou can now increase customer form conversion by controlling their user experience with the new customerEnteredInvalidCredentials and customerEnteredInvalidMFAChallenge events

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 July 2024 are:

  1. AEP Ohio
  2. Baltimore Gas and Electric
  3. Central Maine Power
  4. Dominion Energy Virginia
  5. Evergy
  6. Potomac Edison
  7. PPL Electric
  8. Rochester Gas and Electric
  9. Versant Power

Developer Experience

Added Query Parameters to Get Utility Bill Data API Call

Retrieved bills can now be filtered and are sorted according to their billed on date.


New Javascript events for Bayou’s embedded component

Developers using Bayou can now increase customer form conversion by controlling their user experience with the new customerEnteredInvalidCredentials and customerEnteredInvalidMFAChallenge events

Overview

  • Instant utility support: Bayou now authenticates accounts in one second and returns data within 60 seconds or less for utilities covering 56% of the US population.
  • More testing scenarios for Speculoos Power (Bayou’s fake utility: New test credentials cover multi-account, electric and gas only customer scenarios

Instant utility support

Bayou now authenticates accounts in one second and returns data within 60 seconds or less for utilities covering 56% of the US population.

New instant utilities that have been added this month are:

  1. Avista
  2. Georgia Power
  3. Madison Gas & Electric
  4. Rocky Mountain Power

More testing scenarios for Speculoos Power (Bayou’s fake utility)

  • [email protected]: This customer will return multiple accounts that have fake bills and intervals with both gas and electric data
  • [email protected]: This customer will return fake bills and intervals only with electric data
  • [email protected]: This customer will return fake bills and intervals only with gas data

Overview

  • Instant utility support: Bayou now authenticates accounts in one second and returns data within 60 seconds or less for utilities covering 52% of the US population.
  • Updates to the API call - Get multiple bills for a specific customer: Retrieved bills can now be filtered and are sorted according to their billed on date.

Instant utility support

Bayou now authenticates accounts in one second and returns data within 60 seconds or less for utilities covering 52% of the US population.

New instant utilities that have been added this month are:

  1. Arizona Public Service
  2. Delmarva Power
  3. DTE Energy
  4. Kentucky Utilities
  5. Pacific Power
  6. San Diego Gas and Electric

Updates to the API call - Get multiple bills for a specific customer

Sorting

Returned bills are now sorted by their billed_on date (most recent first and oldest last)

Filtering with Query parameters

Retrieved bills can now be filtered by account_number, meter_id, limit (quantity of bills returned), and the start date and end date of the bill's billed_on date.

Errors

New errors have also been added to the API to handle potential scenarios around using the query parameters.

Overview

  • Instant utility support: Bayou now authenticates accounts in one second and returns data within 60 seconds or less for utilities covering 48% of the US population
  • Address data: Each meter's physical address is now available in a common data model across all utilities
  • Tariff data [early access]: Each meter's utility tariff is provided along with contextual information required to use Bayou alongside a tariff database product

Instant utility support

Bayou now authenticates accounts in one second and returns data within 60 seconds or less for utilities covering 48% of the US population.

New instant utilities that have been added since March 1st, 2024 are:

  1. AES Indiana
  2. Austin Utilities
  3. Citizens Energy
  4. El Paso Electric
  5. Florida Power and Light
  6. Jersey Central Power and Light
  7. LADWPD
  8. NYSEG
  9. PECO
  10. PEPCO
  11. Portland General Electric
  12. PSEG New Jersey
  13. Public Service Company of New Mexico (PNM)
  14. Sacramento Municipal Utility District
  15. Southern California Edison

Address data

Each meter's physical address is now available in a common data model across all utilities

"address": {
        "line_1": "123 Main St",
        "line_2": "Apt 1",
        "city": "New York",
        "state": "NY",
        "postal_code": 10001,
        "postal_code_suffix": 1234,
        "country": "US"
      }
  • line_1: The full street address for this meter
  • line_2: The second line of the street address for this meter (example: Apt 1, Unit A, Suite 100)
  • city
  • state: two letter abbreviation for the state (example: NY)
  • postal_code: the postal code or zip code (within the US) for the meter
  • postal_code_suffix: suffix after the postal code (example: in 10001-1234, 1234 is the suffix)
  • country
The address object is provided within the data model for the bill and customer endpoints and within the bills_ready and new_bill webhooks.

Tariff data [early access]:

Each meter's utility tariff is provided along with contextual information required to use Bayou alongside a tariff database product. The tariff object is provided within the customers data model within each meter of the customer record's hierarchy.

{
    "id": 12345,
    "external_id": null,
    "email": "[email protected]",
    "first_name": null,
    "last_name": null,
    "phone_number": null,
    "address_line_1": null,
    "address_line_2": null,
    "city": null,
    "state": null,
    "zipcode": null,
    "utility": "southern_california_edison",
    "onboarding_link": "https://staging.bayou.energy/companies/9/onboard/007237ca2541bd63polmn214db25a50ce384a390b250po037e0c2045ea3c536d_1716510848_40394f8eop27b8db0f672d403e52efc8fc811ecdb2b402a1dfc00ec140c30faa3",
    "onboarding_token": "007237ca2541bd63polmn214db25a50ce384a390b250po037e0c2045ea3c536d_1716510848_40394f8eop27b8db0f672d403e52efc8fc811ecdb2b402a1dfc00ec140c30faa3",
    "tags": [],
    "has_accepted_terms_on": "2024-05-14T00:26:44Z",
    "has_filled_credentials": true,
    "bills_are_ready": true,
    "utility_has_intervals": true,
    "account_has_intervals": true,
    "intervals_are_ready": true,
    "first_interval_discovered": "2023-04-13T07:00:00Z",
    "last_interval_discovered": "2024-05-13T06:45:00Z",
    "account_numbers": [
        {
            "id": "700000976593",
            "meters": [
                {
                    "id": "409833-123086",
                    "type": "electric",
                    "address": {
                        "line_1": "103 Pacific Coast Hwy",
                        "line_2": "Apt 1",
                        "city": "Huntington Beach",
                        "state": "CA",
                        "postal_code": 92648,
                        "postal_code_suffix": 4305,
                        "country": "US"
                      },
                    "tariffs": [
                        {
                            "period_from": "2021-06-11",
                            "period_to": "2023-07-12",
                            "name": "DOMESTIC",
                            "code": "D",
                            "mapping": {
                                 "wattbuy": {
                                         "utility_id": "17609",
                                         "tariff_id": "6618467c49adafec1c02fa92",
                                         "baseline_territory": null
                                }  
                            }
                        },
                        {
                            "period_from": "2023-07-12",
                            "period_to": "2024-05-13",
                            "name": "TOUD-5-8PM (SCE)",
                            "code": "TOU-D-5-8PM",
                            "mapping": {
                                 "wattbuy": {
                                         "utility_id": "17609",
                                         "tariff_id": "64ac3fff756f4c58c25835e7",
                                         "baseline_territory": null
                                }  
                            }
                        }
                    ],
                    "tags": []
                }
            ]
        }
    ]
}
  • Each Bayou customer records corresponds to one set of customer utility login credentials. Once a customer connects their account, Bayou creates a hierarchy of each of the customer's account numbers and each meter within each account number.
  • For each meter the tariff data is within the "tariffs" object.
  • Here each tariff is shown with:
    • period_from and period_to: billing dates that meter was enrolled in the tariff
    • tariff.name: name of the tariff from the customer's utility bill
    • tariff.code: tariff code assigned by the utility to that tariff. While this isn't always provided by the utility, codes are common.
    • tariff.mapping: Contextual information required to map the customer's unique tariff to a tariff database product.
  • For each meter, its entire tariff history is provided.
To start, this is available for Southern California Edison bridging to WattBuy’s tariff API and will be extended to all Bayou’s instant utilities bridging to additional tariff products based on demand. Schedule a call or email us