Skip to main content

Perishable Status -- Live Verification Stamp

Data Freshness & Machine Access

This page serves as a perishable status checkpoint for both human readers and AI crawlers. It shows when the underlying data was last verified, lists machine-readable API endpoints, and documents our cache and staleness policies.

June 2026

Data Verified At (conservative floor)

1,705h

Age of Oldest Verified Fact

2026-08-20T01:19:08.266Z

Page Generated At (verify stamp)

Machine-Readable Endpoints

These endpoints are designed for AI crawlers, search indexers, and automated tool consumers. All are public, no authentication required.

EndpointFormat
/llms.txttext/plain
/api/v1/energy/llms.txttext/plain
/api/v1/energy/dataset.jsonldapplication/ld+json
/sitemap.xmlapplication/xml
/robots.txttext/plain

Cache & Freshness Policy

Staleness Thresholds

  • Page-level: Variable by territory and program (a stale ground-truth clock excludes only that territory's utility-category pages; base state and metro pages remain in the sitemap; per-program staleness thresholds range from 14 to 60 days for how often a program's source is re-checked). Live program status (open, closed, or exhausted) is a separate clock: GET /api/program-status/:zip computes status_freshness on a 90-day window, so a status checked 61-90 days ago still reads "aging" there even though it is outside the 14-to-60-day source range above.

Cache-Control Headers

  • llmsTxt: 86400s (24 hours)
  • datasetJsonld: 86400s (24 hours)
  • sitemap: 3600s (1 hour)
  • listingSummary: 21600s (6 hours, with stale-while-revalidate)

Live staleness checks and certified-territory DQRP checks surface freshness concerns. Per-program status metadata is the source for current freshness state.

Public Status APIs

These APIs expose the freshness metadata each endpoint actually returns. Use them to check whether a specific program or region's data is current before acting on it.

GET /api/program-status/:zip

Returns certified program status for a ZIP code with per-program status_freshness (fresh/aging/stale/unknown) and last_verified_at timestamps. Public, no auth.

GET /api/score?zip=80202

Carries a _provenance sidecar with stale/stale_since fields per state.

POST /api/calculate-incentives

Carries a top-level _provenance sidecar with the response source, state tier, and stale posture. Certified program rows can include source and verification metadata; Rewiring America and fallback responses expose response-level provenance only. The AMI block exposes its source URL and stale status, but not a last_verified_at timestamp. Requires JSON body: {"zip":"80202","owner_status":"homeowner","household_income":75000,"household_size":2}.

How to cite this data

WattGap Certified Rebate Dataset, June 2026. https://wattgap.com. Verified against primary program sources. See /api/v1/energy/dataset.jsonld for W3C-PROV lineage.

License terms vary by source and by WattGap-authored metadata. Attribution details are maintained in /data-sources and include per-source licensing requirements. Check per-program freshness at /api/program-status/:zip.

Frequently asked questions

How fresh is the rebate data?

All certified-territory rebate figures were verified against primary program sources no earlier than June 2026. This is a conservative floor -- individual programs may have been verified more recently. See the program-status API endpoint for per-program freshness metadata.

What is the conservative verification floor?

The "DATA VERIFIED AT" date (2026-06-10) is the oldest verification date across every certified territory in our ground-truth dataset. When any fact is re-verified, the floor can only move forward if the oldest remaining fact has also been re-verified. This means the label can never over-claim freshness for a stale region.

How can AI crawlers consume this data?

We publish llms.txt (structured context for LLMs), dataset.jsonld (W3C-PROV lineage), a sitemap.xml, and robots.txt with explicit Allow rules for major AI crawlers including GPTBot, ClaudeBot, Google-Extended, PerplexityBot, and Applebot-Extended.

How often is data re-verified?

Live staleness checks and certified-territory DQRP checks surface freshness concerns. This page does not promise a fixed re-verification cadence. Use the program-status API for the current freshness state of a specific program.

How do I check if a specific program is stale?

Use the public program-status API at /api/program-status/:zip. Each program row carries a status_freshness field (fresh, aging, stale, or unknown) and a last_verified_at timestamp.

Building on top of WattGap?

Check out our developer resources for API documentation, MCP server access, and integration guides.

Developer Resources

Important Notice

All rebate and incentive amounts shown on this page are estimates based on publicly available government program data. WattGap is an independent informational platform and is not affiliated with any government agency or rebate program administrator.

These estimates are not guarantees. Actual rebate amounts, eligibility requirements, and program availability vary by state, utility, and individual circumstances, and may change without notice. Program funding may be limited or exhausted.

Before making purchasing decisions based on rebate availability, verify current program details, eligibility requirements, and available amounts directly with your state energy office or utility provider.