MOBICELL INDIA
Get API Keys
Home โ€บ API Documentation

MOBICELL INDIA REST API

Integrate Recharge, Bill Payments, Money Transfer, Verification & more into your application.

Sandbox
https://mobicell.in/api/v1/sandbox
Production
https://mobicell.in/api/v1/live

Getting Started

This API allows you to integrate all financial services into your platform. Use the Sandbox environment for testing, and switch to Production once ready. All endpoints require an API Key passed in the request header.

๐Ÿงช Sandbox
Returns dummy responses. No real transactions, no wallet deductions. Use your Sandbox API Key.
โšก Production
Hits real providers. Wallet balance is deducted. Requires admin activation of live API access.

Authentication

Pass your API key in every request header. Never expose your key publicly.

Header Value Required Description
X-API-Key Your API Key Required Sandbox key for sandbox URL, Production key for live URL
Accept application/json Required Always send this for JSON responses
Content-Type application/json POST only Required for POST payloads
Security: If your key is compromised, regenerate it immediately from API Keys.

Sandbox Mode

Use https://mobicell.in/api/v1/sandbox with your Sandbox Key to test without any real transactions. Sandbox always returns mock success responses and never deducts your balance.

Response Format

All responses are JSON with a status (boolean) field.

SUCCESS
{ "status": true,
  "message": "OK",
  "data": { ... } }
ERROR
{ "status": false,
  "message": "Error",
  "errors": { ... } }

Error Codes

HTTP Code Meaning
200 Success โ€“ check status field
401 Invalid or missing API Key
403 Live mode not activated
422 Validation error โ€“ see errors field
500 Server error โ€“ contact support
๐Ÿ”Œ API Endpoints
GET
Wallet Balance
[BASE_URL]/wallet/balance

Get the current main and commission balance of the API account.

Response

{ "status": true,
  "data": {
    "main_balance": "24560.50",
    "commission_balance": "1250.00",
    "currency": "INR"
  }
}
GET
Wallet Transactions
[BASE_URL]/reports?page=1&per_page=15

Get paginated transaction history.

Parameter Type Required Description
page Integer Optional Page number (default: 1)
per_page Integer Optional Items per page (default: 15, max: 100)
POST
Process Recharge
[BASE_URL]/recharge/process

Process a mobile prepaid, postpaid, or DTH recharge.

Parameter Type Required Description
operator_id Integer Yes Numeric Operator ID (e.g. 1, 5, 2). Use /operator-codes to list.
number String Yes 10-digit mobile or VC/Subscriber number
amount Numeric Yes Recharge amount in INR
client_ref_id String Yes Your unique transaction reference (max 50 chars)
GET
Recharge Status
[BASE_URL]/recharge/status

Check the real-time status of a previously processed recharge or bill payment.

Parameter Type Required Description
client_ref_id String Yes Your unique transaction reference from the original request
GET
Check Operator
[BASE_URL]/recharge/check-operator

Fetch a list of active recharge and DTH operators.

Parameter Type Required Description
No query parameters required.
POST
Recharge Dispute
[BASE_URL]/recharge/dispute

File a dispute for a transaction that failed but where funds were deducted, or if the operator processed incorrectly.

Parameter Type Required Description
client_ref_id String Yes Your unique transaction reference from the original request
remark String Yes A brief explanation of why this transaction is being disputed
GET
Get BBPS Categories
[BASE_URL]/bbps/categories

Fetch a list of all active service categories supported by the BBPS ecosystem (e.g., Electricity, Water, Gas).

Parameter Type Required Description
No query parameters required.
GET
Get Circles
[BASE_URL]/bbps/circles

Fetch the list of telecom/utility regional circles and their corresponding location IDs.

Parameter Type Required Description
No query parameters required.
GET
Get BBPS Operators
[BASE_URL]/bbps/operators

Fetch a list of active BBPS operators within a specified category. These operators support mandatory bill fetching.

Parameter Type Required Description
category_id Integer Yes The ID of the Category. Obtained from the /bbps/categories endpoint.
circle Integer Optional The Location ID (circle) of the region. Filters operators to a specific state.
GET
Get BBPS Operator Parameters
[BASE_URL]/bbps/operator-parameters

Fetch the dynamic input requirements (parameters) mandated by a specific operator (e.g. "Meter Number", "Consumer ID"). You must construct your bill fetching payload using these exact keys.

Parameter Type Required Description
operator_id Integer Yes The ID of the Operator. Obtained from the /bbps/operators endpoint.
POST
BBPS Fetch Bill
[BASE_URL]/bbps/fetch

