Announcing New Utility Rate Database and API Features!

NREL, in collaboration with Illinois State University, with funding from the Department of Energy Sunshot Program, has enhanced the U.S. Utility Rate Database with the following new features:

  • - Ability to download entire utility rate database as a CSV file
  • - More powerful searching and filtering capabilities (e.g., commercial rates for zip code 94102)
  • - Increased speed and flexibility (by moving the database from Semantic Media Wiki to MongoDB)
  • - Improved quality control and automated error checking mechanisms
  • - Historical tracking of rate changes (using the “supersedes” field)
  • - New fields to accommodate additional types of utility rate structures
  • - More intuitive data structures in machine-readable JSON schema (see comment below for specific JSON schema changes)
  • - Better geographic lookup capabilities (single API call to return rates for an address/ZIP/lat.-long.)
  • - Improved website access (
  • - Better tracking of database usage using API keys (coming soon)

Illinois State University continues to populate the database with additional utility companies and rates. Unlike the previous wiki-based database, users do not have editing privileges by default. If you’d like to contribute to the database, send us an email:

The recent progress on capturing rates can be seen in the maps below. As of July 10, 2014, the database has over 45,000 rates included covering nearly all 3,500 utilities across the United States.

Coverage as of July 10, 2014

OpenEI URDB Coverage Map as of July 10, 2014

Coverage as of March 13, 2012 (for comparison purposes)

OpenEI URDB Coverage Map as of March 13, 2013

The URDB can be accessed in several ways (and hopefully more to come):

Via the System Advisor Model for PV economic value analysis. See for more information about downloading the free SAM tool and how utility rates can be used within the tool.

Via the BEopt (Building Energy Optimization) software for residential energy modeling and economic optimization of efficiency and PV. See for more information about downloading the free BEopt software and how utility rates can be used within the tool.

The direct link to the interactive website for the URDB is:

Version 3 API documentation can be found here:




Version 3 API JSON schema changes

The JSON schema used for API call responses has been changed to accommodate the new features listed above:

  1. The fields involving energyratestructure, demandratestructure, and flatdemandstructure (e.g., "energyratestructure/period1/tier1max”) were converted from strings to hierarchical structures.
  2. Added ability to have different units for each energy rate tier max bound, to enable tiers within tiers (e.g.:
  3. Added new demand rate structure (“coincidentratestructure”) for coincident demand charges.
  4. Added fields for monthly minimum charge and annual minimum charge (e.g. PG&E rates).
  5. Added “supersedes” which links a rate to historical versions of the same rate.
  6. Added a field (“approved”) for whether or not the rate has been reviewed by the QA/QC team.
  7. The length 288 strings (12 months times 24 hours) for fields such as “energyweekdayschedule” became 12x24 arrays.
  8. demandratchetpercentage has changed from a decimal to an array of 12 decimals (one per month)
  9. demandattrs, energyattrs, and fixedattrs - contain arbitrary key/value pairs, to accommodate additional miscellaneous parameters.

Full documentation of the fields can be found here:


Multiple utilities for a zipcode

I am having a few issues understanding how the database returns a single utility (in the JSON) here ( ...

But returns two when I look up zipcode = 28786 here (

Could you provide some guidance here?