Skip to main content
The incentives context endpoint exposes program-level rebate, tax credit, and financing incentive records for HVAC, solar, roofing, plumbing, and electrical trades. Records are sourced from official program portals, utility websites, and government databases. Each record carries a quote_safe flag indicating whether the program data is deterministic enough for customer-facing quote presentation. Use the status filter to restrict results to active programs, and the equipment_id parameter to automatically infer the relevant measure from a matched HVAC product. Endpoint
GET https://homeservicedata.com/api/v1/context/incentives

Query Parameters

trade
string
default:"hvac"
Trade vertical to filter by. One of: hvac, solar, roofing, plumbing, electrical.
state
string
Two-letter state code (e.g., CA, TX). Case-insensitive.
utility
string
Utility provider name or slug to filter programs offered by that utility.
measure
string
Measure key used to filter programs applicable to a specific installation type (e.g., heat_pump_central, central_ac). Overrides the measure inferred from equipment_id.
equipment_id
string
HSD equipment record ID. When provided, the API resolves the associated measure_key and uses it to filter relevant programs automatically.
status
string
Filter by program status. One of: active, planned, paused, waitlist, expired, superseded, state_dependent, limited, unknown.
income_band
string
Filter by income qualification tier. One of: low_income, moderate_income, market_rate, unknown.
quote_safe
boolean
When true, returns only records cleared for customer-facing quote use.
include_expired
boolean
default:"false"
When true, includes programs with status: expired that would otherwise be excluded.
limit
integer
default:"100"
Maximum number of records to return. Capped at 500.
Supplying equipment_id causes the API to look up the equipment record and infer the measure_key. If the equipment ID is not found a 404 is returned. Explicitly passing measure always takes precedence over the inferred value.

Response Fields

records
array
Array of incentive program objects.
coverage
object
Summary metadata about the query result.
Filter by status=active and quote_safe=true to get the smallest, highest-confidence set suitable for presenting rebate estimates directly to homeowners.

Example Request

curl -G https://homeservicedata.com/api/v1/context/incentives \
  -H "x-api-key: YOUR_API_KEY" \
  --data-urlencode "trade=hvac" \
  --data-urlencode "state=CA" \
  --data-urlencode "status=active" \
  --data-urlencode "quote_safe=true" \
  --data-urlencode "limit=5"

Example Response

{
  "success": true,
  "data": {
    "records": [
      {
        "id": "inc_01hzka1bc2de3fg4hi5jk6lmno",
        "program_key": "ca-utility-heat-pump-rebate",
        "program_name": "Home Energy Efficiency Rebate — Heat Pump",
        "authority": "Southern California Edison",
        "authority_type": "utility",
        "program_type": "rebate",
        "trade_category": "hvac",
        "summary": "Up to $1,000 rebate for qualifying ducted heat pump installations replacing a gas furnace.",
        "status": "active",
        "effective_date": "2024-01-01",
        "expires_at": "2024-12-31",
        "last_verified_at": "2024-10-20T14:00:00Z",
        "source_url": "https://www.sce.com/residential/rebates/heat-pump",
        "quote_safe": true,
        "confidence": "high"
      }
    ],
    "coverage": {
      "trade": "hvac",
      "state": "CA",
      "utility": null,
      "measure": null,
      "equipment_context": null,
      "records_returned": 1,
      "quote_safe_only": true,
      "includes_expired": false,
      "trust_basis": "Official sources first; uncertain state-dependent, waitlist, missing amount, or non-deterministic records return with quote_safe=false."
    }
  }
}