Fetch Billers | BBPS API | Razorpay
Retrieve a list of BBPS billers with filtering by category, geography and status using Razorpay’s Bill Payments API.
GET
Available in🇮🇳 India
Use this endpoint to retrieve a list of billers on the Bharat Bill Payment System (BBPS). Filter by category, geographic coverage or status. Fetch a specific biller by biller_id or gateway_biller_id. The response includes the biller’s configuration for payment, fees, additional info and account holder inputs. Use these to render the bill retrieval and payment UI.
Incremental SyncPass
updated_since (Unix timestamp) to fetch only billers updated after a specific time. This is the recommended way to keep your local biller catalogue in sync without re-fetching the entire list.Query Parameters
string
Razorpay’s internal biller entity id. Use to retrieve a specific biller by Razorpay id. For example,
biller_001.string
Filter billers by pre-defined BBPS biller category. Case-insensitive. For example,
electricity, loan_repayment, mobile_postpaid.string
BBPS-specific biller id assigned by NPCI. Use to retrieve a specific biller by NPCI id. For example,
TPOW00000MUM01.string
Fetch a specific biller by Razorpay biller id. For example,
biller_001.string
Filter billers by country. Defaults to
IN.string
Filter billers by state code. For example,
MH, DL.string
Filter billers by city. For example,
Bengaluru, Mumbai.integer
Unix timestamp in seconds. Returns only billers updated after this time. Use for incremental sync of your local biller catalogue.
string
Filter billers by operational status. Values:
active, inactive, deactivated.integer
Number of billers per page. Default is
10. Maximum is 100.integer
Number of biller records to skip for pagination. Default is
0.Response Parameters
string
Entity type identifier. Here,
collection.integer
Number of biller records returned.
array
Array of biller objects.
string
Razorpay biller entity id. Format:
biller_xxx. Use this when creating a bill request or payment.string
Entity type. Always
bill_payment.biller.string
Payment gateway. Defaults to
bbps.integer
Biller creation timestamp in Razorpay records (Unix seconds).
integer
Last update timestamp from the gateway (Unix seconds). Use for data freshness checks.
string
NPCI/BBPS provided biller id (max 20 characters). Use for NPCI reconciliation and audit trail.
string
Biller display name. Show this on the biller selection UI.
string
Biller alias or nickname shared in biller MDM. Optionally show alongside
name for search and selection.string
Biller category. Use for grouping and filtering on the UI.
string
Biller operational status. Values:
active, inactive, deactivated. Show deactivated billers with a deactivated tag on the UI.array
Biller support type. Values:
online, offline. Use to make channel routing decisions.string
Biller logo image URL. Not in NPCI standard - sourced by Razorpay for UI display.
integer
Start date timestamp when biller becomes active on NPCI (Unix seconds).
integer
End date timestamp when biller is deprecated on NPCI (Unix seconds).
null if currently active.object
Geographic coverage area for the biller.
string
Country code. For example,
IND.string
State code. For example,
MH.string
City name. For example,
Mumbai.object
Gateway-specific biller configuration.
string
Biller ownership. Values:
Government, PSU, Private. Use to know whether the biller is private or government for audit trail.object
Payment configuration supported by the biller.
string
Payment amount flexibility. Values:
exact- user must pay the exact amount fetched.exact_or_above- user can pay exact amount or more.exact_or_below- user can pay exact amount or less.any- user can pay any amount.
string
Whether biller supports direct payment without bill request. Values:
mandatory, optional, not_supported. Use to enable or disable the quick pay flow on the UI.string
Whether the biller supports a
pending payment state. Values: true, false. Use for async payment confirmation handling.integer
Timeout period in seconds supported by the biller when
support_pending_status is true.array
Payment methods accepted by the biller as per Razorpay nomenclature. Use to filter payment options for the customer.
string
Payment method code. Values:
netbanking, upi, card, wallet.string
For
card method, sub-type such as credit, debit, prepaid.integer
Minimum transaction amount in paise for this method.
integer
Maximum transaction amount in paise for this method.
null for cash payments.boolean
Whether this method supports pending status.
array
Amount breakup types supported in bill request response. Use to parse the bill retrieval response structure.
array
Allowed combinations of amount components. Each item contains a
components array listing valid breakup combinations.array
Initiating channels supported by the biller.
string
Initiating channel code. Values:
internet, mobile, pos, mpos.integer
Minimum transaction amount in paise for this channel.
integer
Maximum transaction amount in paise for this channel.
boolean
Whether this channel supports pending status.
object
Bill request configuration supported by the biller.
string
Type of bill response. Values:
single, multiple.string
Whether bill retrieval is required before payment. Values:
mandatory, optional, not_supported.string
Whether plan fetch is required. Values:
mandatory, optional, not_supported.object
Additional information configuration supported by the biller.
array
Additional information parameters required from the customer.
string
Parameter display name. For example,
Customer Mobile Number.string
Parameter data type. Values:
numeric, alphanumeric, alpha, date.boolean
Whether the parameter is optional.
integer
Minimum character length.
integer
Maximum character length.
string
Validation regex pattern.
array
Allowed enum values for the parameter.
boolean
Whether the parameter should be shown to the customer.
object
Fee configuration supported by the biller.
array
Fee types applicable.
string
Fee identifier. Values:
PFB- Physical Biller FeeEBF- Electronic Biller FeeCCF1/CCF2- Customer Convenience FeeAGSC- Agent Service Charge
string
Customer-facing fee label. For example,
Customer Convenience Fee.string
Who pays the fee. Values:
B2C (biller), C2B (customer).object
Fee calculation parameters.
integer
Minimum transaction amount for this fee tier in paise.
integer
Maximum transaction amount for this fee tier in paise.
decimal
Percentage fee component. For example,
0.5 represents 0.5%.integer
Fixed fee component in paise.
integer
Fee validity start timestamp (Unix seconds).
integer
Fee validity end timestamp (Unix seconds).
null if ongoing.array
Rules determining which fee applies for a given transaction.
string
Transaction type. Values:
payment, fetch, validate. Defaults to payment.string
NPCI response code when fee applies.
00 represents success.string
Payment method for this rule. For example,
Internet banking, upi, card.string
Sub-type of the payment method. Applies only when
method is card. Values: credit, debit, prepaid. Use this to apply different fee rules for credit vs debit card payments.string
Initiating channel for this rule. For example,
AGT, INT, MOB.array
Array of fee codes applicable. Apply multiple fees if listed.
boolean
Whether this is the default fee configuration. Used when no specific match is found.
integer
Rule validity start timestamp (Unix seconds).
integer
Rule validity end timestamp (Unix seconds).
object
Account holder configuration supported by the biller.
array
Customer input parameters required for bill retrieval. Use to build the bill retrieval input form.
string
Parameter display name. For example,
Customer Mobile Number.string
Input data type. Values:
numeric, alphanumeric, alpha, date.boolean
Whether the parameter is optional.
integer
Minimum character length.
integer
Maximum character length.
string
Validation regex pattern.
array
Allowed enum values for the parameter.
object
Combination and sequence of input parameters required for bill retrieval.
integer
Sequence number of the input required from the customer.
string
NPCI group level identifier. Use to render multi-step forms with progressive disclosure.
array
List of field names the customer must provide in this step.
integer
Minimum count of inputs required mandatorily from this step. Convert to string to render UI accordingly.
integer
Which prior step must be completed.
null if there is no dependency on a previous step.Errors
The `category` value is not a valid BBPS category.
The `category` value is not a valid BBPS category.
Code:
400The category provided does not match any BBPS category.Solution: Use a valid BBPS category. Case-insensitive matching is supported.The `biller_id` is invalid.
The `biller_id` is invalid.
Code:
400The biller id provided does not correspond to a valid biller.Solution: Use a valid biller id returned by the Fetch Billers API.The `count` exceeds the maximum limit.
The `count` exceeds the maximum limit.
Code:
400Count exceeds maximum limit of 100.Solution: Pass a count value between 1 and 100.The `geo_coverage.state` is invalid.
The `geo_coverage.state` is invalid.
Code:
400Invalid state. Possible values - state, city, country.Solution: Pass a valid state code.Unable to fetch biller information from NPCI MDM.
Unable to fetch biller information from NPCI MDM.
Code:
502NPCI did not respond within the timeout window.Solution: Retry the request after a short interval.The API `<key/secret>
` provided is invalid.
The API `<key/secret> ` provided is invalid.
Code:
401The API credentials passed in the request differ from the ones generated on the Dashboard.Solution: Ensure your API key and secret are correct and active.