---
title: "WattGap Score and potential savings for a ZIP"
method: GET
path: "/api/v1/energy/score"
tags: ["energy"]
---

# WattGap Score and potential savings for a ZIP

`GET /api/v1/energy/score`

## Request

- Base URL: `https://wattgap.com`
- URL: `https://wattgap.com/api/v1/energy/score`
- Auth: API key in header `X-WattGap-Key`

Return the WattGap Score and potential savings for a 5-digit US ZIP, with provenance and confidence. Requires X-WattGap-Key.

## Query parameters

- `zip` string, required

## Response `200`

WattGap Score. OpenAPI expresses structural and scalar bounds; runtime-only invariants additionally require confidence_tier to equal provenance.confidence, data_sources to have exact ordered equality with provenance.source, each rebate total to equal the nearest-cent additive total of program amounts (ungrouped rows add; mutually exclusive groups contribute their maximum, not the sum), data.zip to equal meta.zip whenever the endpoint data includes a ZIP, and each energy response's serialized data and meta sections to stay within 524272 encoded bytes apiece.

- ScoreResponse
  - `data` object, required
    - `wattgap_score` number, required
    - `potential_savings` number, required
    - `zip` string, required
    - `state` string, required
  - `meta` EnergyApiMeta, required
    - `zip` string, required
    - `generated_at` string, required
    - `api_version` 'v1', required
    - `confidence_tier` 'high' | 'medium' | 'low', required
    - `data_sources` string[], required
    - `provenance` ProvenanceEnvelope, required
      - `source` string[], required
      - `verified_at` string, nullable, required
      - `confidence` 'high' | 'medium' | 'low', required
      - `confidence_base` 'high' | 'medium' | 'low', required
      - `age_days` number, nullable, required
      - `stale` boolean, required
      - `reason` 'fresh' | 'aging' | 'stale' | 'unverifiable' | 'check_failed', required
      - `as_of` string, required

## Other responses

- `400`: Invalid request (for example, malformed ZIP)
- `401`: Missing or invalid X-WattGap-Key. Rate-limit headers are omitted because no key was accepted.
- `429`: Rate limit exceeded
- `500`: Provider or response-schema failure

---

[API](https://skmtc.dev/wattgap/apis/wattgap-energy-intelligence-api.md) · [All operations](https://skmtc.dev/wattgap/apis/wattgap-energy-intelligence-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wattgap/apis/wattgap-energy-intelligence-api/revisions/9e79fdd6bcc2?raw)
