HomeGuidesRecipesAPI ReferenceChangelog
Log In
API Reference

Load Serving Entity (LSE) is the industry term for what most people would call a utility, or an electric company. Since there are different types of electric company, we use the term LSE in our APIs. This is a company or other organization that supplies load (electricity) to a customer. In many cases this is the same company that distributes the electricity too, but in some cases customers can have one company that they buy the load from, and another that operates the distribution system (runs the line to the house, manages the meters etc). Some characteristics and uses:

  • LSEs have one or more territories that they operate in.
  • LSEs have tariffs (rate plans) and are central to many of our data structures.

Load Serving Entity

The Load Serving Entity has the following data structure.

NameTypeFields Description
lseIdLongMUnique Arcadia ID (primary key) for each LSE
nameStringMPublished name of the company
codeStringMShortcode (an alternate key). For US companies this is the EIA ID
websiteHomeStringMThe URL to the home page of the LSE website
offeringTypeStringEUtility classification is based on the type of service they offer. Possible values:
Bundled - The utility provides all the electricity services bundled into one, including the transportation (transmission and distribution) and the generation (energy) portion.
Delivery - Responsible for the transportation (transmission and distribution) of power only.
Energy - Provides only the generation (energy) portion of the service. Energy Suppliers are sometimes referred to as Retail Energy Providers.
ownershipStringEOwnership structure. Most common values are
INVESTOR - Investor-owned utility managed as private enterprise.
COOP - Member-owned utility which is managed on a non-profit basis.
MUNI - Publicly owned utilities subject to local public control and regulation.
Others include "FEDERAL""POLITICAL_SUBDIVISION""RETAIL_ENERGY_MARKETER""WHOLESALE_ENERGY_MARKETER""TRANSMISSION""STATE""UNREGULATED".
serviceTypesStringEService types offered to any customer. Current values include "ELECTRICITY" and "SOLAR_PV".
totalRevenuesIntegerEAnnual total revenue in thousands of local currency (e.g. USD). |
totalSalesIntegerEAnnual total sales in MWh.
totalCustomersIntegerETotal customer count.
residentialServiceTypesStringEService types offered to residential customers. Current values include "ELECTRICITY" and "SOLAR_PV". Blank means not offered |
residentialRevenuesIntegerEAnnual residential revenue in thousands of local currency (e.g. USD).
residentialSalesIntegerEAnnual residential sales in MWh.
residentialCustomersIntegerEResidential customer count.
commercialServiceTypesStringEService types offered to commercial customers. Current values include "ELECTRICITY" and "SOLAR_PV". Blank means not offered |
commercialRevenuesIntegerEAnnual commercial revenue in thousands of local currency (e.g. USD).
commercialSalesIntegerEAnnual commercial sales in MWh.
commercialCustomersIntegerECommercial customer count.
industrialServiceTypesStringEService types offered to industrial customers. Current values include "ELECTRICITY" and "SOLAR_PV". Blank means not offered |
industrialRevenuesIntegerEAnnual industrial revenue in thousands of local currency (e.g. USD).
industrialSalesIntegerEAnnual industrial sales in MWh.
industrialCustomersIntegerEIndustrial customer count.
transportationServiceTypesStringEService types offered to transportation customers (such as municipal bus services, regional mass transit etc). Current values include "ELECTRICITY" and "SOLAR_PV". Blank means not offered. |
transportationRevenuesIntegerEAnnual transportation revenue in thousands of local currency (e.g. USD).
transportationSalesIntegerEAnnual transportation sales in MWh.
transportationCustomersIntegerETransportation customer count.
billingPeriodRepresentationBilling
Period
Representation
EDetails about how the LSE represents billing periods.

EXAMPLE

Here's an example in JSON of an LSE:

{
    "lseId": 2756,
    "name":"Georgia Power Co",
    "code":"7140",
    "websiteHome":"http://www.georgiapower.com/"
}

Here is an example of the results coming back for an LSE with its extended fields included:

