v1

latestOpenAPI 3.0.3Proprietary2026-07-1310083.9 KB
data-feed

Texas Solar Buyback Plan Catalog

Return the current catalog of solar buyback plans available in Texas, across every deregulated TDU (Oncor, CenterPoint, AEP Texas Central, AEP Texas North, TNMP, Lubbock Power & Light). Includes Meter Energy plans (fetched live from the Light API) plus competitor plans (TXU, Reliant, Octopus, Rhythm, Gexa, Cirro, Champion, and others). For each plan: provider name, plan name, TDU, contract term, import rate (¢/kWh), export buyback rate, base fee, ETF, estimated annual cost at a default profile, battery program support, signup URL, and source URL. Optional filters: tdu, providerType, termMonths.

A developer-facing data feed of every Texas solar buyback plan Meter tracks. Backed by the same engine that powers the public JSON feed at /data/texas-solar-buyback-plans.json and the markdown feed at /data/texas-solar-buyback-plans.md — surfaced here as a callable tool so it shows up in the discovery manifest and OpenAPI spec, and can be bundled into a submitted MCP app when it has a clear user-facing job.

What you get:

  • plans — array of solar buyback plans. Each row is a (provider × plan × TDU) tuple with import rate, export rate, base fee, ETF, term length, estimated annual cost at a default profile, battery program support, and source/signup URLs.
  • tduReferences — representative ZIP code for each Texas TDU. Useful for downstream lookups against get-utility-for-zip or get-tdu-delivery-rates.
  • assumptions — the default energy profile used to compute estimatedAnnualCostDollars. Override these client-side if you have the customer's actual usage shape.
  • sourceStatus — per-source freshness and coverage status. Always inspect this before treating a TDU slice as complete; competitor coverage is partial outside Oncor and CenterPoint today.
  • methodology and publisher — provenance for citation.

Use cases:

  • Build a "compare Texas solar plans" page or quote engine.
  • Power AI agents that recommend a plan and need real, current rate data.
  • Audit a homeowner's current plan against alternatives.
  • Track competitor pricing over time (the feed updates as Meter's underlying formatted_plans table refreshes).

Filters: all optional. Omit all three to get the full catalog.

  • tdu — case-insensitive partial match on display name (e.g. "Oncor", "CenterPoint", "AEP Texas Central").
  • providerTypemeter for Meter Energy plans only, competitor for everything else.
  • termMonths — exact contract length filter (e.g. 12, 24, 36).

Methodology notes:

  • Meter plans are fetched live from the Light API using one representative ZIP per TDU. Rates are real-time.
  • Competitor plans are read from Meter's formatted_plans dataset and costed with the same engine the public /solarbuybackplans comparison page uses.
  • estimatedAnnualCostDollars assumes a default solar homeowner profile (700 kWh imported and 700 kWh exported per month, 40% of imports at night, no battery). For personalized estimates, post the profile fields you have to /api/v1/plan-cost-calc.

This is an audience-4 (developer / agent) tool. For a ranked homeowner-facing recommendation given a ZIP, use find-electricity-plan instead — it does the ZIP-to-TDU lookup and ranks the cheapest plans for the user's stated usage.

post/api/v1/list-solar-buyback-plans

Request body

tdustring

Optional filter on TDU (Transmission and Distribution Utility) display name. Case-insensitive partial match. Examples: 'Oncor', 'CenterPoint', 'AEP Texas Central', 'AEP Texas North', 'TNMP', 'Lubbock Power & Light'. Omit to return plans from every TDU.

providerType'meter' | 'competitor'

Optional filter on provider type. 'meter' returns only Meter Energy plans. 'competitor' returns only non-Meter plans (TXU, Reliant, Octopus, Rhythm, Gexa, Cirro, Champion, and others). Omit to return both.

termMonthsinteger

Optional filter on exact contract length in months. Typical values: 12, 24, 36. Omit to return every term length.

Response

Tool ran successfully.

name'Texas Solar Buyback Plan Index' required

Catalog identifier.

generatedAtstring required

ISO 8601 timestamp the catalog was assembled.

validThroughstring required

ISO 8601 timestamp after which the catalog should be re-fetched. The underlying feed revalidates hourly.

methodologystring[] required

Bullet points documenting how the catalog is assembled. Cite these when summarizing the data.