Fetch outstanding bill details for dynamic BBPS operators (Electricity, Gas, Water, etc.) before processing payment.

Parameter Type Required Description
operator_id Integer Yes The unique ID of the operator. Obtained from the /bbps/operators endpoint.
category_id Integer Yes The ID of the Category. Obtained from the /bbps/categories endpoint.
account_number String Yes The consumer identifier (e.g. Consumer ID, Account Number, or CA Number).
acno String Optional Additional account identifier (e.g. Meter Number) required by certain operators.
POST
BBPS Pay Bill
[BASE_URL]/bbps/pay

Submit a bill payment request for a BBPS operator. Ensure you have the exact amount from a successful fetch-bill request.

Parameter Type Required Description
operator_id Integer Yes The unique ID of the operator.
category_id Integer Yes The ID of the Category. Obtained from the /bbps/categories endpoint.
account_number String Yes The consumer identifier.
amount Numeric Yes The bill amount to pay (obtained from /bbps/fetch).
client_ref_id String Yes Your unique transaction reference for tracking.
acno String Optional Additional account identifier (e.g. Meter Number) required by certain operators.
POST
Money Transfer (DMT)
[BASE_URL]/dmt/transfer

Transfer money to any Indian bank account via IMPS/NEFT.

Parameter Type Required Description
sender_mobile String Yes Sender 10-digit mobile number
account_number String Yes Beneficiary bank account number
ifsc String Yes Bank IFSC code (11 chars)
amount Numeric Yes Transfer amount (โ‚น1 โ€“ โ‚น25,000)
beneficiary_name String Yes Beneficiary full name
client_ref_id String Yes Your unique transaction reference
POST
Payout
[BASE_URL]/dmt/payout

Send a payout to a bank account with higher limits via IMPS/NEFT/RTGS.

Parameter Type Required Description
account_number String Yes Beneficiary bank account
ifsc String Yes Bank IFSC code
amount Numeric Yes Payout amount in INR
mode String Yes Transfer mode: IMPS / NEFT / RTGS
beneficiary_name String Yes Beneficiary full name
client_ref_id String Yes Unique reference
POST
Aadhaar โ€“ Send OTP
[BASE_URL]/verification/aadhaar/send-otp

Initiate Aadhaar verification by sending an OTP to the registered mobile. Live API charges apply

Parameter Type Required Description
aadhaar_number String (12) Yes Valid 12-digit Aadhaar number
POST
Aadhaar โ€“ Verify OTP
[BASE_URL]/verification/aadhaar/verify-otp

Verify the OTP received after the Send OTP step.

Parameter Type Required Description
aadhaar_number String (12) Yes Same Aadhaar used in Send OTP
otp String (6) Yes 6-digit OTP received on Aadhaar registered mobile
reference_id String Yes ref_id received from the Send OTP response
POST
PAN Verification
[BASE_URL]/verification/pan

Verify a PAN number and get the registered name. Live API charges apply

Parameter Type Required Description
pan_number String (10) Yes PAN in AAAAA9999A format
POST
Bank Account Verification (Penny Drop)
[BASE_URL]/verification/bank

Verify a bank account details by performing a penny drop. Live API charges apply (โ‚น3.00)

Parameter Type Required Description
account_number String Yes Beneficiary bank account number
ifsc String Yes Bank IFSC code
name String Yes Beneficiary name for verification

Success Response Example

{
  "ErrorCode": 100,
  "status": "Success",
  "msg": "done",
  "response": {
    "beneficiary_name": "JOHN DOE",
    "beneficiary_account": "1234567890",
    "beneficiary_ifsc": "SBIN0001234",
    "account_status": "ACTIVE",
    "bank_name": "STATE BANK OF INDIA",
    "branch_name": "MUMBAI MAIN BRANCH"
  }
}
POST
Voter ID Verification
[BASE_URL]/verification/voterid

Verify Voter ID details. Live API charges apply

Parameter Type Required Description
voterid_number String (10) Yes Voter ID number
POST
Driving License Verification
[BASE_URL]/verification/dl

Verify Driving License details. Live API charges apply

Parameter Type Required Description
dl_number String Yes Driving License number
dob String (YYYY-MM-DD) Yes Date of Birth
POST
Passport Verification
[BASE_URL]/verification/passport

Verify Passport details. Live API charges apply

Parameter Type Required Description
file_number String Yes Passport File number
dob String (YYYY-MM-DD) Yes Date of Birth
POST
RC (Vehicle) Verification
[BASE_URL]/verification/rc

Verify Vehicle Registration details. Live API charges apply

