Rewiring America Incentives API

Rewiring America’s API offers comprehensive, up-to-date information about electrification incentive programs and eligibility.

We are actively developing the "v1" revision of this API. It currently powers our incentives calculator, and we aim for it to be suitable for inclusion in third-party applications.

The "v0" of this API is still available, but deprecated; we plan to remove it in the near future, and new applications should not use it.

To generate an API key, click on the "Sign In" button. You can also use this link to sign up if needed.

If you have feedback, or if you've stumbled across this page by accident and you'd like to learn more, reach out to us at api@rewiringamerica.org.

Usage of the API is governed by our API Terms of Service (PDF) (including our API Guidelines and Acceptable Use Policy) and our Privacy Policy.

BASE URL
https://api.rewiringamerica.org

Authentication

Sign into view and manage your API credentials

(Deprecated) Find eligible incentives

Compute incentives for which the user is eligible, given the criteria in the request parameters.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

zip

required, string, maximum length of 5, minimum length of 5

Your zip code helps determine the amount of discounts and tax credits you qualify for.

owner_status

required, string enum

Homeowners and renters qualify for different incentives.

Possible Enum Values

homeowner

renter

household_income

required, integer, maximum value of 100000000, minimum value of 0

Enter your gross income (income before taxes). Include wages and salary plus other forms of income, including pensions, interest, dividends, and rental income. If you are married and file jointly, include your spouse’s income.

tax_filing

required, string enum

Select "Head of Household" if you have a child or relative living with you, and you pay more than half the costs of your home. Select "Joint" if you file your taxes as a married couple.

Possible Enum Values

hoh

joint

married_filing_separately

single

qualifying_widower_with_dependent_child

household_size

required, integer, maximum value of 8, minimum value of 1

Include anyone you live with who you claim as a dependent on your taxes, and your spouse or partner if you file taxes together.

GET
/api/v0/calculator
1

(Deprecated) List all incentives

List all available incentives, before applying eligibility criteria. Note that there will be duplicates with only subtle differences between eligibility tiers. Use the calculator endpoint to get de-duped incentives.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

GET
/api/v0/incentives
1

Find eligible incentives

Compute incentives for which the user is eligible, given the criteria in the request parameters.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

zip

optional, string, maximum length of 5, minimum length of 5

Find incentives that may be available in this ZIP code. Exactly one of this and "address" is required.

address

optional, string

Find incentives that may be available at this address. Exactly one of this and "zip" is required.

authority_types

optional, array of strings, items must be unique, minimum of 1 items

Find incentives offered by these types of authorities. If absent, incentives from all types of authorities will be considered.

Possible Enum Values

federal

city

county

state

utility

other

utility

optional, string

The ID of your utility company, as returned from /api/v1/utilities. Required if authority_types includes "utility". If absent, no incentives offered by utilities will be returned.

items

optional, array of strings, items must be unique, minimum of 1 items

Which types of product or service to fetch incentives for. If absent, include incentives for all products and services. Pass multiple values either comma-separated (items=new_electric_vehicle,used_electric_vehicle), or as the same GET parameter multiple times (items=new_electric_vehicle&items=used_electric_vehicle), or using empty square bracket notation (items[]=new_electric_vehicle&items[]=used_electric_vehicle).

Possible Enum Values

air_sealing

air_to_water_heat_pump

attic_or_roof_insulation

basement_insulation

battery_storage_installation

central_air_conditioner

crawlspace_insulation

owner_status

required, string enum

Whether the consumer owns or rents their home.

Possible Enum Values

homeowner

renter

household_income

required, integer, maximum value of 100000000, minimum value of 0

The consumer's gross income (pre-tax). Include wages and salary plus other forms of income, including pensions, interest, dividends, and rental income. Married taxpayers filing jointly should include their spouse's income.

tax_filing

required, string enum

The status under which the consumer files their federal taxes.

Possible Enum Values

hoh

joint

married_filing_separately

single

qualifying_widower_with_dependent_child

household_size

required, integer, maximum value of 8, minimum value of 1

The consumer's household size for tax purposes. Should include anyone the consumer lives with who they claim as a dependent on their taxes, and their spouse if they file taxes jointly.

language

optional, string enum, default: en

Optional choice of language for user-visible strings.

Possible Enum Values

en

es

include_beta_states

optional, boolean, default: false

Option to include states which are in development and not fully launched.

GET
/api/v1/calculator
1

Find utilities by location

Returns the electric utilities that may serve the given location. Because the location is imprecise, and because utility service territories aren't precisely defined, there may be multiple results, including utilities that don't actually serve the given location.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

zip

optional, string, maximum length of 5, minimum length of 5

Find utilities that may serve this ZIP code. Exactly one of this or "address" is required.

address

optional, string

Find utilities that may serve this address. Exactly one of this or "zip" is required.

language

optional, string enum, default: en

Optional choice of language for user-visible strings.

Possible Enum Values

en

es

GET
/api/v1/utilities
1

Get state rollout status

For each state and territory (and Washington, DC), return the development status of its state-, utility-, and local-level incentive data. (Note that federal-level incentive data is available regardless of location.)

The response's keys are two-letter state or territory codes, as defined by the US Postal Service. The response includes all 50 states, Washington DC, and the territories of Puerto Rico, Guam, American Samoa, the US Virgin Islands, and the Northern Mariana Islands.

In each key's value, the possible status properties are:

  • none: state, local, and utility (SLU) incentives for the state are not in the API at all.
  • beta: SLU incentives have not been fully vetted, and will be returned from /api/v1/calculator only if the include_beta_states request parameter is true.
  • launched: SLU incentives are fully vetted and returned in the API.
Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

GET
/api/v1/states
1

OpenAPI spec

Return the OpenAPI spec for this API, in JSON form.

GET
/spec.json
1