OrbTop

US Municipal Energy Benchmarking Disclosure Scraper

REAL ESTATEBUSINESS

US Municipal Energy Benchmarking Disclosure Scraper

Aggregates annual building energy benchmarking data from 15+ US jurisdictions with mandatory disclosure ordinances — NYC LL84, Chicago, Seattle, Montgomery County MD, Cincinnati, and more. All data lands in a single normalized schema, including site/source EUI, ENERGY STAR Score, GHG emissions, and reporting status.

What It Does

US cities with mandatory benchmarking laws publish their data through open data portals, mostly Socrata SODA v2 APIs. Each city uses slightly different field names, date formats, and coverage. This scraper handles all of that — pulling from each jurisdiction's endpoint, normalizing fields to a consistent schema, and delivering one dataset you can actually use across cities.

You can pull a single jurisdiction or queue them all in a single run.

Who Uses This Data?

ESG analysts pricing carbon risk into REITs, commercial real estate underwriters modeling transition risk, building decarbonization consultants scoping retrofit projects, and climate-tech startups building benchmarking tools. NYC LL97 carbon penalties started hitting in 2025 — the data is no longer academic.

Input

Field Type Description
maxItems integer Maximum total records to return across all jurisdictions. Default: 15.
jurisdictions array List of jurisdiction slugs to scrape. Leave empty to scrape all available.
minYear integer Optional. Only return records from this year or later.

Available jurisdiction slugs:

Slug Source Records (approx.)
nyc-ll84 NYC Local Law 84 — data.cityofnewyork.us ~28,000
chicago Chicago Energy Benchmarking — data.cityofchicago.org ~28,000
seattle Seattle Building Energy Benchmarking — cos-data.seattle.gov ~35,000
montgomery-county-md Montgomery County MD — data.montgomerycountymd.gov ~5,000
cincinnati Cincinnati Energy Benchmarking — insights.cincinnati-oh.gov ~600

Output Schema

Each record represents one property disclosure. Fields not available in a given jurisdiction are returned as null.

Field Type Description
source_jurisdiction string Jurisdiction slug (e.g. nyc-ll84)
data_year integer Reporting year
property_id string Source-system property identifier
property_name string Property name
parent_property_id string Parent property ID (campus groupings)
address string Street address
city string City
state string State abbreviation
postal_code string ZIP code
latitude number Latitude
longitude number Longitude
bbl string NYC Borough-Block-Lot (NYC LL84 only)
bin string NYC Building Identification Number (NYC LL84 only)
primary_property_type string EPA property type (Office, Multifamily, K-12 School, etc.)
gross_floor_area_sqft integer Total gross floor area in square feet
year_built integer Year of original construction
num_buildings integer Number of buildings in the property
occupancy_percent number Occupancy rate
energy_star_score integer ENERGY STAR Score (1-100)
site_eui_kbtu_sqft number Site energy use intensity (kBtu/ft2)
source_eui_kbtu_sqft number Source energy use intensity (kBtu/ft2)
weather_normalized_site_eui_kbtu_sqft number Weather-normalized site EUI
weather_normalized_source_eui_kbtu_sqft number Weather-normalized source EUI
electricity_use_kwh number Electricity use (kWh)
natural_gas_use_therms number Natural gas use (therms)
district_steam_use_kbtu number District steam use (kBtu)
water_use_kgal number Water use (kgal)
total_ghg_emissions_metric_tons_co2e number Total GHG emissions (metric tons CO2e)
direct_ghg_emissions_metric_tons_co2e number Direct GHG emissions (metric tons CO2e)
indirect_ghg_emissions_metric_tons_co2e number Indirect GHG emissions (metric tons CO2e)
ghg_intensity_kgco2e_sqft number GHG emissions intensity (kgCO2e/ft2)
reporting_status string Compliance reporting status
compliance_status string Ordinance compliance status
penalty_imposed number Penalty amount (where published)
ll97_emissions_limit number NYC LL97 carbon cap (where applicable)
chicago_energy_rating integer Chicago's 0-4 star energy rating

Usage Notes

Jurisdictions are scraped sequentially. Each jurisdiction is a separate API call with skip/limit pagination. Large runs (all jurisdictions, no maxItems limit) will take several minutes.

Data update frequency varies. NYC LL84 publishes annual snapshots, typically 12-18 months behind the calendar year. Other jurisdictions vary. Check each portal's "last updated" metadata if recency matters.

Field coverage is uneven by design. NYC has the richest schema (BBL, BIN, full energy breakdown). Chicago reports at a coarser level. The normalized schema makes cross-jurisdiction comparison possible — null fields in a row tell you the jurisdiction does not publish that metric, not that data is missing.

No proxy required. All endpoints are public Socrata APIs with no authentication or IP restrictions.

Frequently Asked Questions

How much does US Municipal Energy Benchmarking Disclosure Scraper cost to run? US Municipal Energy Benchmarking Disclosure Scraper uses pay-per-event pricing. Each building record scraped counts as one event. A full NYC LL84 pull (28,000 records) costs approximately $0.03 USD. A full multi-jurisdiction run across all five cities (100,000 records) runs approximately $0.10 USD.

What data can I get from US Municipal Energy Benchmarking Disclosure Scraper? US Municipal Energy Benchmarking Disclosure Scraper returns one record per building per disclosure year, including ENERGY STAR Score, site/source EUI, electricity use, natural gas use, GHG emissions, property type, floor area, and compliance status where available.

Can I filter by year? US Municipal Energy Benchmarking Disclosure Scraper supports a minYear input that applies a server-side date filter before data is returned.

Does US Municipal Energy Benchmarking Disclosure Scraper need proxies? US Municipal Energy Benchmarking Disclosure Scraper does not require proxies. All source APIs are public Socrata endpoints without IP restrictions or authentication.

Which jurisdictions are covered? US Municipal Energy Benchmarking Disclosure Scraper currently covers NYC (LL84), Chicago, Seattle, Montgomery County MD, and Cincinnati. Additional jurisdictions with Socrata-hosted open data are on the expansion roadmap.