---
title: "Fetch BBPS Bill API Reference"
description: "Retrieve outstanding bill details from a biller before processing payment."
canonical: "https://eps.eko.in/docs/bbps-fetch-bill"
---


> **Canonical URL:** https://eps.eko.in/docs/bbps-fetch-bill
> This is a machine-readable Markdown version of the page for AI agents and LLMs. The primary (HTML) version lives at the canonical URL above.

# Fetch BBPS Bill API Reference

`GET https://staging.eko.in/ekoapi/v3/customer/payment/bbps/bill`

Retrieve outstanding bill details from a biller before processing payment.

Fetches the live bill for a customer from the biller's system. Required for operators where `billFetchResponse = 1`. The response includes the outstanding amount, due date, and a `billfetchresponse` token that must be forwarded verbatim in the subsequent Pay Bill call. Pass `hc_channel=1` to use the higher-commission delayed channel.

> View product & pricing details: [Bharat Bill Payment System (BBPS)](https://eps.eko.in/products/bbps-api.md)

## Query parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| initiator_id | string | yes | Registered mobile number of the API user (see Platform Credentials). e.g. 9962981729 |
| user_code | string | yes | User code of the retailer/agent the service is run for. e.g. 20810200 |
| utility_acc_no | string | yes | Customer's account / consumer number with the biller. e.g. 1234567890 |
| confirmation_mobile_no | string | yes | Customer's mobile number for transaction confirmation. e.g. 9999988888 |
| sender_name | string | yes | Customer's full name. e.g. Ramesh Kumar |
| operator_id | string | yes | Biller identifier from the Get Operators response. e.g. 83 |
| source_ip | string | yes | IP address of the agent or retailer making this request. e.g. 192.168.1.1 |
| latlong | string | yes | Agent's GPS coordinates as `latitude,longitude`. Mandatory for agent activation compliance. e.g. 28.6139,77.2090 |
| hc_channel | number | no | Payment channel: 0 = Instant (default), 1 = Delayed (higher commissions). e.g. 0 |
| dob | string | no | Date of birth of the policy holder in DD/MM/YYYY format. Required for LIC policies. e.g. 15/08/1985 |
| cycle_number | string | no | Electricity bill cycle number. Required for MSEB billers. e.g. 202406 |
| authenticator | string | no | MSEB portal password. Required for certain MSEB accounts. e.g. mypassword123 |

## Headers

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| developer_key | string | yes | Static API key issued to your account after KYC. |
| secret-key | string | yes | Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))). |
| secret-key-timestamp | string | yes | Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time. |
| content-type | string | yes | application/json e.g. application/json |

## Response

⭐ marks fields highlighted as verifiable.

| Field | Type | Description |
| --- | --- | --- |
| status | number | Primary success indicator (0 = success). |
| message | string | Human-readable response / error message. |
| response_status_id | number | Granular status id; see the shared error-codes table. |
| response_type_id | number | A unique id for every possible response shape (success or error) — useful for client logic branching and analytics. |
| data | object | API-specific response payload. |
| data.bill_amount ⭐ | string | Outstanding bill amount in paise (divide by 100 for rupees). |
| data.due_date ⭐ | string | Bill due date returned by the biller. |
| data.bill_number ⭐ | string | Biller-assigned bill or reference number. |
| data.bill_date | string | Date the bill was generated. |
| data.customer_name ⭐ | string | Customer name as registered with the biller. |
| data.billfetchresponse ⭐ | string | Opaque token from the biller's system. Must be passed as-is in the Pay Bill request body when the operator requires it. |

## Example response

```json
{
  "status": 0,
  "response_status_id": 0,
  "message": "Bill fetched successfully",
  "response_type_id": 1388,
  "data": {
    "bill_amount": "135000",
    "due_date": "30/06/2024",
    "bill_number": "BN20240601XYZ",
    "bill_date": "01/06/2024",
    "customer_name": "Ramesh Kumar",
    "billfetchresponse": "eyJhbGciOiJSUzI1NiJ9..."
  }
}
```

## Error scenarios

| Status | Scenario |
| --- | --- |
| 200 | Invalid consumer number — biller returns no bill |
| 200 | Biller system unavailable |
