Verified Tariff & Bill Estimation API

Verified electricity tariff intelligence for energy products. Bihar is production-released today, while Maharashtra has a four-licensee calculation architecture covering MSEDCL, TPC-D, AEML and BEST with verified data released only where the production gate permits it.

API V1.2.0 Bihar production Maharashtra verified production 4 MH licensees routed Verified base tariff

One central place for the PEI API

This portal combines release information, integration guidance, client onboarding, security requirements, legal terms and privacy disclosures. Technical endpoint details remain in the versioned API documentation and OpenAPI specification.

The production API remains under /v1/. This portal is synced to API V1.2.0 and Controller V2.2.6, but it does not execute or modify tariff calculations.

Coverage and release status

Bihar Production released
Maharashtra Verified base-tariff production
4 MH licensees routed
32 Bihar supported subcategories
34 Bihar verified schedule rows
V1.2.0 Public API version

Bihar release ID: BR-2026-27-VERIFIED-STRICT-BASE-V1 · Runtime gates: 29/29 · Controller: V2.2.6

Maharashtra licensee coverage
MSEDCL, Tata Power Company - Distribution (TPC-D), Adani Electricity Mumbai Limited (AEML) and BEST are recognized by the Maharashtra routing layer. MSEDCL has verified data in the current stored release set. TPC-D, AEML and BEST remain fail-closed for payable production calculations until their verified datasets pass onboarding and release gates.
What “verified base tariff” means
Released calculations use verified category/rate data and deterministic arithmetic. The API does not claim to reproduce an exact current utility bill. Bihar monetary subsidy, current FPPAS/FPPPA/FPPCA, Maharashtra FAC/FPPPA, payable ToD where not explicitly released, statutory levies, taxes, duties, meter rent, arrears, rebates and other bill components remain excluded or fail-closed unless a response explicitly states otherwise.

Built for energy products, not tariff-table scraping

Solar platformsUse verified base electricity cost as an input to savings and proposal workflows.
EV charging productsEstimate charging electricity cost with state, licensee and category-aware tariff logic.
Energy softwareReplace hard-coded tariff tables with structured, source-traceable responses.
Consultants & analyticsRun repeatable tariff scenarios with explicit calculation limitations.
Need Bihar or Maharashtra production access? Request a controlled pilot. Pricing is discussed against required states, routes, traffic and support scope rather than hidden behind an unlimited-use claim.

Request Pilot / Pricing

Quick start

Production requests use HTTPS and a dedicated API key supplied through a supported header. Query-string API keys are rejected.

Header authentication

X-API-Key: pei_live_... Authorization: Bearer pei_live_...

Health request

curl -sS \ -H "X-API-Key: YOUR_API_KEY" \ "https://powerexpertindia.com/v1/health"

Capability discovery

curl -sS \ -H "X-API-Key: YOUR_API_KEY" \ "https://powerexpertindia.com/v1/capabilities?state_code=BR"

Verified tariff with payable composition

curl -sS \ -X POST \ -H "Content-Type: application/json" \ -H "X-API-Key: YOUR_API_KEY" \ -d '{ "state_code": "BR", "subcategory_code": "BR_DS_II", "energy_units": 126, "connected_load": "1", "billing_days": 30 }' \ "https://powerexpertindia.com/v1/calculate"

billing_days is optional and backward compatible. Executable values are currently 25, 30 and 40 only. For supported Bihar domestic calculations, POST /calculate may evaluate the frozen entitlement contract and apply the verified monetary subsidy core. An approved exact-month FPPAS version may also affect the verified monetary composition when its recovery-month and billing conditions match. The response preserves the base-tariff result separately and exposes final_payable, electricity-duty and ancillary-charge status. Resolve exact category codes and required fields through GET /categories before calculation.

Routes and least-privilege scopes

Route Method Scope Purpose
/health GET health:read Service, version and release status
/capabilities GET health:read State-aware enabled and blocked calculation features
/states GET states:read Released states
/categories GET categories:read Verified categories and required inputs; Maharashtra requires explicit licensee_code
/tariffs GET tariffs:read Verified tariff rows; Maharashtra requires licensee_code and category_id
/subsidy-entitlement GET tariffs:read Bihar domestic entitlement contract; monetary application is handled separately by POST /calculate
/fppas-periods GET tariffs:read Verified FPPAS period evidence; only an approved exact-month version may be applied by POST /calculate
/sources GET sources:read Public source traceability
/calculate POST calculate:write Verified tariff calculation; Maharashtra supports MSEDCL, TPC-D, AEML and BEST base tariffs with non-payable FAC/FPPPA and ToD limitations
/solar-savings POST calculate:write Verified Bihar domestic before/after solar base-tariff comparison
/category-resolver POST calculate:write Resolve a caller-declared Bihar domestic class to the verified tariff category

