Electricity Bill Verification

1 endpoint · Core API

What is Electricity Bill Verification? API simplifies the process of confirming customers' identities by cross-referencing their electricity bills. This ensures the legitimacy of the customer and mitigates the risk of fraudulent activities. Leveraging online utility bill verification systems is a secure and efficient method for institutions and entities to authenticate their customers' credibility. All that's needed for this process are specific customer credentials. This streamlined approach enhances security measures and provides peace of mind for businesses and organizations.

Benefits

  • 1. Enhances security by verifying customers' identities through their electricity bills
  • 2. Mitigates the risk of fraudulent activities and unauthorized access
  • 3. Streamlines the verification process for institutions and entities
  • 4. Provides peace of mind by ensuring the legitimacy of customers

What you can do

API verifies electricity bills and customer IDs issued by multiple Electricity Distribution Companies throughout India, ensuring secure authentication and validation of information.

You must send the electricity board yourself.

This API requires a service_provider code in the request (for example BSES_DL, TATA_DL, MAHAVITRAN) alongside the consumer_id. The biller is not auto-detected from the consumer ID — pick the code for the board that issued the bill from the table below.

We currently support 58 provider codes covering 59 electricity boards across India (BSES_DL serves both BSES Yamuna and BSES Rajdhani).

Supported electricity boards

Use Ctrl+F / Cmd+F to search by code or board name.

Delhi

service_providerElectricity board
BSES_DLBSES Yamuna / BSES Rajdhani
TATA_DLTata Power Delhi

Maharashtra

service_providerElectricity board
MAHAVITRANMSEDCL (Mahavitaran)
TATA_MUMBAITata Power Mumbai
BEST_MHBEST Mumbai
TORRENT_BHIWANDITorrent Power Bhiwandi

Gujarat

service_providerElectricity board
UGVCLUttar Gujarat Vij Company
PGVCLPaschim Gujarat Vij Company
MGVCLMadhya Gujarat Vij Company
DGVCLDakshin Gujarat Vij Company
TORRENT_AHDTorrent Power Ahmedabad
TORRENT_SURATTorrent Power Surat
TORRENT_DAHEJTorrent Power Dahej

Karnataka

service_providerElectricity board
BESCOMBangalore Electricity Supply Company
MESCOMMangalore Electricity Supply Company
CESCOMChamundeshwari Electricity Supply Company
GESCOMGulbarga Electricity Supply Company
HESCOMHubli Electricity Supply Company

Tamil Nadu (TANGEDCO)

service_providerRegion
CHENNAI_NORTHChennai North
CHENNAI_SOUTHChennai South
COIMBATORECoimbatore
MADURAIMadurai
TRICHYTrichy
ERODEErode
VELLOREVellore
VILLUPURAMVillupuram
TIRUNVELVELTirunelveli

Uttar Pradesh

service_providerElectricity board
UPPCLUttar Pradesh Power Corporation
KESCOKanpur Electricity Supply Company
TORRENT_AGRATorrent Power Agra

Rajasthan

service_providerElectricity board
JAIPURJaipur Vidyut Vitran Nigam
AJMERAjmer Vidyut Vitran Nigam
JODHPURJodhpur Vidyut Vitran Nigam

Madhya Pradesh

service_providerElectricity board
MPWZMP Paschim Kshetra (West)
MPCZMP Madhya Kshetra (Central)
MPEZMP Poorv Kshetra (East)

Andhra Pradesh / Telangana

service_providerElectricity board
APSPDCLAP Southern Power Distribution Company
APEPDCLAP Eastern Power Distribution Company
TSSPCLTelangana Southern Power Distribution Company

Haryana

service_providerElectricity board
DHBVNDakshin Haryana Bijli Vitran Nigam
UHBVNUttar Haryana Bijli Vitran Nigam

Bihar

service_providerElectricity board
NBPDCLNorth Bihar Power Distribution Company
SBPDCLSouth Bihar Power Distribution Company

West Bengal

service_providerElectricity board
WBENGALWBSEDCL
CESCCESC Kolkata

Other states and union territories

