ZeroAPI Developer Docs
Fast, reliable REST APIs for identity, vehicle, and government data verification. Get started in minutes with any language.
Overview
ZeroAPI provides REST endpoints for PAN, Aadhaar, RC, DL, GST, and more. Every request is authenticated with your API key and billed against your wallet balance.
All requests use HTTPS over REST. Responses are JSON-encoded (UTF-8).
Pass your api_key as a query parameter on every request.
All responses return a status field — "200" for success. Any other value indicates an error.
Fees are deducted from your wallet on successful calls only. Failed lookups are not charged.
Authentication
Every API request must include your API key. Get it from your dashboard under My API.
Append api_key as a query parameter to any endpoint URL:
curl "https://yourdomain.com/api/balance?api_key=YOUR_API_KEY"
Pricing
Each successful request deducts the fee below from your wallet. Failed requests are free.
Balance Check
Check your ZeroAPI wallet balance and username. Free endpoint.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
$url = "https://yourdomain.com/api/balance?api_key=YOUR_API_KEY"; $data = json_decode(file_get_contents($url), true); echo "Balance: ₹" . $data['Balance'];
const res = await fetch("https://yourdomain.com/api/balance?api_key=YOUR_API_KEY"); const data = await res.json(); console.log("Balance:", data.Balance);
curl "https://yourdomain.com/api/balance?api_key=YOUR_API_KEY"
Aadhaar to PAN
Find the linked PAN number for a given 12-digit Aadhaar number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| aadhaar_no | String | Required | 12-digit Aadhaar number. |
$url = "https://yourdomain.com/api/aadhaar_to_pan?api_key=YOUR_API_KEY&aadhaar_no=335400206902"; $data = json_decode(file_get_contents($url), true); echo "PAN: " . ($data['pan_no'] ?? '-');
curl "https://yourdomain.com/api/aadhaar_to_pan?api_key=YOUR_API_KEY&aadhaar_no=335400206902"
PAN Details
Fetch full PAN card details — name, DOB, gender — by PAN number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| panno | String | Required | Valid PAN number (e.g. CFAPR3702R). |
$url = "https://yourdomain.com/api/pan_details?api_key=YOUR_API_KEY&panno=CFAPR3702R"; $data = json_decode(file_get_contents($url), true); echo $data['name'];
curl "https://yourdomain.com/api/pan_details?api_key=YOUR_API_KEY&panno=CFAPR3702R"
PAN to Aadhaar
Retrieve Aadhaar details using a PAN Number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| pan_number | String | Required | 10-character PAN number. |
$url = "https://yourdomain.com/api/pan_to_aadhaar?api_key=YOUR_API_KEY&pan_number=JAYPP5910H"; $data = json_decode(file_get_contents($url), true); print_r($data);
curl "https://yourdomain.com/api/pan_to_aadhaar?api_key=YOUR_API_KEY&pan_number=JAYPP5910H"
PAN to GST
Retrieve all GSTINs linked with a PAN number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| pan | String | Required | 10-character PAN number. |
$url = "https://yourdomain.com/api/pan_to_gst?api_key=YOUR_API_KEY&pan=DPVPP9203R"; echo file_get_contents($url);
curl "https://yourdomain.com/api/pan_to_gst?api_key=YOUR_API_KEY&pan=DPVPP9203R"
GST Details
Retrieve complete GST registration details using GSTIN.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| gst | String | Required | 15-character GSTIN. |
$url = "https://yourdomain.com/api/gst_details?api_key=YOUR_API_KEY&gst=20DPVPP9203R1Z1"; echo file_get_contents($url);
curl "https://yourdomain.com/api/gst_details?api_key=YOUR_API_KEY&gst=20DPVPP9203R1Z1"
RC Print
Generate PDF of vehicle RC by vehicle number. Returns base64-encoded PDF.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| rcno | String | Required | Vehicle registration number. |
| cardtype | String | Optional | 1 = Old | 2 = New background |
| chiptype | String | Optional | 1 = Chip | 2 = Non-Chip |
$url = "https://yourdomain.com/api/rc?api_key=YOUR_API_KEY&rcno=BR03L8594&cardtype=2&chiptype=1"; echo file_get_contents($url);
curl "https://yourdomain.com/api/rc?api_key=YOUR_API_KEY&rcno=BR03L8594&cardtype=2&chiptype=1"
DL Print
Generate PDF of a Driving Licence by DL number and DOB.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| dlno | String | Required | Driving Licence number. |
| dob | String | Required | DOB in DD-MM-YYYY. |
| cardtype | String | Optional | 1 = White | 2 = Light Blue |
| state | String | Optional | JK = J&K layout |
$url = "https://yourdomain.com/api/dl?api_key=YOUR_API_KEY&dlno=DL0420110123456&dob=15-08-1990&cardtype=1"; echo file_get_contents($url);
curl "https://yourdomain.com/api/dl?api_key=YOUR_API_KEY&dlno=DL0420110123456&dob=15-08-1990&cardtype=1"
Ration Print
Generate PDF of Ration Card. Returns hosted PDF URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| rationno | String | Required | Ration card number. |
| card_type | String | Optional | 1 = Photo | 2 = Simple |
$url = "https://yourdomain.com/api/ration_pdf/ration?api_key=YOUR_API_KEY&rationno=123456789012&card_type=1"; echo file_get_contents($url);
curl "https://yourdomain.com/api/ration_pdf/ration?api_key=YOUR_API_KEY&rationno=123456789012&card_type=1"
pdf_url link rather than base64-encoded PDF.
Agristack Farmer PDF
Verify farmer details using Aadhaar and download Farmer PDF in base64.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| aadhaar | String | Required | 12-digit Aadhaar number. |
| state | String | Required | State code (BR, UP, DL, MH…). |
$url = "https://yourdomain.com/api/farmer?api_key=YOUR_API_KEY&aadhaar=335400206902&state=BR"; echo file_get_contents($url);
curl "https://yourdomain.com/api/farmer?api_key=YOUR_API_KEY&aadhaar=335400206902&state=BR"
Mobile to PAN
Get PAN number using customer name and mobile number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| Name | String | Required | Customer name. |
| MobileNo | String | Required | 10-digit mobile number. |
$url = "https://yourdomain.com/api/mobile_to_pan?api_key=YOUR_API_KEY&Name=Mohan&MobileNo=8000000066"; echo file_get_contents($url);
curl "https://yourdomain.com/api/mobile_to_pan?api_key=YOUR_API_KEY&Name=Mohan&MobileNo=8000000066"
NPCI Status
Check Aadhaar NPCI mapping and linked bank details.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| aadhaar | String | Required | 12-digit Aadhaar number. |
$url = "https://yourdomain.com/api/npci_status?api_key=YOUR_API_KEY&aadhaar=225900003211"; echo file_get_contents($url);
curl "https://yourdomain.com/api/npci_status?api_key=YOUR_API_KEY&aadhaar=225900003211"
UP Ration to Aadhaar
Get all Aadhaar-linked family members from an UP Ration Card number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| ration_no | String | Required | 12-digit UP Ration Card number. |
$url = "https://yourdomain.com/api/upration2uid?api_key=YOUR_API_KEY&ration_no=215740456718"; echo file_get_contents($url);
curl "https://yourdomain.com/api/upration2uid?api_key=YOUR_API_KEY&ration_no=215740456718"
Vehicle Challan
Check e-Challan details of any vehicle by vehicle number.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| vehicle_number | String | Required | Vehicle registration number. |
$url = "https://yourdomain.com/api/vehicle_challan?api_key=YOUR_API_KEY&vehicle_number=HR03AM4335"; echo file_get_contents($url);
curl "https://yourdomain.com/api/vehicle_challan?api_key=YOUR_API_KEY&vehicle_number=HR03AM4335"
Voter Mobile Link
Link a mobile number with a Voter ID (EPIC) instantly.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| epic | String | Required | Voter EPIC number. |
| mobile | String | Required | 10-digit mobile number. |
$url = "https://yourdomain.com/api/voter_link_instent?api_key=YOUR_API_KEY&epic=TMM0007133&mobile=7250000919"; echo file_get_contents($url);
curl "https://yourdomain.com/api/voter_link_instent?api_key=YOUR_API_KEY&epic=TMM0007133&mobile=7250000919"
IFSC Details
Get complete bank branch details using IFSC code.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| ifsc | String | Required | 11-character IFSC code. |
$url = "https://yourdomain.com/api/ifsc_details?api_key=YOUR_API_KEY&ifsc=PUNB0MBGB06"; echo file_get_contents($url);
curl "https://yourdomain.com/api/ifsc_details?api_key=YOUR_API_KEY&ifsc=PUNB0MBGB06"
LL Exam
Submit a Learner Licence Exam request. Save the returned order_id to check status later.
| Parameter | Type | Required | Description |
|---|---|---|---|
| api_key | String | Required | Your ZeroAPI key. |
| appno | String | Required | Application number. |
| password | String | Required | Application password. |
| dob | String | Required | DOB in DD-MM-YYYY. |
$url = "https://yourdomain.com/api/ll_exam?api_key=YOUR_API_KEY&appno=appno004&password=44hfgh1&dob=01-01-2000"; echo file_get_contents($url);
curl "https://yourdomain.com/api/ll_exam?api_key=YOUR_API_KEY&appno=appno004&password=44hfgh1&dob=01-01-2000"
LL Exam Status
Check LL Exam request status using the order_id returned by /api/ll_exam.
| Parameter | Type | Required | Description |
|---|---|---|---|
| order_id | String | Required | Order ID from /api/ll_exam. |
$url = "https://yourdomain.com/api/ll_exam_status?order_id=LLEXAM_FFFA9F23776BFB3F"; echo file_get_contents($url);
curl "https://yourdomain.com/api/ll_exam_status?order_id=LLEXAM_FFFA9F23776BFB3F"
Error Codes
All responses include a status field. Non-200 means error.
| Code | Name | Description |
|---|---|---|
| 200 | OK | Request successful. |
| 400 | Bad Request | Missing/invalid parameters. |
| 401 | Unauthorized | API key invalid or disabled. |
| 402 | Payment Required | Insufficient wallet balance. Recharge. |
| 403 | Forbidden | Access restricted. |
| 404 | Not Found | Record not found for given input. |
| 500 | Internal Server Error | Unexpected error. Retry later. |
| 502 | Bad Gateway | Upstream provider unreachable. |
Changelog
Recent updates to ZeroAPI.