Recommended integration flow

1. Confirm service Call /health and validate API and release identity.
2. Read capabilities Call /capabilities before enabling bill components.
3. Resolve catalogue Use /states and /categories.
4. Inspect evidence Use /tariffs, /sources and the verified evidence/contract routes.
5. Calculate Send validated inputs to /calculate; consume final_payable and honour all unresolved-component disclosures.
6. Preserve and monitor Retain request metadata; track 401, 403, 422, 429 and 5xx.

Credential and security requirements

  • Store the key in a server-side secret manager or protected environment variable.
  • Do not expose a production key in browser JavaScript, mobile bundles or public repositories.
  • Never put a key in a URL, screenshot or support message.
  • Use the smallest required route scopes and approved state access.
  • Configure exact browser origins where CORS access is required.
  • Request immediate rotation after suspected exposure.
The protected registry stores SHA-256 key hashes. Dedicated API key plaintext is not intentionally written to request logs.

Rate limits and retries

The default production profile is 60 requests per minute per key with a 20-request burst allowance within 10 seconds. Limits are registry-driven and may differ by client plan.

  • Respect 429 and the Retry-After header.
  • Use bounded exponential backoff and request deduplication.
  • Do not retry validation or authentication errors without correcting the request.
  • Use caching for stable catalogue responses where appropriate.

Client testing checklist

  • Valid header authentication returns the expected response.
  • Missing credentials return 401.
  • Query-string credentials are rejected.
  • Unapproved scopes or states return 403.
  • Malformed JSON and invalid field types return documented errors.
  • Omitting billing_days preserves backward-compatible base calculation.
  • Unsupported subsidy billing days fail closed with 422.
  • Historical FPPAS percentages are never applied as the current bill rate.
  • The client respects rate-limit headers.
  • Money arithmetic uses integer paise values where provided.
  • The response request_id is retained for troubleshooting.
  • Consumer-facing output preserves all monetary-scope limitations.

Required consumer-facing disclosure

Applications displaying an estimated amount should clearly distinguish it from an official utility bill.

Suggested wording:

“This estimate uses the verified base tariff for the selected category. Any subsidy entitlement shown is units-only and does not reduce the amount. Historical FPPAS evidence is not a current applied rate. Monetary subsidy, current fuel or power-purchase adjustments, taxes, duties, meter rent, arrears, rebates and other bill components may change the final payable amount.”

Request API access

Use the secure API access request form for pilot, pricing, production or partnership discussions. Tell us the states, licensees, routes and expected traffic you need. Do not include an API key or consumer account data.

Request Pilot / Pricing

Organisation or project Name of the client application or business.
Technical contact Person responsible for integration and incidents.
Use case Bill estimation, EV, AC, solar, analytics or another approved use.
Required routes Only the scopes genuinely needed by the client.
Expected traffic Typical and peak requests per minute.
Browser origins Exact HTTPS origins where browser CORS is required.
Access requests are manually reviewed. Approval does not automatically generate a key. Dedicated keys are created through the protected PEI key management console after scope and security review.

Maharashtra Verified Base Tariff API — Developer Sandbox

Explore the released FY 2026–27 verified base-tariff contract for MSEDCL, TPC-D, AEML and BEST using production-tested payloads.

Phase 1 scope: FAC/FPPPA/FPPAS and Time-of-Day adjustments are not applied to the payable total. Subsidy, electricity duty, taxes/cess, arrears, penalties and miscellaneous bill components are excluded. This is a verified base-tariff calculation, not an exact current utility bill.
MSEDCL Verified production payload

Request JSON


cURL


Authentication: replace YOUR_API_KEY with the API key issued to your organisation. Never place API keys in query strings or public source code.

View API Documentation Request API Access

Documentation, integration and policies

The earlier standalone onboarding page is superseded by this central portal. It may be redirected here after this page is verified.