search_plans
Search live residential electricity plans for one utility in one state, ordered cheapest first. state and utility are both required — this API does not support bulk or unscoped export. Results are limited to plans observed within the last 7 days. Read the status field before summarising: no_data_for_scope means we have no recent data, NOT that the market has no plans. Pass usage_kwh to see each plan's price at the EFL-disclosed usage (500, 1000 or 2000 kWh) nearest it: every plan then reports the anchor used, and results are grouped by that anchor, then cheapest first. The price is the plan's own disclosed figure at that anchor — it is not recalculated for the exact usage.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| green | No | true = 100% renewable only; false = 0% renewable only. Plans whose renewable content is unknown are excluded by both settings. | |
| limit | No | Rows to return, 1-50. | |
| state | Yes | Two-letter state code, e.g. 'OH'. Required. | |
| offset | No | Rows to skip, for paging. | |
| utility | Yes | Utility / TDU name exactly as we publish it, e.g. 'AEP Columbus', 'ONCOR', 'PECO Energy'. Required. If unsure, call with a wrong value once — the error lists every utility we hold for that state. | |
| usage_kwh | No | Monthly usage in kWh, 100-5000. Optional. Adds pricing_basis, pricing_basis_kwh, rate_at_usage_cents, anchor_distance_kwh, est_monthly_cost_dollars (always null in this version) and anchor_shape to every plan: the disclosed EFL average price at the anchor (500/1000/2000 kWh) nearest this usage, ties to 1000. anchor_shape says how the three disclosed anchors move with usage: flat, falling, rising, v (1000 below both ends, typically a bill credit) or peak; null if any anchor is missing. Plans that disclose no anchor are returned last as 'unpriced'. | |
| term_months | No | Exact contract length in months, e.g. 12. |