ChargerCostByCity

EV charger cost data

Short answer: The dataset covers 50 US cities: the national installed range ($749–$2,500, Qmerit), each city's permit fee and utility rebate, with a source URL on every row. It is refreshed weekly on Mondays.

Last updated:

What files can I download?

FileRowsNotes
city-costs.csv50Full dataset
sample-city-costs.csv5Free sample with the same columns

What does each column mean?

ColumnTypeMeaning
citytextCity name
statetextTwo-letter state
installed_low_usdinteger USDLow end of the national Level 2 installed range (Qmerit). Not city-specific.
installed_high_usdinteger USDHigh end of the same national range
installed_sourceURLSource of the installed range
permit_fee_usdnumber USDCity permit fee where sourced; blank = data pending or formula-based
permit_labeltextOfficial / secondary / pending label for the fee
permit_sourceURL list ( | separated)Where the permit fee came from
utility_rebate_max_usdinteger USDLargest local utility rebate found; blank if none
rebate_verified_officialyes/noRebate read on the utility's own page
net_low_usdinteger USDinstalled_low_usd − rebate (only when verified), floored at 0
net_high_usdinteger USDinstalled_high_usd − rebate (only when verified)
rebate_sourceURL listWhere the rebate came from
pageURLCity page on this site

Installed range source: Qmerit – How much does Level 2 EV charger installation cost? (national, accessed 2026-10-25). How every field is collected: methodology.

How often is it updated?

Weekly, on Mondays. Each refresh re-checks source pages. A changed figure is updated along with its source link and access date. If a figure can no longer be confirmed, it is blanked and marked "data pending"; it is never carried forward as an estimate.

Licensing for apps and research: draft licensing page.

Is the installed cost city-specific?

No. It is Qmerit's national range, repeated for every city. Permit fees and rebates are city-specific.

Why are some cells blank?

Blank means we could not find the figure from a public source. We don't fill gaps with estimates.

How often is the data refreshed?

Weekly, on Mondays.