Parameter Type Required Description
vehicle_number String Yes Vehicle registration number
POST
UPI Verification
[BASE_URL]/verification/upi

Verify UPI ID details. Live API charges apply

Parameter Type Required Description
upi_id String Yes UPI ID (e.g., example@upibank)
POST
GST Verification
[BASE_URL]/verification/gst

Verify GST registration details. Live API charges apply

Parameter Type Required Description
gst_number String (15) Yes GST number
GET
Fetch Mobile Plans
[BASE_URL]/plans/fetch?type=mobile_plans&operator_id=1&number=9876543210

Get available recharge plans for a mobile operator. Live API charges apply

Parameter Type Required Description
type String Yes mobile_plans / dth_info / bill_fetch
operator_id Integer Yes Our primary Database Operator ID (Get from list below)
number String Yes Mobile number
circle String Optional Circle/Location code (Default: 0 - All India)
POST
DigiLocker - Initialize Session
[BASE_URL]/verification/digilocker/initialize

Start a DigiLocker E-KYC session. Returns a URL for user authentication.

ParameterTypeRequiredDescription
nameStringYesUser's full name
mobileString(10)YesUser's mobile number
redirect_urlURLYesURL to return after auth
logo_urlURLOptionalCustom logo for auth page (Default: System Logo)
POST
DigiLocker - Check Status
[BASE_URL]/verification/digilocker/status

Verify if the user has completed the DigiLocker authentication.

ParameterTypeRequiredDescription
client_idStringYesClient ID from initialize step
POST
MCA Company Verification
[BASE_URL]/verification/mca

Fetch official MCA registry details by Company Name or CIN.

ParameterTypeRequiredDescription
typeStringYesname or cin
valueStringYesThe Company Name or CIN code
POST
TAN Verification
[BASE_URL]/verification/tan

Verify Tax Deduction and Collection Account Number (TAN).

ParameterTypeRequiredDescription
tan_numberString(10)Yes10-digit TAN number
POST
Udyog Aadhaar (MSME)
[BASE_URL]/verification/udyog-aadhaar

Verify MSME Udyog Aadhaar registration details.

ParameterTypeRequiredDescription
udyog_numberStringYesUdyog Aadhaar Number
POST
Bank Penny Drop
[BASE_URL]/verification/bank-penny-drop

Verify bank account by depositing โ‚น1 and retrieving the beneficiary name.

ParameterTypeRequiredDescription
account_numberStringYesBank account number
ifscString(11)YesBank IFSC code
POST
UPI VPA Info
[BASE_URL]/verification/upi-info

Get the registered name associated with a UPI VPA.

ParameterTypeRequiredDescription
upi_idStringYesUPI ID (e.g. user@bank)
POST
Vehicle Challan Details
[BASE_URL]/verification/vehicle-challan

Fetch all pending and paid traffic challans for a vehicle.

ParameterTypeRequiredDescription
vehicle_numberStringYesVehicle registration number
POST
Aadhaar OCR Processing
[BASE_URL]/verification/ocr/aadhaar

Extract text data from Aadhaar card images.

ParameterTypeRequiredDescription
front_imageBase64YesAadhaar Front (Base64 string)
back_imageBase64YesAadhaar Back (Base64 string)
POST
DigiLocker - Download Aadhaar
[BASE_URL]/verification/digilocker/download

Download and verify the user's XML Aadhaar data from DigiLocker.

ParameterTypeRequiredDescription
client_idStringYesClient ID from initialize step
POST
TIN Verification
[BASE_URL]/verification/tin

Verify Tax Identification Number (TIN).

ParameterTypeRequiredDescription
tin_numberString(11)Yes11-digit TIN number
POST
DIN Verification
[BASE_URL]/verification/din

Verify Director Identification Number (DIN).

ParameterTypeRequiredDescription
din_numberString(8)Yes8-digit DIN number
POST
PAN by GST Number
[BASE_URL]/verification/pan-by-gst

Extract the PAN number from a registered GST number.

ParameterTypeRequiredDescription
gst_numberString(15)Yes15-digit GSTIN
POST
PAN-Bank Account Linkage
[BASE_URL]/verification/pan-bank-link

Verify if a PAN is officially linked to a specific bank account.

ParameterTypeRequiredDescription
pan_numberString(10)YesPAN Card number
account_numberStringYesBank account number
ifscString(11)YesIFSC code
POST
Mobile to UPI Lookup
[BASE_URL]/verification/mobile-to-upi

Find the primary UPI ID linked to a mobile number.