service_providerElectricity boardState / UT
APDCLAssam Power Distribution CompanyAssam
CSPDCLChhattisgarh State Power Distribution CompanyChhattisgarh
JBVNLJharkhand Bijli Vitran NigamJharkhand
KERALAKSEBKerala
PSPCLPunjab State Power CorporationPunjab
HPSEBHimachal Pradesh State Electricity BoardHimachal Pradesh
ORISSAOdisha distribution utilitiesOdisha
MeECLMeghalaya Energy CorporationMeghalaya
TRIPURATripura State Electricity CorporationTripura
GOA_ELECGoa Electricity DepartmentGoa
UPAY_GOAGoa (UPAY)Goa
CH_ELECChandigarh Electricity DepartmentChandigarh
DAMAN_DIUDaman & Diu Electricity DepartmentDaman & Diu

Request notes

  • consumer_id is required: 9 to 13 letters or digits, as printed on the bill.
  • service_provider is required and must be one of the codes above.
  • regMobileNo is required when service_provider is KERALA (10-digit mobile number registered with the connection, starting with 6, 7, 8 or 9). For other boards it is optional.
POST

/api/v1/electricity-bill/verify

#

Get electricity bill verification details

docs.signcare.io/core/api/utility-bills/electricity-bill-verification/#post-api-v1-electricity-bill-verify

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • consumer_id
    stringrequired
    Required. Consumer ID printed on the electricity bill. 9 to 13 letters or digits (A-Z, a-z, 0-9), no spaces or symbols.
    minLength 9maxLength 13pattern ^[a-zA-Z0-9]+$default 1012345678
  • service_provider
    stringrequired
    Required. Code of the electricity board that issued the bill, for example BESCOM. Must be one of the supported codes. Allowed values: APSPDCL, APEPDCL, APDCL, NBPDCL, SBPDCL, CESC, CH_ELEC, CSPDCL, DAMAN_DIU, TATA_DL, BSES_DL, GOA_ELEC, UPAY_GOA, UGVCL, PGVCL, MGVCL, DGVCL, TORRENT_AHD, TORRENT_SURAT, TORRENT_AGRA, TORRENT_BHIWANDI, TORRENT_DAHEJ, DHBVN, UHBVN, HPSEB, JBVNL, MESCOM, BESCOM, CESCOM, GESCOM, HESCOM, KERALA, MPWZ, MPCZ, MPEZ, TATA_MUMBAI, MAHAVITRAN, BEST_MH, MeECL, ORISSA, PSPCL, JAIPUR, AJMER, JODHPUR, CHENNAI_NORTH, VILLUPURAM, COIMBATORE, ERODE, MADURAI, TRICHY, TIRUNVELVEL, VELLORE, CHENNAI_SOUTH, TSSPCL, TRIPURA, KESCO, UPPCL, WBENGAL.
    minLength 1default BESCOM
  • regMobileNo
    stringconditional
    Conditional: required when service_provider is KERALA, optional for other boards. Mobile number registered with the electricity account: 10 digits starting with 6, 7, 8 or 9.
    nullablelength 10pattern ^[6-9]\d{9}$
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "consumer_id": "1012345678", "service_provider": "BESCOM" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    Response model containing electricity bill verification details.
    12 fields
    • bill_no
      stringoptional
      Bill number of the electricity bill.
      nullable
    • bill_due_date
      stringoptional
      Due date for the bill payment.
      nullable
    • consumer_number
      stringoptional
      Consumer number associated with the electricity connection.
      nullable
    • bill_amount
      stringoptional
      Bill amount for the current billing cycle.
      nullable
    • bill_issue_date
      stringoptional
      Date when the bill was issued.
      nullable
    • mobile_number
      stringoptional
      Mobile number registered with the electricity account.
      nullable
    • amount_payable
      stringoptional
      Total amount payable for the bill.
      nullable
    • total_amount
      stringoptional
      Total cumulative amount including arrears.
      nullable
    • address
      stringoptional
      Address of the electricity connection.
      nullable
    • consumer_name
      stringoptional
      Name of the consumer as registered with the provider.
      nullable
    • email_address
      stringoptional
      Email address associated with the consumer account.
      nullable
    • bill_date
      stringoptional
      Date of the electricity bill.
      nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "bill_no": "string", "bill_due_date": "string", "consumer_number": "string", "bill_amount": "string", "bill_issue_date": "string", "mobile_number": "string", "amount_payable": "string", "total_amount": "string", "address": "string", "consumer_name": "string", "email_address": "string", "bill_date": "string" }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/electricity-bill/verify' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "consumer_id": "1012345678", "service_provider": "BESCOM" }'