{
    status: "success",
    count: 1,
    type: "LoadServingEntity",
    results: [
    {
        lseId: 734,
        name: "Pacific Gas & Electric Co",
        code: "14328",
        websiteHome: "http://www.pge.com/",
        offeringType: "Bundle",
        ownership: "INVESTOR",
        serviceTypes: "ELECTRICITY",
        totalRevenues: 11582000,
        totalSales: 83902268,
        totalCustomers: 5213528,
        residentialServiceTypes: "ELECTRICITY",
        residentialRevenues: 4729295,
        residentialSales: 30871669,
        residentialCustomers: 4574094,
        commercialServiceTypes: "ELECTRICITY",
        commercialRevenues: 5486004,
        commercialSales: 38534089,
        commercialCustomers: 638387,
        industrialServiceTypes: "ELECTRICITY",
        industrialRevenues: 1366701,
        industrialSales: 14496510,
        industrialCustomers: 1047,
        transportationServiceTypes: null,
        transportationRevenues: 0,
        transportationSales: 0,
        transportationCustomers: 0,
        billingPeriodRepresentation: {
          fromDateOffset: 0,
          toDateOffset: -1,
          style: "InclusiveToDate"
        }
    }]
}

Billing Period Representation

There is more than one way to represent a billing period. The Billing Period Representation object encapsulates how a billing period is represented for a given LSE.

We represent date ranges in what we call "Arcadia-style", which matches ISO 8601's "start/end" representation of time intervals.

The Billing Period Representation has the following data structure.

NameTypeFieldsDescription
fromDateOffsetIntegerMThe number of days to add to a Arcadia-style fromDate to obtain the LSE's start of a billing period.
toDateOffsetIntegerMThe number of days to add to a Arcadia-style toDate to obtain the LSE's end of a billing period.
styleStringMOur name for this particular style of a Billing Period Representation.

THE DIFFERENT STYLES

A Arcadia-style billing period is represented by two dates: the very first date of the billing period, and the date after the last day of the billing period. For instance, January 2015 would be represented as 2015-01-01 through 2015-02-01. The style for this is ArcadiaStyle. Most utilities use this style, and it matches the style of our API. SCE (Southern California Edison) uses this style.

Another common style is what we call InclusiveToDate and this may seem more intuitive. In this style, the toDate is included in the billing period. So, for example, January 2015 would be represented as 2015-01-01 through 2015-01-31. PG&E (Pacific Gas & Electric) uses this style.

An unusual style that SDG&E (San Diego Gas & Electric) uses we call ExclusiveFromDateAndInclusiveToDate; the toDate is included in the billing period but the fromDate is not. So, for example, January 2015 would be represented as 2014-12-31 through 2015-01-31. As far as we know, no other LSE uses this style.

The other style you'll see is Unknown, which means that we have not confirmed what style the LSE uses. If the style is Unknown, we assume that it is Arcadia-style.

EXAMPLE

If you request the information for an LSE with its extended fields included, you will see this field at the end:

{
    status: "success",
    count: 1,
    type: "LoadServingEntity",
    results: [
    {
        lseId: 734,
        name: "Pacific Gas & Electric Co",
        lseCode: "PGE",
        ...
        billingPeriodRepresentation: {
          fromDateOffset: 0,
          toDateOffset: -1,
          style: "InclusiveToDate"
        }
    }]
}

In this example, the toDateOffset is -1, which means that you must add this value to (ie subtract one day from) a Arcadia-style date to obtain the PG&E toDate. Conversely, you must subtract that value from (ie add one day to) the end date of a PG&E billing period to obtain the Arcadia-style toDate. For instance, if you have a PG&E bill from March 8th, 2015 through April 7th, 2015 (31 days), the equivalent Arcadia-style date range is 2015-03-08 through 2015-04-08.


Get a List of Load Serving Entities

This allows you to search for a set of LSEs and get them back as a list of LoadServingEntity objects in the standard response format. Use the searchString parameter to specify the full or partial name of the LSE you want to retrieve. By default, this does a "contains" search. Use the startsWith and endsWith boolean parameters to add more filters to the results.

Resource URI

GET /rest/public/lses

Request Parameters

Along with the standard pagination parameterssearching and sorting parameters, and the required security parameters, the following parameters are available as part of the request:

NameTypeDescription
searchOnStringThis is from the standard searching and sorting parameters. You can search within one or more of the attributes within the LSE object (see above). When search is specified but searchOn is not specified, the default field is name. (Optional)
zipCodeString(Optional but Recommended) zip or postcode where you would like to see a list of LSEs for (e.g. 5 digit ZIP code for USA). Most countries have regional, not national, Utility Service Areas. When populating this field you should also populate country too.
postCodeStringAlias for zipCode, you can use either.
countryISO Country CodeUse this when passing in a zipCode or postCode, and set it to the ISO Country Code of your zipCode or postCode since some countries use the same format (Optional)
ownershipsComma Separated StringFilter results by the type of ownership structure for the LSE. Values include "INVESTOR""COOP""MUNI", but see ownership field above for complete list. (Optional).
serviceTypesComma Separated StringFilter results to LSEs that just offer this service type to a customer class. Valid values include "ELECTRICITY" and "SOLAR_PV" (Optional).
residentialServiceTypesComma Separated StringFilter results to LSEs that just offer this service type to their residential customers. Valid values include "ELECTRICITY" and "SOLAR_PV" (Optional).
commercialServiceTypesComma Separated StringFilter results to LSEs that just offer this service type to their commercial (business) customers. Valid values include "ELECTRICITY" and "SOLAR_PV" (Optional).
industrialServiceTypesComma Separated StringFilter results to LSEs that just offer this service type to their industrial customers. Valid values include "ELECTRICITY" and "SOLAR_PV" (Optional).
transportationServiceTypesComma Separated StringFilter results to LSEs that just offer this service type to their transportation customers. Valid values include "ELECTRICITY" and "SOLAR_PV" (Optional).

Example 1: Find residential electricity utilities for a zip code

GET /rest/public/lses?zipCode=94105&country=US&residentialServiceTypes=ELECTRICITY&fields=ext

{
   "status": "success",
   "count": 1,
   "type": "LoadServingEntity",
   "results": [
      {
         "lseId": 734,
         "name": "Pacific Gas & Electric Co",
         "code": "14328",
         "websiteHome": "http://www.pge.com/",
         "offeringType": "Bundle",
         "ownership": "INVESTOR",
         "serviceTypes": "ELECTRICITY",
         "totalRevenues": 11582000,
         "totalSales": 83902268,
         "totalCustomers": 5213528,
         "residentialServiceTypes": "ELECTRICITY",
         "residentialRevenues": 4729295,
         "residentialSales": 30871669,
         "residentialCustomers": 4574094,
         "commercialServiceTypes": "ELECTRICITY",
         "commercialRevenues": 5486004,
         "commercialSales": 38534089,
         "commercialCustomers": 638387,
         "industrialServiceTypes": "ELECTRICITY",
         "industrialRevenues": 1366701,
         "industrialSales": 14496510,
         "industrialCustomers": 1047,
         "transportationServiceTypes": null,
         "transportationRevenues": 0,
         "transportationSales": 0,
         "transportationCustomers": 0
      }
   ]
}


Example 2: Find based on wildcard

This is good for a type-ahead scenario.

GET /rest/public/lses?&search=Pacific

{
   "status":"success",
   "count":4,
   "type":"LoadServingEntity",
   "results":[
      {
         "lseId":734,
         "name":"Pacific Gas & Electric Co",
         "code":"14328",
         "websiteHome":"http://www.pge.com/"
      },
      {
         "lseId":1164,
         "name":"Sierra Pacific Industries Inc",
         "code":"17164",
         "websiteHome":null
      },
      {
         "lseId":1165,
         "name":"Sierra Pacific Power Co",
         "code":"17166",
         "websiteHome":"http://www.nvenergy.com/"
      },
      {
         "lseId":3142,
         "name":"Pacific Power",
         "code":"14354",
         "websiteHome":"http://www.rockymountainpower.net/index.html"
      }
   ]
}


Get One Load Serving Entity

This allows you to retrieve one LSE.

Resource URI

GET /rest/public/lses/{lseId}

Example

GET /rest/public/lses/2756

{
  "status": "success",
  "count": 1,
  "type": "LoadServingEntity",
  "results": [{
    "lseId": 2756,
    "name": "Georgia Power Co",
    "code": "7140",
    "websiteHome": "http://www.georgiapower.com/"}]
}