Register a Portfolio Manager account at portfoliomanager.energystar.gov and submit a web services registration request under Software Development in Account Settings to enable API access; develop and test against the test environment endpoint at portfoliomanager.energystar.gov/pm/
Review the full API documentation at portfoliomanager.energystar.gov/webservices/home/api which catalogs all available REST endpoints organized by resource type (Account, Property, Meter, etc.) along with downloadable XML schemas.
Authenticate all requests using HTTP Basic Authentication with the Portfolio Manager account credentials; the API uses the same credentials as the web portal — there is no separate API key.
Create or link a Property via POST /property to register the building; populate required attributes including property type, gross floor area, year built, occupancy, and address; retrieve the returned propertyId for subsequent operations.
Add Energy Meters via POST /property/{propertyId}/meter specifying meter type (Electric, Natural Gas, etc.), units, and date of first bill; then submit monthly consumption entries via POST /meter/{meterId}/consumptionData providing start date, end date, and usage quantity.
Request the ENERGY STAR score and energy use intensity (EUI) metrics via GET /property/{propertyId}/metrics?measurementSystem=EPA&year={year}&month={month}; the response includes the 1–100 ENERGY STAR score, site EUI (kBtu/ft²/yr), source EUI, and national median comparisons.
Known gotchas
The Portfolio Manager API uses a request/response model where some operations (e.g., score calculations) require a separate step to trigger computation before retrieval; submitting meter data does not automatically recalculate the ENERGY STAR score — you must explicitly request a metrics refresh.
ENERGY STAR scores are only available for property types that have an active ENERGY STAR certification model; properties with ineligible types (e.g., many industrial or specialty building types) will return a score of N/A rather than an error — check eligibility before promising a score in your application.
The test environment and live environment use different base URLs and different sets of registered accounts; credentials from the test environment do not work in production and vice versa — maintain separate credential stores for each environment.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp