Your developer gets Bayou's API integrated in minutes for many utilities. Your customers get their utility account connected in one click.
Get startedContact Bayou
# Manage your API keys at https://bayou.energy/dashboard/keys
bayou_api_key = "live_1_13a720.....3cc858f1c673c48d"
customer = requests.post(f"https://bayou.energy/api/v2/customers", json={
"utility": "speculoos_power",
}, auth=(bayou_api_key, '')).json()bayou_api_key = "live_1_13a720.....3cc858f1c673c48d"
uri = URI("https://bayou.energy/api/v2/customers")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path, 'Content-Type' => 'application/json')
request.basic_auth(bayou_api_key, '')
request.body = { "utility" => "speculoos_power" }.to_json
customer = JSON.parse(http.request(request).body)const bayouApiKey = "live_1_13a720.....3cc858f1c673c48d";
const response = await fetch("https://bayou.energy/api/v2/customers", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Basic ${btoa(`${bayou_api_key}:`)}`,
},
body: JSON.stringify({ utility: "speculoos_power" })
});
const customer = await response.json();string bayouApiKey = "live_1_13a720.....3cc858f1c673c48d";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(bayouApiKey + ":")));
string jsonInputString = "{\"utility\":\"speculoos_power\"}";
HttpResponseMessage response = await client.PostAsync("https://bayou.energy/api/v2/customers", new StringContent(jsonInputString, Encoding.UTF8, "application/json"));
dynamic customer = Newtonsoft.Json.JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
}print(f"Fill the customer credentials using the following link: {customer['onboarding_link']}")
# Email: iamvalid@bayou.energy
# Password: validpasswordputs "Fill the customer credentials using the following link: #{customer['onboarding_link']}"
# Email: iamvalid@bayou.energy
# Password: validpasswordconsole.log(`Fill the customer credentials using the following link: ${customer.onboarding_link}`);
// Email: iamvalid@bayou.energy
// Password: validpasswordConsole.WriteLine($"Fill the customer credentials using the following link: {customer.onboarding_link}");
// Email: iamvalid@bayou.energy
// Password: validpasswordbills = requests.get(f"https://bayou.energy/api/v2/customers/{customer['id']}/bills", auth=(bayou_api_key, '')).json()
intervals = requests.get(f"https://bayou.energy/api/v2/customers/{customer['id']}/intervals", auth=(bayou_api_key, '')).json()
bills_uri = URI("https://bayou.energy/api/v2/customers/#{customer_id}/bills")
# ... fetch bills and intervalsconst billsResponse = await fetch(`https://bayou.energy/api/v2/customers/${customer.id}/bills`, {
headers: { 'Authorization': `Basic ${btoa(`${bayou_api_key}:`)}` }
})
const bills = billsResponse.json();using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(bayouApiKey + ":")));
var bills = await client.GetStringAsync($"https://bayou.energy/api/v2/customers/{customer.id}/bills");
var intervals = await client.GetStringAsync($"https://bayou.energy/api/v2/customers/{customer.id}/intervals");
}You get data instantly from 0 utilities today and from 0% of US utility customers in the coming months. Bayou can add new utilities within one week.

Nathan Eidelson
CTO at Wattbot
"Our product uncovers insights hidden in the complex web of a consumer's energy usage and billing data. This would not be possible without Bayou."

Ross Gruber
CTO at Glow Energy
"We enable multi-family building owners to profitably provide solar energy to their tenants. Glow uses Bayou to access rich data streams of resident utility data, providing a great end-user experience while allowing us maximum flexibility in our billing operations."

Maddi Eckert
Operations at Elephant Energy
"Our platform makes it easy to upgrade and manage a climate-friendly home. When we needed a partner to fetch customers' utility bills, Bayou was the obvious choice - it's been incredibly easy to set up and it delivers the one-click utility account connection experience our customers expect."

Instant access with pay-as-you-go pricing—no setup, sales calls, or hidden fees
Includes customer bill, interval and account data with unlimited API calls
Get 12 months of historical data or 12 months of ongoing data access for $24

Read the docs, or create an account and get utility data instantly. You can also contact us to discuss your deployment.
Get startedContact Bayou