Core Concepts

Key concepts you need to understand before building on the Plans API.

TDSPs (Utility Territories)

Texas has a deregulated electricity market. Customers choose their Retail Electric Provider (REP), but the physical power lines are owned by a Transmission and Distribution Service Provider (TDSP). Every electricity plan is tied to a specific TDSP territory.

There are 6 TDSPs in Texas, each identified by a unique DUNS number. The DUNS number is how you filter plans for a given area.

Use GET /api/tdsps?zip_code=77001 to resolve which TDSP serves a ZIP code. See the TDSP Reference for all DUNS codes and service areas.

Plans

A plan represents a specific electricity offering from a retail provider for a specific TDSP territory. Key fields on a plan object:

FieldDescription
_idUnique plan identifier.
keyHuman-readable slug (e.g., txu-simple-rate-24).
product_idReferences the product (brand + term + features).
tdsp_dunsTDSP DUNS number this plan is available in.
componentsPricing components (see below).
expected_pricesPre-calculated prices at requested usage levels.
document_linksLegally required disclosure documents (EFL, YRAAC, TOS).

Pricing Components

Each plan has an array of pricing components that define how the total price is calculated. Components are applied in order, with each one contributing to the final per-kWh price.

Pricing Component
{
  "min": 0,
  "max": 999999,
  "amount": 0.089,
  "multiplicative": true,
  "compound": false,
  "description": "Energy Charge",
  "tdsp_charge": false
}
FieldDescription
min / maxUsage band (kWh). The component only applies when usage falls within this range.
amountThe charge amount. If multiplicative is true, this is per-kWh. Otherwise it is a flat fee.
multiplicativetrue = per-kWh charge (multiplied by usage). false = flat monthly fee.
compoundWhether this component compounds with previous components.
tdsp_chargetrue = this is a TDSP (utility) delivery charge, not from the retail provider.

Use expected_prices for display

For most integrations, use expected_prices rather than calculating from components yourself. The API does the math for you when you pass display_usage.

Document Links

Texas regulations require that certain disclosure documents be available to consumers when shopping for electricity plans. Every plan includes links to these documents.

TypeFull NameDescription
eflElectricity Facts LabelStandardized pricing disclosure. Shows average price at 500, 1000, and 2000 kWh.
yraacYour Rights as a CustomerCustomer rights and protections document.
tosTerms of ServiceFull contract terms between the customer and provider.

Legal requirement

If you display plan information to consumers, you must provide links to the EFL, YRAAC, and TOS documents. This is a PUCT (Public Utility Commission of Texas) requirement.

Expected Prices vs. Calculated Prices

The API offers two ways to get prices for a plan:

MethodHowWhen to Use
Expected PricesPass display_usage toGET /api/plans orGET /api/plans/{id}Comparison tables, plan listings. You need prices at specific usage tiers (e.g., 500, 1000, 2000 kWh).
CalculateGET /api/plans/{id}/calculate/{usage}Custom usage calculators. User enters their exact usage and sees a price.
ChartGET /api/plans/{id}/chart/{start}/{end}/{step}Price curves and charts. Shows how price-per-kWh changes across a usage range.