ParameterTypeRequiredDescription
mobileString(10)Yes10-digit mobile number
POST
PANCard OCR Processing
[BASE_URL]/verification/ocr/pan

Extract text and details from a PAN card image.

ParameterTypeRequiredDescription
imageBase64YesPAN Front (Base64 string)
POST
Aadhaar Image Masking
[BASE_URL]/verification/aadhaar-masking

Mask the first 8 digits of the Aadhaar number in an image for compliance.

ParameterTypeRequiredDescription
imageBase64YesAadhaar image (Base64 string)
POST
AEPS Transaction
[BASE_URL]/aeps/transaction

Process an Aadhaar-based Payment System (AePS) transaction using biometric data.

Parameter Type Required Description
transaction_type String Yes CASH_WITHDRAWAL / BALANCE_ENQUIRY / MINI_STATEMENT
aadhaar_number String (12) Yes Customer Aadhaar number
bank_iin String Yes Bank IIN code
amount Numeric Withdrawal Amount to withdraw (in INR)
biometric_data String Yes Base64 encoded PID XML from biometric device
device_imei String Yes Biometric device serial number
client_ref_id String Yes Your unique transaction reference
GET
Transaction Reports
[BASE_URL]/reports?page=1&per_page=15

Get paginated transaction history with filtering options.

Parameter Type Required Description
page Integer Optional Page number (default: 1)
per_page Integer Optional Items per page (default 15, max 100)
{ "status": true,
  "data": {
    "transactions": [...],
    "pagination": {
      "current_page": 1,
      "total": 120,
      "per_page": 15,
      "last_page": 8
    }
  }
}
REF
Operator ID Reference

Use these operator_id codes when making Recharge, Bill Fetch, Bill Pay, and Plan API requests.

Smart Failover Engine: Our platform uses a multi-layered provider chain. if a provider returns a downtime error or fails to respond, the system automatically retries your request against up to 4 backup providers in real-time, ensuring maximum success rates for your transactions.
# Operator Name Operator ID Category
REF
Circle Reference

Use these circle or location codes when making Plan API and other location-based requests.

# Circle Name Circle Code Abbreviation
1 Andaman and Nicobar 35 AN
2 Andhra Pradesh (New) 37 AD
3 Arunachal Pradesh 12 AR
4 Assam 18 AS
5 Bihar 10 BR
6 Chandigarh 04 CH
7 Chhattisgarh 22 CG
8 Dadra and Nagar Haveli 26 DN
9 Daman and Diu 25 DD
10 Delhi 07 DL
11 Goa 30 GA
12 Gujarat 24 GJ
13 Haryana 06 HR
14 Himachal Pradesh 02 HP
15 Jammu and Kashmir 01 JK
16 Jharkhand 20 JH
17 Karnataka 29 KA
18 Kerala 32 KL
19 Lakshadweep 31 LD
20 Madhya Pradesh 23 MP
21 Maharashtra 27 MH
22 Manipur 14 MN
23 Meghalaya 17 ML
24 Mizoram 15 MZ
25 Nagaland 13 NL
26 Odisha 21 OR
27 Puducherry 34 PY
28 Punjab 03 PB
29 Rajasthan 08 RJ
30 Sikkim 11 SK
31 Tamil Nadu 33 TN
32 Telangana 36 TS
33 Tripura 16 TR
34 Uttar Pradesh 09 UP
35 Uttarakhand 05 UA
36 West Bengal 19 WB
LANGUAGE
REQUEST
Examples
1
2
3
4
5
6
7
8
9
10
11
12
const url = 'https://mobicell.in/api/v1/sandbox/wallet/balance'; const options = { method: 'GET', headers: { accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY' } }; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) .catch(err => console.error(err));
โ— 200 - Result
1
2
3
4
5
6
7
{ "status": true, "data": { "main_balance": "24560.50", "commission_balance": "1250.00", "currency": "INR" } }
API Endpoints
GET /wallet/balance
GET /reports
POST /recharge/process
GET /bbps/categories
GET /bbps/circles
GET /bbps/operators
GET /bbps/operator-parameters
POST /fetch-bill
POST /process-bill
POST /dmt/transfer
POST /dmt/payout
POST /verification/aadhaar/send-otp
POST /verification/aadhaar/verify-otp
POST /verification/pan
POST /verification/bank
GET /plans/fetch
POST /aeps/transaction
POST /verification/digilocker/initialize
POST /verification/mca
POST /verification/tan
POST /verification/tin
POST /verification/din
POST /verification/udyog-aadhaar
POST /verification/bank-penny-drop
POST /verification/ocr/aadhaar
POST /verification/vehicle-challan