---
type: "products-index"
title: "APIs & Products — Complete Reference | Eko Platform Services"
description: "Complete reference for all of Eko's fintech APIs — features, use cases, pricing slabs, endpoints and FAQs for every payment, verification and BC agent API, in one document."
canonical: "https://eps.eko.in/products"
---


> **Canonical URL:** https://eps.eko.in/products
> 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.

# Getting Started for AI Coding Agents

AI coding agents can get started immediately to discover APIs, auth, and integration recipes without scraping the HTML pages, and without the need for signup.

- Install the EPS context MCP (`eps-context-mcp`) to get structured access to the latest API specs, HMAC request signing, and integration recipes — so you can integrate Eko's APIs end-to-end without guessing from these pages. Run `npx -y @ekoindia/eps-context-mcp@latest`, or see per-agent setup at https://eps.eko.in/ai#install (Markdown: https://eps.eko.in/ai.md). Claude Code & Codex have a native two-step plugin install; other agents wire the MCP directly.
- **Developer docs:** https://eps.eko.in/docs (Markdown: https://eps.eko.in/docs.md)
- **Authentication:** https://eps.eko.in/auth (Markdown: https://eps.eko.in/auth.md)
- **Test credentials:** For UAT and testing during development, use developer_key=becbbce45f79c6f5109f848acd540567 and access_key=d2fe1d99-6298-4af2-8cc5-d97dcf46df30
- [Full Machine bundle](https://eps.eko.in/agent/eps.json): Canonical JSON of every endpoint, topic, and recipe (context heavy)
- [Endpoint index](https://eps.eko.in/agent/index.json): Compact list; fetch /agent/api/<slug>.json for details
- [OpenAPI](https://eps.eko.in/openapi.json): OpenAPI 3.1 document
- [API catalog](https://eps.eko.in/.well-known/api-catalog): RFC 9727 linkset of every machine surface (OpenAPI, bundle, both MCP servers)
- [Context MCP as REST](https://mcp.eko.in/context/openapi.json): the same docs tools over plain HTTP + OpenAPI, for ChatGPT Actions / Gemini function calling
- [AI hub](https://eps.eko.in/ai): All agent artifacts + install instructions

# Eko EPS APIs & Products — Complete Reference

Production-ready fintech APIs for payments, verification, and agent banking — built for India's digital economy. This document contains the full details of every active Eko API so it can be used standalone; per-product pages are linked in each section.

To get started, fill the form at https://eps.eko.in/signup (with your name, mobile number and email) or call us at +919513181707

**Pricing notes (apply to every product below):** All rates and commissions are in INR, exclusive of GST @ 18%. Billing is per successful API call. Verification APIs are a cost you pay per call; DMT, AePS and BBPS pay YOU a commission per transaction (TDS @ 2% is deducted from commission payouts). Setup fees are currently 25% off.

## Products at a Glance

| Product | Category | Summary |
| --- | --- | --- |
| [Domestic Money Transfer (DMT)](https://eps.eko.in/products/dmt-api) | BC Agent | Instant domestic money transfer via IMPS/NEFT |
| [AePS Cashout](https://eps.eko.in/products/aeps-api) | BC Agent | Aadhaar-enabled biometric cash withdrawal & transfer |
| [Bharat Bill Payment System (BBPS)](https://eps.eko.in/products/bbps-api) | Payments | Bill payments for 25+ biller categories via Bharat Connect |
| [Mobile/OTP Verification](https://eps.eko.in/products/mobile-otp-verification-api) | Verification | Send, verify & validate mobile OTPs with a signed proof token |
| [PAN Verification](https://eps.eko.in/products/pan-verification-api) | Verification | Full PAN identity fetch in <2 seconds |
| [Bank Account Verification](https://eps.eko.in/products/bank-verification-api) | Verification | Penny-drop bank account validation |
| [GST Verification](https://eps.eko.in/products/gst-verification-api) | Verification | GSTIN lookup & filing status |
| [DigiLocker Integration](https://eps.eko.in/products/digilocker-api) | Verification | Fetch notarised docs — Aadhaar, DL, marksheets, etc |
| [UPI ID (VPA) Verification](https://eps.eko.in/products/upi-verification-api) | Verification | Validate UPI ID (VPA) in real time |
| [Driving Licence Verification](https://eps.eko.in/products/dl-verification-api) | Verification | Driving licence validity & details |
| [Vehicle & RC Verification](https://eps.eko.in/products/vehicle-rc-verification-api) | Verification | Vehicle registration, ownership & insurance details |
| [Employee Verification](https://eps.eko.in/products/employee-verification-api) | Verification | Employment & background check via EPFO |
| [Reverse Geocoding](https://eps.eko.in/products/reverse-geocoding-api) | Verification | Convert GPS coordinates to address |
| [Voter ID Verification](https://eps.eko.in/products/voter-id-verification-api) | Verification | Validate voter ID (EPIC) details instantly |
| [Passport Application Validation](https://eps.eko.in/products/passport-application-validation-api) | Verification | Validate Indian passport application details using file number and date of birth |
| [CIN Verification](https://eps.eko.in/products/cin-verification-api) | Verification | Validate Company Identification Numbers via MCA |
| [IP Verification](https://eps.eko.in/products/ip-verification-api) | Verification | Geo-locate and risk-score IP addresses |
| [Name Match](https://eps.eko.in/products/name-match-api) | Verification | Fuzzy name matching across identity documents |
| [ITR Compliance Check](https://eps.eko.in/products/itr-compliance-api) | Verification | Check income tax return filing and compliance status |
| [DIN Verification](https://eps.eko.in/products/din-verification-api) | Verification | Verify Director Identification Numbers via MCA |
| [E-Challan Verification](https://eps.eko.in/products/e-challan-verification-api) | Verification | Check pending traffic challans for vehicles |
| [Email Verification](https://eps.eko.in/products/email-verification-api) | Verification | Validate email address deliverability and risk |
| [FSSAI License Verification](https://eps.eko.in/products/fssai-verification-api) | Verification | Verify FSSAI food license details and status |

## Verification APIs

### Mobile/OTP Verification

The Mobile OTP Verification API lets you confirm that a customer controls a mobile number before onboarding them or authorising a transaction. Send an OTP, verify the entered code, and receive a signed JWT proof token that downstream APIs can validate — so OTP verification can be proven server-to-server within a strict time window.

**Pricing:**
₹0.15 per OTP sent. Verify OTP and Validate Token are free follow-up calls..

**Features:**
- **Send OTP** — Trigger an OTP SMS to the customer's primary mobile number and get a transaction id plus expiry timestamp.
- **Verify OTP** — Validate the code the customer entered and receive a signed otp_verification_token as proof.
- **Validate Token** — Confirm the proof token is authentic and was issued within the last 5 minutes — ideal for server-to-server checks.
- **Custom Sender ID** — Send OTPs under your own brand by registering a Sender ID and content template on a telecom DLT platform.

**Who should use:** Fintechs and NBFCs onboarding customers, Agent-banking and assisted-commerce platforms, Marketplaces verifying buyers and sellers, Any product gating actions behind mobile verification

**Use cases:** Verify a mobile number during customer onboarding, Two-factor confirmation before payments or high-value transactions, Prove OTP verification to a downstream API via the token, Reduce fake signups with real mobile-ownership checks

**What Can You Verify With Mobile/OTP Verification API?**
- **OTP Expiry** — Timestamp until which the OTP stays valid. Verify before this time.
- **OTP Verification Token** — Signed JWT proving the OTP was verified. Contains the verified mobile and a unique token id; valid for 5 minutes. Validate it with the Validate OTP-Verification-Token API.
- **Verified Mobile** — The mobile number that was verified.

**API endpoints:**
- `POST /tools/kyc/mobile/otp` — Send OTP: inputs: CSP ID, Mobile Number → outputs: OTP Expiry
- `PUT /tools/kyc/mobile/otp/verify` — Verify OTP: inputs: OTP, Mobile Number, OTP Reference ID → outputs: OTP Verification Token, Verified Mobile
- `GET /tools/kyc/mobile/otp/validate-token` — Validate OTP-Verification-Token: inputs: OTP Verification Token → outputs: Verified Mobile

**FAQs:**
- **What is the OTP verification token?** On successful Verify OTP, the API returns a signed JWT (otp_verification_token) containing the verified mobile and a unique token id. It is valid for 5 minutes and acts as proof that OTP verification happened — pass it to downstream transactions and confirm it with the Validate Token API.
- **How long is the OTP and the token valid?** The OTP stays valid until the otp_expiry_timestamp returned by Send OTP. The verification token issued by Verify OTP is valid for 5 minutes from generation.
- **Can I send OTPs with my own company name?** Yes. By default OTPs are sent with the Eko India signature. To use your own Sender ID and template, register as a Principal Entity on a telecom DLT platform, register a Sender ID and the OTP content template, and share the approved details during onboarding.
- **How is the API billed?** You are billed per OTP sent. Verify OTP and Validate Token are free follow-up calls.

**Links:** [Page](https://eps.eko.in/products/mobile-otp-verification-api) · [Markdown](https://eps.eko.in/products/mobile-otp-verification-api.md) · [API docs](https://eps.eko.in/docs/mobile-otp-send)

### PAN Verification

The PAN Verification API enables businesses to validate Permanent Account Number (PAN) details instantly. It is designed for compliance-driven onboarding, fraud prevention, and identity verification use cases across financial and enterprise platforms.

**Pricing:**
| Variant | Rate | Billing unit |
| --- | --- | --- |
| Fetch PAN Details | ₹1.30 | per verification |
| PAN Verification (Lite) | ₹1.20 | per verification |
| PAN Verification (Advanced) | ₹2.04 | per verification |
| Bulk PAN Verification* | ₹1.20 | per verification (billed per record in bulk requests) |

**Features:**
- **Real-Time PAN Validation** — Verify PAN details instantly with structured responses.
- **High Accuracy Responses** — Returns validated PAN information for reliable identity checks.
- **Automation Friendly** — Easily integrate into digital onboarding and KYC pipelines.
- **Scalable Verification** — Designed to support large volumes without performance impact.

**Who should use:** Fintech and financial institutions, Marketplaces and platforms, NBFCs and lenders, Enterprises with KYC requirements

**Use cases:** Customer KYC verification, Merchant and vendor onboarding, Account opening workflows, Compliance and due diligence checks

**What Can You Verify With PAN Verification API?**
- **PAN Number** — The PAN number submitted in the request.
- **Full Name** — Full name registered against the PAN.
- **Category** — PAN holder category, e.g. 'person', 'company', 'firm', 'trust', 'huf'.
- **Lookup Status** — Outcome of the PAN lookup, e.g. 'success'.
- **Name Matched?** — Whether the submitted name matches the PAN record. Values: 'Y' (match), 'N' (no match), or null (unavailable).
- **DOB Matched?** — Whether the submitted date of birth matches the PAN record. Values: 'Y' (match), 'N' (no match), or null (unavailable).
- **PAN Activation Status** — Granular PAN activation status code. E: Valid, EC: Valid (Acquisition), N: Non-existent, X: Deactivated, F: Fake, D: Deleted, EA: Valid (Amalgamation), ED: Valid (Death), EI: Valid (Dissolution), EL: Valid (Liquidated), EM: Valid (Merger), EP: Valid (Partition), ES: Valid (Split), EU: Valid (Under Liquidation)
- **Aadhaar Seeding Status** — Aadhaar-PAN seeding/linking status. Values: 'Y' (seeded), 'R' (registered but not confirmed), 'NA' (not seeded), or null.
- **Registered Name** — Authoritative name registered in the PAN database.
- **Name on PAN Card** — Name printed on the physical PAN card.
- **Type** — PAN holder category (e.g., 'Individual', 'Company', 'Firm', 'Trust', 'HUF').
- **Gender** — Gender from PAN record. Values: 'M' (Male), 'F' (Female).
- **Date Of Birth** — Date of birth from the PAN record (YYYY-MM-DD).
- **Masked Aadhaar Number** — Aadhaar number with first 8 digits masked for privacy (e.g., 'XXXX XXXX 1234').
- **Aadhaar Linked?** — Whether the PAN is linked to an Aadhaar number.
- **Address** — Structured address fields of the PAN holder.
- **Full Address** — Complete address string.
- **Count** — Number of entries in the results array.
- **Entries** — Per-PAN verification results for the batch.
- **Pan** — 10-character PAN identifier.

**API endpoints:**
- `POST /tools/kyc/fetch-pan` — Fetch PAN Details: inputs: PAN Number, Source → outputs: PAN Number, Full Name, Category, Lookup Status
- `POST /tools/kyc/pan-lite` — PAN Lite: inputs: PAN Number, Name, Date of Birth → outputs: Name Matched?, DOB Matched?, PAN Activation Status, PAN Validity Status, Aadhaar Seeding Status
- `POST /tools/kyc/pan-advanced` — PAN Advanced: inputs: PAN Number, Name → outputs: Registered Name, Name on PAN Card, Type, Gender, Date Of Birth, Masked Aadhaar Number, Aadhaar Linked?, Full Address
- `POST /tools/kyc/pan/bulk` — Bulk PAN Verification: inputs: Entries → outputs: Reference Id
- `GET /tools/kyc/pan/bulk/status` — Check Bulk PAN Verification Status: inputs: Bulk Verification Id, Bulk Reference Id → outputs: Count, Pan

**FAQs:**
- **How fast is PAN verification?** PAN verification is real-time with sub-second response times for instant identity validation.
- **What details are returned?** PAN Lite returns PAN status, name match, DOB match, and Aadhaar seeding status. PAN Advanced returns holder name, PAN type, gender, date of birth, masked Aadhaar number, Aadhaar linking status, mobile number, email, and address.

**Links:** [Page](https://eps.eko.in/products/pan-verification-api) · [Markdown](https://eps.eko.in/products/pan-verification-api.md) · [API docs](https://eps.eko.in/docs/pan-fetch)

### Bank Account Verification

Verify bank account details to prevent failed transactions and reduce operational costs. Instant verification with penny-drop and account holder name matching.

**Pricing:**
| Variant | Rate | Billing unit |
| --- | --- | --- |
| Bank Account Verification (Pennyless) | ₹2.04 | per verification |
| Bank Account Verification (Pennydrop) | ₹3.00 | per verification |
| Bulk Bank Account Verification* | ₹2.04 | per verification (billed per record in bulk requests) |

**Features:**
- **Penny Drop Verification** — Send ₹1 to verify account exists and is active before large payments.
- **Account Status Check** — Verify if the account is active, dormant, or closed.
- **Name Matching** — Get account holder name for verification against provided details.
- **IFSC Validation** — Validate IFSC codes and get bank branch details.
- **Real-time Results** — Get verification results within seconds for seamless workflows.
- **Bulk Verification** — Verify multiple accounts in a single API call for batch processing.

**Key benefits:**
- **Reduce Failed Payments** — Verify accounts before disbursement to minimize transaction failures and reversals.
- **Prevent Fraud** — Match account holder names to prevent payments to wrong accounts.
- **Lower Operational Costs** — Reduce cost of failed transactions, reversals, and manual reconciliation.
- **Instant Verification** — Real-time results for seamless customer and vendor onboarding.
- **All Banks Supported** — Verify accounts across all major banks in India through a single API.
- **24/7 Availability** — Round-the-clock verification service for reliable, high-volume workflows.

**Use cases:** Salary Disbursement, Vendor Payments, Loan Disbursement, Insurance Claims, Refund Processing, Incentive Payments, Commission Payments, E-commerce Seller Onboarding

**What Can You Verify With Bank Account Verification API?**
- **Account Holder's Name** — Account holder name as registered with the bank. Use for name matching against provided details.
- **Account Status** — Verification outcome for the account (e.g. VALID).
- **Account Status Code** — Machine-readable account status code (e.g. ACCOUNT_IS_VALID).
- **Bank Name** — Name of the bank associated with the account.
- **Account Holder's Name** — Account holder name as registered with the bank. Use for name matching against the details you hold.
- **Verification Status** — Verification outcome for the account, e.g. success.
- **Entries** — Per-account verification results — one object for each account submitted in the batch.
- **Name Match Score** — Confidence score for the supplied-name vs name-at-bank match.
- **Name Match Result** — Name match result (e.g. MATCH / NO_MATCH).

**API endpoints:**
- `POST /tools/kyc/bank-account/sync` — Bank Account Verification: inputs: Bank Account, IFSC Code → outputs: Account Holder's Name, Account Status, Account Status Code, Bank Name
- `POST /tools/kyc/bank-acc-verify-pennyless` — Bank Account Verification (Pennyless): inputs: Bank Account Number, IFSC Code → outputs: Account Holder's Name, Verification Status
- `POST /tools/kyc/bank-account/bulk` — Bulk Bank Account Verification: inputs: Entries, Entries[].Reference Id, Entries[].Bank Account, Entries[].Ifsc → outputs: Bulk Reference Id, Batch Status
- `GET /tools/kyc/bank-account/bulk/status` — Check Bulk Bank Account Verification Status: inputs: Bulk Reference Id → outputs: Name At Bank, Bank Name, Name Match Score, Name Match Result, Account Status

**FAQs:**
- **What is penny drop verification?** Penny drop is a method where a small amount (₹1) is transferred to verify the account is active and details are correct. The account holder name is returned for matching.
- **Do customers receive the ₹1?** Yes, the ₹1 is credited to the verified account. This is a real transaction that confirms the account is active and can receive funds.
- **How accurate is name matching?** Our intelligent name matching algorithm handles variations, abbreviations, and common spelling differences with 99%+ accuracy.
- **Which banks are supported?** We support all major banks in India including SBI, HDFC, ICICI, Axis, Kotak, Yes Bank, and 100+ other banks.
- **What if verification fails?** Failed verifications return specific error codes indicating the reason - invalid account, closed account, incorrect IFSC, etc. - helping you take appropriate action.

**Links:** [Page](https://eps.eko.in/products/bank-verification-api) · [Markdown](https://eps.eko.in/products/bank-verification-api.md) · [API docs](https://eps.eko.in/docs/bank-account-verification)

### GST Verification

The GST Verification API enables businesses to validate GSTIN details instantly. It is designed for compliance-driven onboarding, vendor verification, and business identity checks where accuracy and traceability are critical.

**Pricing:**
| Variant | Rate | Billing unit |
| --- | --- | --- |
| GST Verification (Basic) | ₹0.72 | per verification |
| Fetch GST with PAN | ₹2.04 | per verification |
| Advanced GST | ₹4.20 | per verification |

**Features:**
- **Real-Time GSTIN Validation** — Verify GST registration details instantly with structured responses.
- **Business Identity Confirmation** — Validate legal business information before onboarding or payments.
- **Automation Ready** — Easily integrate into KYB and compliance pipelines.
- **High-Volume Support** — Built to handle large verification volumes reliably.

**Who should use:** Marketplaces and B2B platforms, Fintechs onboarding merchants or vendors, Enterprises with supplier verification needs, Compliance-driven organizations

**Use cases:** Vendor and supplier onboarding, Merchant verification for platforms, Compliance and due diligence checks, B2B onboarding workflows

**What Can You Verify With GST Verification API?**
- **GSTIN** — The GSTIN that was verified, echoed back from the government source.
- **Is GSTIN Valid?** — True if the GSTIN was found and is a valid registered number; false otherwise.
- **GSTIN Status** — Current registration status of the GSTIN (e.g. Active, Cancelled, Suspended).
- **Legal Name Of Business** — Official legal name of the business as registered with GST authorities.
- **Taxpayer Type** — Classification of the taxpayer (e.g. Regular, Composition, Non-resident, Casual Taxable Person).
- **Constitution Of Business** — Legal structure / constitution of the business (e.g. Private Limited Company, Proprietorship, Partnership).
- **Date Of Registration** — Date on which the GSTIN was registered (DD/MM/YYYY format).
- **Last Update Date** — Date of the most recent update to the GST registration record (DD/MM/YYYY format).
- **Cancellation Date** — Date of cancellation of the GST registration, if applicable. Empty string or null for active registrations.
- **Nature Of Business Activities** — Comma-separated list of business activity categories as declared during GST registration (e.g. Wholesale, Supplier of Services, Recipient of Goods or Services).
- **State Jurisdiction** — State GST authority / jurisdiction under which the GSTIN is registered.
- **Principal Place Address** — Principal place of business address as a single formatted string.
- **Principal Place Split Address** — Principal place of business address broken into structured components.
- **PAN Number** — The PAN submitted in the request, echoed back for reference.
- **List of GSTINs** — List of all GSTIN registrations linked to the given PAN. Each element represents one GST registration across a state.
- **GSTIN Status** — Current registration status of this GSTIN (e.g. Active, Inactive, Cancelled).
- **State of Registration** — Indian state or union territory where this GSTIN is registered.

**API endpoints:**
- `POST /tools/kyc/gstin` — GST Verification: inputs: Gstin, Business Name → outputs: GSTIN, Is GSTIN Valid?, GSTIN Status, Legal Name Of Business, Taxpayer Type, Constitution Of Business, Date Of Registration, Last Update Date, Cancellation Date, Nature Of Business Activities, State Jurisdiction, Principal Place Address
- `POST /tools/kyc/gstin-with-pan` — Fetch GSTINs by PAN: inputs: Pan Number → outputs: PAN Number, GSTIN, GSTIN Status, State of Registration

**FAQs:**
- **What details are returned in GST verification?** The API returns GSTIN status, legal business name, trade name, constitution of business, taxpayer type, nature of business activities, registration date, last update date, state jurisdiction, and principal place of address.
- **Is the data real-time?** Yes, GSTIN details are verified in real time against official records.

**Links:** [Page](https://eps.eko.in/products/gst-verification-api) · [Markdown](https://eps.eko.in/products/gst-verification-api.md) · [API docs](https://eps.eko.in/docs/verify-gstin)

### DigiLocker Integration

The DigiLocker API enables businesses to fetch and verify user documents digitally with explicit consent. It eliminates manual document collection, reduces fraud, and accelerates onboarding through trusted digital records.

**Pricing:**
| Variant | Rate | Billing unit |
| --- | --- | --- |
| DigiLocker (Get Document) | ₹2.50 | per document |
| DigiLocker (Verification Status) | ₹2.50 | per check |

**Features:**
- **Consent-Based Document Access** — Fetch documents only after explicit user consent, ensuring transparency and trust.
- **Digital Document Retrieval** — Access verified digital documents without physical copies.
- **Automation Ready** — Integrates seamlessly into digital onboarding and compliance systems.
- **Scalable Architecture** — Designed to handle high-volume document access reliably.

**Who should use:** Banks and NBFCs, Fintech and lending platforms, Enterprises with digital onboarding, Platforms requiring document verification

**Use cases:** Digital KYC and onboarding, Loan and credit processing, Customer identity verification, Compliance and due diligence workflows

**What Can You Verify With DigiLocker Integration API?**
- **DigiLocker URL** — DigiLocker redirect URL. Present this URL to the customer to begin document authorisation.
- **Document Type** — Type of document retrieved (e.g. AADHAAR).
- **Name** — Full name as per the verified document.
- **Date of Birth** — Date of birth from the verified document.
- **Gender** — Gender as per document: M, F, or T.
- **Masked Aadhaar** — Aadhaar number with first 8 digits masked.
- **Address** — Residential address from the verified Aadhaar.
- **House** — House or flat number.
- **Street** — Street or locality name.
- **Village Or City** — Village or city.
- **District** — District.
- **State** — State.
- **Pincode** — 6-digit postal code.
- **Photo** — Base64-encoded photograph from the Aadhaar document.
- **Verification Status** — Overall DigiLocker verification status: SUCCESS or PENDING.
- **User Details** — Identity details of the individual who completed the DigiLocker consent flow.
- **Eaadhaar** — Indicates whether the individual's e-Aadhaar is available in DigiLocker.
- **Document Consent** — Consent status objects per requested document type. Indicates which documents the user approved for sharing.

**API endpoints:**
- `POST /tools/kyc/digilocker` — Create DigiLocker URL: inputs: Document Requested, Redirection URL → outputs: Reference Id, DigiLocker URL
- `POST /tools/kyc/digilocker/document` — Get DigiLocker Document: inputs: Document Type, Verification Id, Reference Id → outputs: Document Type, Name, Date of Birth, Gender, Masked Aadhaar, House, Street, Village Or City, District, State, Pincode, Photo, Verification Status
- `GET /tools/kyc/digilocker/status` — DigiLocker Verification Status: inputs: Reference Id → outputs: Name, Dob, Gender, Eaadhaar, Document Consent

**FAQs:**
- **Does the DigiLocker API use OTP or redirect-based consent?** The DigiLocker API uses a redirect-based consent mechanism. The user may authenticate through DigiLocker using the supported login or OTP process and then approve document sharing. Your application receives the verification result through the configured callback or API response.
- **Is DigiLocker access consent-based?** Yes, documents are fetched only after explicit user consent, ensuring full transparency.
- **What documents can be accessed?** You can access government-issued digital documents like Aadhaar, PAN, driving license, and more through DigiLocker.
- **Does it eliminate physical document collection?** Yes, the API enables fully paperless document verification, eliminating manual collection.

**Links:** [Page](https://eps.eko.in/products/digilocker-api) · [Markdown](https://eps.eko.in/products/digilocker-api.md) · [API docs](https://eps.eko.in/docs/digilocker-create-url)

### UPI ID (VPA) Verification

The UPI ID (VPA) Verification API validates Virtual Payment Addresses and registered phone numbers in real time. It returns the verified payee name, VPA, and registered mobile — helping you confirm the recipient before initiating UPI transfers and reducing wrong-payee payment failures.

**Pricing:**
| Variant | Rate | Billing unit |
| --- | --- | --- |
| UPI ID (VPA) Verification | ₹2.64 | per verification |
| Mobile to VPA | ₹1.44 | per lookup |

**Features:**
- **Verify UPI ID (VPA)** — Validate whether a UPI ID (VPA) is correct and retrieve the registered payee name before initiating a transfer.
- **Verify Registered Phone Number** — Confirm the mobile number registered with the UPI ID (VPA) to strengthen payee verification.
- **Payee Name Confirmation** — Returns the verified recipient name linked to the UPI ID (VPA) — enables name-match checks before payment.
- **Secure & Robust** — Every API call is secured with one-time-use tokens generated using asymmetric cryptography.

**Use cases:** Pre-payment UPI ID (VPA) validation for UPI transfers, Reducing payment failures caused by incorrect UPI IDs, Customer onboarding where UPI ID (VPA) discovery is required, Assisted payments (agent or retailer-led transactions), Payee name confirmation before bulk payment

**What Can You Verify With UPI ID (VPA) Verification API?**
- **VPA (UPI ID)** — The validated UPI Virtual Payment Address (VPA / UPI ID) exactly as registered.
- **Is VPA Valid?** — Whether the VPA is active and valid. true = valid VPA; false = invalid or inactive.
- **Recipient Name** — Verified payee name as returned by the UPI network — use this for name-match checks before payment.
- **Mobile Number** — Registered mobile number linked to the VPA.

**API endpoints:**
- `POST /customer/payment/upi/validate-vpa` — UPI ID (VPA) Verification: inputs: Customer VPA, Recipient Mobile, Name, Latlong → outputs: VPA (UPI ID), Is VPA Valid?, Recipient Name, Mobile Number

**FAQs:**
- **What is a VPA/UPI-ID?** VPA (Virtual Payment Address) is the UPI ID used for sending and receiving payments — for example, rajesh@okicici. This API verifies whether a VPA is valid and returns the registered payee name.
- **Can I verify the registered phone number?** Yes. The API accepts a UPI ID (VPA) and registered mobile number, and returns the verified payee details including recipient name.
- **What details are returned?** The API returns the verified UPI ID (VPA), recipient name, registered mobile number, transaction ID, and verification status.

**Links:** [Page](https://eps.eko.in/products/upi-verification-api) · [Markdown](https://eps.eko.in/products/upi-verification-api.md) · [API docs](https://eps.eko.in/docs/upi-validate-vpa)

### Driving Licence Verification

The Driving License Verification API enables businesses to validate driving license details instantly as part of identity verification and onboarding workflows. It helps confirm user identity, reduce impersonation risk, and meet compliance requirements.

**Pricing:**
₹1.80 per verification.

**Features:**
- **Real-Time DL Validation** — Verify driving license details instantly with structured verification responses.
- **Identity Confirmation** — Use DL data as a trusted identity signal during onboarding.
- **Automation Ready** — Seamlessly integrates into digital KYC and onboarding pipelines.
- **High-Volume Support** — Built to handle large verification volumes reliably.

**Who should use:** Fintech and lending platforms, Mobility and logistics companies, Marketplaces onboarding drivers or agents, Enterprises with identity verification needs

**Use cases:** Customer identity verification, KYC onboarding workflows, Driver or delivery partner onboarding, Compliance and due diligence checks

**What Can You Verify With Driving Licence Verification API?**
- **Driving License Number** — The driving license number that was verified.
- **Date of Birth** — Date of birth of the DL holder as returned by the authority.
- **Status** — Overall status of the driving license (e.g. Active, Suspended, Expired).
- **Name** — Full name of the driving license holder.
- **Father Or Husband Name** — Father's or husband's name as recorded on the DL.
- **Date Of Issue** — Date the driving license was originally issued (YYYY-MM-DD).
- **Address List** — List of addresses associated with the DL holder.
- **Complete Address** — Full address string as recorded on the DL.
- **Cov Details** — Class of Vehicle (COV) entitlement records — each entry lists a vehicle class and associated validity.
- **Cov** — Vehicle class code, e.g. LMV, MCWG, TRANS.
- **Dl Validity** — Validity windows for transport and non-transport license categories.
- **Non Transport** — Validity period for non-transport (personal) vehicle authorisation.
- **From** — Non-transport validity start date (YYYY-MM-DD).
- **To** — Non-transport validity end date (YYYY-MM-DD).
- **Transport** — Validity period for transport (commercial) vehicle authorisation.
- **Badge Details** — Badge/transport endorsement records, each describing a permitted vehicle class group.
- **Badge No** — Badge number assigned by the transport authority.
- **Class Of Vehicle** — List of vehicle classes covered under this badge (e.g. LMV, MCWG, TRANS).

**API endpoints:**
- `POST /tools/kyc/driving-license` — Driving License Verification: inputs: Dl Number, Dob → outputs: Driving License Number, Date of Birth, Status, Name, Father Or Husband Name, Date Of Issue, Status, Complete Address, Cov, From, To, From, To, Badge No, Class Of Vehicle

**FAQs:**
- **DL Verification vs RC Verification?** Driving License Verification validates the person’s license details, such as holder name, DOB, validity, address, and vehicle class eligibility. Vehicle RC Verification validates vehicle registration details, ownership, insurance, and registration status. For complete driver and vehicle onboarding, combine DL Verification with RC Verification.
- **How fast is DL verification?** Verification is real-time with instant structured responses for driving license details.
- **Can I use it for driver onboarding?** Yes, it's ideal for onboarding drivers, delivery partners, and agents requiring identity confirmation.

**Links:** [Page](https://eps.eko.in/products/dl-verification-api) · [Markdown](https://eps.eko.in/products/dl-verification-api.md) · [API docs](https://eps.eko.in/docs/driving-license)

### Vehicle & RC Verification

The Vehicle & RC Verification API enables businesses to fetch comprehensive vehicle information using a registration number. It returns RC status, owner details, chassis and engine numbers, manufacturer and model, insurance validity, permit details, blacklist and challan status, and more — all in a single API call. Designed for platforms that onboard drivers or vehicles, verify fleet compliance, underwrite motor insurance, or assess vehicle-related risk.

**Pricing:**
₹3.00 per verification.

**Features:**
- **RC & Vehicle Details** — Get registration status, make/model, chassis, engine, color, body type, fuel type, and manufacturing year.
- **Owner & Address** — Retrieve owner name, father's name, present and permanent address with structured components.
- **Insurance Status** — Check insurance company, policy number, and validity — critical for fleet compliance and motor insurance.
- **Blacklist & Challan Check** — Identify blacklisted vehicles and pending traffic challans for risk assessment.
- **Permit Details** — Verify commercial vehicle permits and tax validity.
- **Financier Information** — Know if the vehicle is under finance and the lending institution — essential for used car and loan platforms.

**Who should use:** Mobility and ride-hailing platforms, Logistics and delivery companies, Fleet operators, Motor insurance companies, Vehicle finance and lending platforms, Used car marketplaces

**Use cases:** Driver and vehicle onboarding, Fleet compliance monitoring, Motor insurance underwriting, Vehicle finance and loan verification, Used car marketplace verification, Logistics and delivery platforms, Parking and toll management

**What Can You Verify With Vehicle & RC Verification API?**
- **Status** — Verification status string (e.g. 'Active', 'Inactive').
- **Vehicle Registration Number** — Vehicle registration number as recorded in the VAHAN database.
- **RC Status** — Current RC status — 'Active', 'Inactive', 'Suspended', etc.
- **Owner** — Full name of the registered owner of the vehicle.
- **Father's Name of Owner** — Father's name of the registered owner.
- **Present Address** — Present address of the owner as a single string.
- **Split Present Address** — Present address broken into structured components.
- **Permanent Address** — Permanent address of the owner as a single string.
- **Split Permanent Address** — Permanent address broken into structured components.
- **Registration Authority (RTO)** — Regional Transport Office (RTO) that issued the RC.
- **Date of Registration** — Date of first registration of the vehicle (YYYY-MM-DD).
- **RC Expiry Date** — RC validity expiry date (YYYY-MM-DD). Private vehicles are typically 15 years from registration.
- **Class** — Vehicle class as registered with the RTO (e.g. 'Motor Car', 'LMV', 'HTV').
- **Type** — Ownership type — 'Private' or 'Commercial'.
- **Is Commercial Vehicle?** — True if the vehicle is registered for commercial use.
- **Vehicle Manufacturer Name** — Manufacturer / make of the vehicle.
- **Model** — Vehicle model name.
- **Fuel Type** — Fuel type — 'Petrol', 'Diesel', 'CNG', 'Electric', etc.
- **Norms Type** — Emission standard the vehicle complies with (e.g. 'Bharat Stage VI').
- **Chassis** — Chassis number of the vehicle as per RC.
- **Engine** — Engine number of the vehicle as per RC.
- **Vehicle Insurance Company Name** — Name of the insurance company that issued the current motor policy.
- **Vehicle Insurance Policy Number** — Insurance policy number.
- **Vehicle Insurance Upto** — Insurance validity date (YYYY-MM-DD). Check against today to flag lapsed policies.
- **RC Financier** — Name of the financier / lending institution if the vehicle is under a loan.
- **Blacklist Status** — Whether the vehicle appears on a blacklist — 'Not Blacklisted' or 'Blacklisted'.
- **Reason** — Reason for blacklisting.
- **Permit Type** — Type of permit — e.g. 'Tourist', 'Contract Carriage', 'Goods'.
- **Permit Valid Upto** — Permit validity end date.
- **National Permit Upto** — National permit validity date.

**API endpoints:**
- `POST /tools/kyc/vehicle-rc` — Vehicle & RC Verification: inputs: Vehicle Number → outputs: Status, Vehicle Registration Number, RC Status, Owner, Father's Name of Owner, Present Address, Permanent Address, Registration Authority (RTO), Date of Registration, RC Expiry Date, Class, Type, Is Commercial Vehicle?, Vehicle Manufacturer Name, Model, Fuel Type, Norms Type, Chassis, Engine, Vehicle Insurance Company Name, Vehicle Insurance Policy Number, Vehicle Insurance Upto, RC Financier, Blacklist Status, Reason, Permit Type, Permit Valid Upto, National Permit Upto

**FAQs:**
- **What details are returned?** Owner name, RC status, vehicle class, fuel type, manufacturer, model, body type, color, chassis and engine number, registration and expiry dates, insurance company and validity, blacklist status, emission norms, and financier details.
- **Is pan-India coverage available?** Yes, we cover all states and union territories through integration with the VAHAN national database.
- **Can I verify commercial vehicles?** Yes, commercial vehicles return additional details like permit type, permit validity, national permit, and tax status.
- **How accurate is the verification?** All verifications are done against official RTO databases (VAHAN). Updates to vehicle information reflect in the source within 15–30 days.
- **Is real-time verification available?** Yes, all verifications are performed in real-time with sub-second response times for most queries.
- **Can I check if a vehicle is blacklisted?** Yes, the API returns blacklist status along with detailed reasons if the vehicle has been blacklisted.
- **Are all returned fields available for every vehicle?** No. Field availability may vary by vehicle type, RTO/source record, partner configuration, and data availability. The API response should be handled programmatically for missing or unavailable fields.

**Links:** [Page](https://eps.eko.in/products/vehicle-rc-verification-api) · [Markdown](https://eps.eko.in/products/vehicle-rc-verification-api.md) · [API docs](https://eps.eko.in/docs/vehicle-rc)

### Employee Verification

The Employee Verification API enables organizations to verify employee identity and related details digitally during hiring and onboarding. It is designed to reduce hiring risk, improve compliance, and streamline workforce verification workflows.

**Pricing:**
| Variant | Rate | Billing unit |
| --- | --- | --- |
| EPFO Passbook | ₹7.20 | per fetch |
| Employee Detail | ₹6.00 | per verification |

**Features:**
- **Employee Identity Verification** — Verify employee identity details digitally as part of onboarding.
- **Hiring Risk Reduction** — Detect inconsistencies early to reduce impersonation and compliance risk.
- **Automation Friendly** — Integrates seamlessly into HRMS, ATS, and onboarding platforms.
- **High-Volume Support** — Designed to support large-scale hiring and verification needs.

**Who should use:** Enterprises and large employers, HR tech platforms, Gig economy and staffing companies, Organizations with compliance-driven hiring

**Use cases:** Pre-employment verification, Contractor and gig worker onboarding, Workforce compliance checks, Enterprise HR verification workflows

**What Can You Verify With Employee Verification API?**
- **UAN Records** — List of UAN records associated with the employee's phone number. One entry per UAN.
- **Universal Account Number (UAN)** — Universal Account Number assigned to the employee by EPFO.
- **Basic Details** — Core identity details of the employee linked to this UAN.
- **Employee Name** — Full name of the employee as registered with EPFO.
- **Gender** — Gender of the employee.
- **Employee's DOB** — Date of birth of the employee in YYYY-MM-DD format.
- **Is Aadhaar Verified?** — Whether the employee's Aadhaar is linked and verified against this UAN.
- **Employment Details** — Employment record associated with this UAN entry.
- **Member Id** — PF Member ID for this employment record (state/region/establishment/account format).
- **Establishment Id** — EPFO establishment ID of the employer.
- **Establishment Name** — Name of the employer/establishment as registered with EPFO.
- **Joining Date** — Date the employee joined this establishment (YYYY-MM-DD).
- **Exit Date** — Date the employee exited this establishment (YYYY-MM-DD). Null if currently employed.
- **Leave Reason** — Reason for exit as recorded in EPFO (e.g., Resignation, Superannuation).
- **PAN Number** — PAN number linked to the employee.
- **Recent Employment Details** — Structured summary of the most recent employment, including EPFO health indicators and employer PF filing history.
- **Employee Details** — Latest employment record for the employee with EPFO flags.
- **Is Currently Employed?** — Whether the employee is currently active in this establishment per EPFO records.
- **Exit Date Marked** — Whether the employer has formally marked an exit date in EPFO.
- **Employee Name Match** — Whether the name in EPFO matches the name provided or derived from the phone lookup.
- **Epfo** — EPFO-level flags indicating data quality and filing health.
- **Recent** — Whether EPFO data for this employee was recently updated.
- **Name Unique** — Whether the employee's name appears uniquely in EPFO (no duplicates).
- **Pf Filings Details** — Whether PF filing details are available for this employee.
- **Employer Details** — Details of the most recent employer including setup date, ownership type, and monthly PF contribution history.
- **Setup Date** — Date the employer establishment was set up/registered with EPFO.
- **Ownership Type** — Ownership type of the establishment (e.g., Private, Government, Public Sector).
- **Employer Name Match** — Whether the resolved employer name matches the expected employer name.
- **PF Filing History** — Monthly PF contribution records filed by the employer. Each entry represents one wage month.
- **Wage Month** — The wage month for this PF filing entry (YYYY-MM format).
- **Total Amount** — Total PF amount contributed by the employer for this wage month.
- **Employees Count** — Number of employees covered under this PF filing for the wage month.

**API endpoints:**
- `POST /tools/kyc/advance-employment` — Employee Verification (Advance): inputs: Phone → outputs: Universal Account Number (UAN), Employee Name, Gender, Employee's DOB, Is Aadhaar Verified?, Member Id, Establishment Id, Establishment Name, Joining Date, Exit Date, Leave Reason, PAN Number, Universal Account Number (UAN), Member Id, Joining Date, Exit Date, Is Currently Employed?, Exit Date Marked, Employee Name Match, Recent, Name Unique, Pf Filings Details, Establishment Id, Establishment Name, Setup Date, Ownership Type, Employer Name Match, Wage Month, Total Amount, Employees Count

**FAQs:**
- **What can be verified?** Employee identity details including name, ID documents, and related information can be verified digitally.
- **Does it integrate with HRMS?** Yes, the API integrates seamlessly into HRMS, ATS, and onboarding platforms.

**Links:** [Page](https://eps.eko.in/products/employee-verification-api) · [Markdown](https://eps.eko.in/products/employee-verification-api.md) · [API docs](https://eps.eko.in/docs/advance-employment)

### Reverse Geocoding

The Reverse Geocoding API enables businesses to translate latitude and longitude coordinates into structured address information. It is designed for address validation, geo-compliance checks, and location-based risk assessment.

**Pricing:**
₹3.60 per lookup.

**Features:**
- **Coordinate to Address Resolution** — Convert latitude and longitude into structured, readable address data.
- **Location Accuracy** — Helps validate whether users or devices are operating from expected locations.
- **Automation Friendly** — Integrates easily into onboarding, verification, and monitoring systems.
- **High-Volume Ready** — Designed to handle frequent and large-scale geolocation queries.

**Who should use:** Fintechs and regulated platforms, Enterprises verifying customer locations, Field service and agent-based operations, Platforms performing geo-risk analysis

**Use cases:** Address verification during onboarding, Geo-compliance and location validation, Fraud detection and risk assessment, Field agent or device location checks

**What Can You Verify With Reverse Geocoding API?**
- **Address** — Full formatted street address resolved from the coordinates.
- **City** — City name derived from the coordinates.
- **State** — Full state name derived from the coordinates.
- **Statecode** — Two-letter ISO / RTO state code.
- **Countrycode** — Two-letter ISO 3166-1 alpha-2 country code.
- **Pincode** — Indian 6-digit PIN code for the resolved location.

**API endpoints:**
- `POST /tools/kyc/reverse-geocoding` — Reverse Geocoding: inputs: Latitude, Longitude → outputs: Address, City, State, Statecode, Countrycode, Pincode

**FAQs:**
- **How accurate is the address returned?** Accuracy depends on GPS precision. With standard coordinates, we return correct locality, city, and pincode.
- **What address components are returned?** We return formatted address, area/locality, city, district, state, pincode, and country.
- **Can I use this for fraud detection?** Yes, you can cross-check customer-provided addresses against GPS-derived addresses for fraud prevention.

**Links:** [Page](https://eps.eko.in/products/reverse-geocoding-api) · [Markdown](https://eps.eko.in/products/reverse-geocoding-api.md) · [API docs](https://eps.eko.in/docs/reverse-geocoding)

### Voter ID Verification

The Voter ID Verification API enables businesses to validate Electoral Photo Identity Card (EPIC) details against government records. Use it for identity verification, address confirmation, and compliance workflows.

**Pricing:**
₹1.80 per verification.

**Features:**
- **Real-Time EPIC Validation** — Verify voter ID details instantly with structured responses including name, age, and address.
- **Address Confirmation** — Fetch full address with district, state, city, and pincode from voter records.
- **Constituency Details** — Returns assembly and parliamentary constituency information for geo-compliance.
- **Regional Language Support** — Retrieves voter name in regional language alongside English for cross-verification.

**Who should use:** Fintech and financial institutions, Staffing and HR platforms, Government and public sector applications, Enterprises with KYC requirements

**Use cases:** Customer identity verification, Address verification for onboarding, Employee background checks, Government scheme eligibility validation

**What Can You Verify With Voter ID Verification API?**
- **Cardholder's Name** — Cardholder's full name as recorded on the voter ID.
- **Name in Regional Language** — Cardholder's name in the regional/vernacular script.
- **Age** — Age of the cardholder as per voter roll records.
- **Date of Birth** — Date of birth in YYYY-MM-DD format.
- **Gender** — Gender of the cardholder.
- **Father's Name** — Father's name as on the voter record.
- **EPIC Number** — The EPIC number that was verified.
- **Address** — Full address string as recorded in the electoral roll.
- **State** — State name corresponding to the voter's registered address.
- **Assembly Constituency** — Name of the assembly constituency (Vidhan Sabha) for the voter.
- **Assembly Constituency Number** — Numerical code of the assembly constituency.
- **Parliamentary Constituency** — Name of the parliamentary constituency (Lok Sabha) for the voter.
- **Parliamentary Constituency Number** — Numerical code of the parliamentary constituency.
- **Polling Station** — Name and/or location of the designated polling station.

**API endpoints:**
- `POST /tools/kyc/voter-id` — Voter ID Verification: inputs: Epic Number → outputs: Cardholder's Name, Name in Regional Language, Age, Date of Birth, Gender, Father's Name, EPIC Number, Address, State, Assembly Constituency, Assembly Constituency Number, Parliamentary Constituency, Parliamentary Constituency Number, Polling Station

**FAQs:**
- **What details are returned?** The API returns voter name (English and regional), age, date of birth, gender, full address, assembly and parliamentary constituency, father/guardian name, and polling station details.
- **How fast is Voter ID verification?** Verification is real-time with sub-second response times for instant identity validation.
- **Can I use this for address verification?** Yes. The API returns structured address data including district, city, state, and pincode — useful for address verification workflows.
- **Are all fields available for every Voter ID?** No. Field availability may vary by record, geography, source availability, and partner configuration. Your integration should handle unavailable or missing fields programmatically.

**Links:** [Page](https://eps.eko.in/products/voter-id-verification-api) · [Markdown](https://eps.eko.in/products/voter-id-verification-api.md) · [API docs](https://eps.eko.in/docs/voter-id)

### Passport Application Validation

The Passport Application Validation API enables businesses to validate passport holder details using passport file number and date of birth.

**Pricing:**
₹1.80 per verification.

**Features:**
- **Real-Time Passport Validation** — Verify Indian passport file number and holder details with instant structured responses.
- **Identity Confirmation** — Cross-check holder name and date of birth against passport records.
- **Application Status** — Returns application type and received date for processing verification.
- **Automation Friendly** — Easily integrate into digital onboarding, KYC, and compliance pipelines.

**Who should use:** Travel and hospitality platforms, Staffing and HR platforms, Financial institutions, Government and immigration services

**Use cases:** Employee background verification, Travel compliance checks, Visa and immigration assistance, Fintech and NBFC KYC, Education / overseas placement

**What Can You Verify With Passport Application Validation API?**
- **File Number** — Unique alphanumeric code identifying the passport application, echoed back from the source.
- **Name** — Full name of the passport holder as recorded in the government source.
- **Date of Birth** — Date of birth of the passport holder (YYYY-MM-DD) as registered in the passport application.
- **Application Type** — Type of passport application (e.g. Normal, Tatkal). Indicates the application category used when the passport was applied for.
- **Application Received Date** — Date on which the passport application was received by the issuing authority (YYYY-MM-DD format).

**API endpoints:**
- `POST /tools/kyc/passport` — Passport Application Validation: inputs: File Number, Dob, Name → outputs: File Number, Name, Date of Birth, Application Type, Application Received Date

**FAQs:**
- **Is this passport number verification or file number verification?** This API verifies Indian passport details using passport file number and date of birth. It is not a passport-number-only verification flow.
- **What inputs are required?** The required inputs are passport file number and date of birth. A unique verification ID is also used for request tracking. Name may be used depending on the verification flow.
- **Does this API support foreign passports?** No. This API supports Indian passport verification only.
- **What details are returned?** The API can return verification status, passport file number, holder name, date of birth, application type, and the application received date.
- **Does it return passport issue date or expiry date?** No, not as part of the standard source response shown in the current API documentation. Do not rely on issue date or expiry date unless separately enabled in your Eko API response.
- **Does it verify scanned passport images?** No. This is not an OCR or MRZ scan-verification API. It verifies passport details using structured input fields.
- **What happens if the details are invalid?** The API returns an invalid status. Your workflow should ask the user to verify the file number, date of birth, and name before retrying.
- **How fast is passport verification?** Verification is real-time with sub-second response times.

**Links:** [Page](https://eps.eko.in/products/passport-application-validation-api) · [Markdown](https://eps.eko.in/products/passport-application-validation-api.md) · [API docs](https://eps.eko.in/docs/passport-application)

### CIN Verification

The CIN Verification API enables businesses to validate Company Identification Numbers against MCA records. Use it for KYB workflows, corporate due diligence, vendor verification, and compliance checks.

**Pricing:**
₹1.80 per verification.

**Features:**
- **Real-Time CIN Validation** — Verify CIN details instantly with structured responses including company name and status.
- **Director Information** — Fetch director details including name, DIN, designation, and date of birth.
- **Incorporation Details** — Returns registration number, incorporation date, and country of incorporation.
- **Status Verification** — Confirms whether the company is active, struck-off, dormant, or under liquidation.

**Who should use:** Lending and financial institutions, Marketplace and e-commerce platforms, Accounting and compliance firms, Enterprises performing vendor due diligence

**Use cases:** Merchant and vendor KYB, Corporate due diligence, Lending to corporate borrowers, Supply chain partner verification

**What Can You Verify With CIN Verification API?**
- **Company Identification Number (CIN)** — The CIN submitted in the request, echoed back for confirmation.
- **Company Name** — MCA-registered legal name of the company.
- **Registration Number** — Numeric company registration number assigned by the Registrar of Companies.
- **Incorporation Date** — Date the company was incorporated, in YYYY-MM-DD format.
- **CIN Status** — Current status of the CIN as recorded by MCA — e.g. Active, Strike-Off, Dormant, Under Liquidation.
- **Incorporation Country** — Country in which the company was incorporated.
- **Director Details** — List of directors of the company as registered with MCA.
- **Name** — Full legal name of the director.
- **Din** — Director Identification Number (DIN) allotted by MCA.
- **Designation** — Role/designation of the director at the company.

**API endpoints:**
- `POST /tools/kyc/cin` — CIN Verification: inputs: Cin → outputs: Company Identification Number (CIN), Company Name, Registration Number, Incorporation Date, CIN Status, Incorporation Country, Name, Din, Designation

**FAQs:**
- **Can I verify LLPs with this API?** CIN is specific to companies registered under the Companies Act. LLPs use LLPIN — contact us for LLP verification availability.
- **What details are returned?** The API returns company name, CIN, registration number, incorporation date, CIN status, email, incorporation country, and an array of director details (name, DIN, designation, and date of birth).
- **How fast is CIN verification?** Verification is real-time with sub-second response times.
- **Is director information included?** Yes. The API returns director details including name, DIN, designation, and date of birth for all directors listed in MCA records.
- **Are all fields available for every CIN?** No. Field availability may vary by MCA record, company type, data availability, and partner configuration. Your integration should handle unavailable or missing fields programmatically.

**Links:** [Page](https://eps.eko.in/products/cin-verification-api) · [Markdown](https://eps.eko.in/products/cin-verification-api.md) · [API docs](https://eps.eko.in/docs/cin)

### IP Verification

The IP Verification API enables businesses to geo-locate IP addresses, detect proxies and VPNs, and assess risk scores. Use it for fraud prevention, geo-compliance, and user location verification.

**Pricing:**
₹2.50 per lookup.

**Features:**
- **IP Geolocation** — Resolve IP addresses to country, region, and city for location-based decisions.
- **Proxy & VPN Detection** — Identify proxy type and category to flag suspicious connection sources.
- **Risk Scoring** — Get city-level and proxy-type risk scores for fraud assessment.
- **Real-Time Processing** — Instant IP intelligence for inline fraud checks during transactions.

**Who should use:** Fintech and digital lending platforms, E-commerce and marketplace platforms, SaaS and subscription platforms, Insurance and compliance platforms

**Use cases:** Transaction fraud detection, Geo-compliance enforcement, User location verification during KYC, Bot and scraping detection

**What Can You Verify With IP Verification API?**
- **Proxy Type** — Classification of the connection type (e.g. None, VPN, DCH for data-centre hosting, RES for residential proxy, etc.).
- **Country Code** — ISO 3166-1 alpha-2 country code for the IP address.
- **Country Name** — Full country name corresponding to the country code.
- **Region Name** — State or region within the country where the IP is geolocated.
- **City Name** — City within the region where the IP is geolocated.
- **City Risk Score** — Risk score (0–100) for the geolocated city, based on cybersecurity threat intelligence and historical crime/fraud data for that city. Higher scores indicate greater risk.
- **Proxy Type Risk Score** — Risk score (0–100) for the detected proxy type. A score of 0 means a clean residential or direct connection; higher scores indicate proxy/VPN or data-centre traffic associated with fraud.

**API endpoints:**
- `POST /tools/kyc/ip` — IP Verification: inputs: Ip Address → outputs: Proxy Type, Country Code, Country Name, Region Name, City Name, City Risk Score, Proxy Type Risk Score

**FAQs:**
- **What details are returned?** The API returns IP address, proxy type, country code and name, region, city, city risk score, and proxy-type risk score.
- **Can it detect VPNs?** Yes. The API identifies proxy type including VPN, residential proxy, data center proxy, and other classifications.
- **How is the risk score calculated?** Risk scores are based on factors like cybersecurity threats, proxy type classification, and historical threat intelligence for the city and connection type.
- **Is this suitable for real-time fraud checks?** Yes. The API is designed for inline transaction-level fraud checks with sub-second response times.

**Links:** [Page](https://eps.eko.in/products/ip-verification-api) · [Markdown](https://eps.eko.in/products/ip-verification-api.md) · [API docs](https://eps.eko.in/docs/ip)

### Name Match

Name Match is an AI-powered name comparison API built for India's complex naming conventions. Trained on over 100 million Indian name records, it handles initials, abbreviations, phonetic and regional spelling variants, salutation patterns, and subset matching — returning a match score (0 to 1) and match category for automated decision-making.

**Pricing:**
₹0.60 per match.

**Features:**
- **Indian Name Intelligence** — Handles initials, middle names, abbreviations, and subset matching (e.g. Harsh Kishore → HKishore) with high accuracy.
- **Phonetic & Regional Variants** — Understands phonetic similarities and regional spelling variations across Indian languages and naming conventions.
- **Context-Aware Matching** — Considers name sequence, gender, regional norms, and salutation patterns (e.g. S/O, D/O) for accurate results.
- **Score + Category Response** — Returns a 0–1 score with match categories: Direct Match (1.0), Good Partial (0.85–0.99), Moderate Partial (0.60–0.84), Poor Partial (0.34–0.59), No Match (0–0.33).

**Who should use:** Lending and financial institutions, Accounting and tax platforms, Marketplace and e-commerce platforms, Enterprises performing KYC/KYB

**Use cases:** Cross-document KYC name validation, ITC fraud detection via GST-PAN-bank name checks, Lending name match for fraud prevention, Merchant onboarding name consistency checks, Payment reconciliation, Risk and fraud prevention

**What Can You Verify With Name Match API?**
- **Score** — Numeric match score between 0 and 1. Thresholds: 1.0 = Direct Match; 0.85–0.99 = Good Partial Match; 0.60–0.84 = Moderate Partial Match; 0.34–0.59 = Poor Partial Match; 0.00–0.33 = No Match.
- **Reason** — Human-readable explanation of the match result — effectively the match category label along with the AI model's rationale (e.g. initials expansion, phonetic match, subset match).

**API endpoints:**
- `POST /tools/kyc/name-match` — Name Match API: inputs: Name 1, Name 2 → outputs: Score, Reason

**FAQs:**
- **How does the matching work?** Name Match uses AI trained on 100M+ Indian name records. It handles initials, phonetic variants, regional spellings, salutation patterns (S/O, D/O), subset matching, and name ordering variations.
- **What is the score range?** The API returns a score from 0 to 1: Direct Match (1.0), Good Partial Match (0.85–0.99), Moderate Partial Match (0.60–0.84), Poor Partial Match (0.34–0.59), No Match (0–0.33). Set your own threshold based on risk tolerance.
- **What examples of Indian name variations does it handle?** Initials (S K Mishra → Satish Kumar Mishra), subsets (Harsh Kishore → HKishore), salutations (Aditya Roy S/O Jatin), missing middle names, extra spaces, and phonetic/regional spelling variants.
- **Can I use this for GST ITC fraud detection?** Yes. Cross-validating supplier PAN name, GST trade name, and bank account holder name catches fake invoice fraud that manual review misses.

**Links:** [Page](https://eps.eko.in/products/name-match-api) · [Markdown](https://eps.eko.in/products/name-match-api.md) · [API docs](https://eps.eko.in/docs/name-match)

### ITR Compliance Check

The ITR Compliance Check API enables businesses to verify income tax return filing status using a PAN number. Use it for credit assessment, lending due diligence, and compliance verification.

**Pricing:**
₹2.04 per verification.

**Features:**
- **ITR Filing Status** — Check whether a PAN holder has filed income tax returns and their compliance standing.
- **PAN-Based Lookup** — Simple PAN number input — no additional documents or consent flows required.
- **Credit Assessment Signal** — Use ITR filing patterns as a proxy for income verification and creditworthiness.
- **Automation Friendly** — Integrate into lending pipelines, onboarding flows, and compliance checks seamlessly.

**Who should use:** Lending and NBFC platforms, Accounting and tax firms, Real estate and property platforms, Enterprises performing financial due diligence

**Use cases:** Borrower credit assessment, MSME income verification, Vendor and supplier due diligence, Tax compliance verification for onboarding

**What Can You Verify With ITR Compliance Check API?**
- **PAN Number** — The PAN number that was queried, echoed back from the source for confirmation.
- **ITR Filed Flag** — Indicates whether the PAN holder has filed an income tax return for the queried assessment year. true = filed; false = not filed.
- **Assessment Year** — The income-tax assessment year for which the ITR status is reported (e.g. '2024-25' corresponds to FY 2023-24).
- **Compliance Status** — Overall tax compliance standing of the PAN holder as returned by the authority (e.g. Compliant, Non-Compliant, Pending).
- **Filing Status** — Granular ITR filing status string as returned by the source — may carry values such as 'Filed', 'Not Filed', 'Under Processing', or 'Defective'.

**API endpoints:**
- `POST /tools/kyc/itr-compliance` — ITR Compliance Check: inputs: Pan Number → outputs: PAN Number, ITR Filed Flag, Assessment Year, Compliance Status, Filing Status

**FAQs:**
- **What input is required?** Only the PAN number is required to check ITR compliance status.
- **What details are returned?** The API returns ITR filing status, assessment year, and compliance status for the given PAN number.
- **Can I use this for lending decisions?** Yes. ITR compliance status is a strong signal for borrower creditworthiness, especially for MSMEs without traditional credit bureau scores.
- **How fast is the check?** The API returns results in real time with sub-second response times.

**Links:** [Page](https://eps.eko.in/products/itr-compliance-api) · [Markdown](https://eps.eko.in/products/itr-compliance-api.md) · [API docs](https://eps.eko.in/docs/itr-compliance)

### DIN Verification

The DIN Verification API enables businesses to validate Director Identification Numbers against Ministry of Corporate Affairs records. Use it for corporate due diligence, KYB workflows, and director background checks.

**Pricing:**
₹2.04 per verification.

**Features:**
- **Real-Time DIN Validation** — Verify DIN details instantly against Ministry of Corporate Affairs records.
- **Director Identity** — Confirm director name, designation, and DIN status for due diligence.
- **Corporate Linkage** — Identify companies associated with a director for cross-referencing.
- **Automation Friendly** — Integrate into KYB pipelines, compliance checks, and onboarding workflows.

**Who should use:** Lending and financial institutions, Accounting and compliance firms, Marketplace and e-commerce platforms, Enterprises performing corporate due diligence

**Use cases:** Director background verification, Corporate KYB workflows, Lending to corporate borrowers, Vendor and supplier due diligence

**What Can You Verify With DIN Verification API?**
- **Director Identification Number (DIN)** — The DIN submitted in the request, echoed back for confirmation.
- **Director's Name** — Full legal name of the director as registered with MCA.
- **DIN Status** — Current status of the DIN as recorded by MCA — e.g. Active, Deactivated, Surrendered, Disqualified.
- **Designation** — Role or designation of the director as filed with MCA.
- **Company Name** — Name of the company with which the director is associated, as recorded in MCA records.

**API endpoints:**
- `POST /tools/kyc/din-verification` — DIN Verification: inputs: Din Number → outputs: Director Identification Number (DIN), Director's Name, DIN Status, Designation, Company Name

**FAQs:**
- **What input is required?** Only the Director Identification Number (DIN) is required.
- **What details are returned?** The API returns director name, DIN status, designation, and associated company information from MCA records.
- **How is DIN different from CIN?** DIN identifies individual directors, while CIN identifies companies. Use DIN Verification for director-level checks and CIN Verification for company-level checks.
- **Can I verify multiple directors at once?** Each API call verifies one DIN. For bulk verification, you can make parallel API calls.

**Links:** [Page](https://eps.eko.in/products/din-verification-api) · [Markdown](https://eps.eko.in/products/din-verification-api.md) · [API docs](https://eps.eko.in/docs/din-verification)

### E-Challan Verification

The E-Challan Verification API enables businesses to check pending traffic challans for a vehicle using its registration number. Use it for fleet compliance, insurance underwriting, and gig worker onboarding.

**Pricing:**
₹2.04 per check.

**Features:**
- **Challan Lookup** — Fetch pending traffic challans for any vehicle using its registration number.
- **Fleet Compliance** — Monitor challan status across entire vehicle fleets for regulatory compliance.
- **Risk Assessment** — Identify traffic violation patterns for insurance underwriting and driver scoring.
- **Real-Time Processing** — Instant challan status checks for onboarding and compliance workflows.

**Who should use:** Fleet operators and logistics companies, Insurance companies, Gig and delivery platforms, Automotive and vehicle marketplace platforms

**Use cases:** Fleet compliance monitoring, Insurance risk assessment, Delivery rider onboarding checks, Used vehicle pre-purchase checks

**What Can You Verify With E-Challan Verification API?**
- **Vehicle Number** — Registration number of the vehicle as echoed back from the source system.
- **Pending Challans** — Total count of pending (unpaid) challans found for the vehicle.
- **Total Fine Amount** — Aggregate fine amount in INR across all pending challans.
- **Challan Records** — List of individual challan records. Each element represents one traffic violation.
- **Challan Number** — Unique challan reference number issued by the traffic authority.
- **Violation** — Description of the traffic offence (e.g. 'Overspeeding', 'Red Light Jump', 'No Helmet').
- **Date** — Date on which the violation was recorded (YYYY-MM-DD).
- **Fine** — Fine amount in INR for this individual challan.
- **Status** — Payment status of the challan — typically 'Pending' or 'Paid'.

**API endpoints:**
- `POST /tools/kyc/e-challan` — E-Challan Verification: inputs: Registration Number → outputs: Vehicle Number, Pending Challans, Total Fine Amount, Challan Number, Violation, Date, Fine, Status

**FAQs:**
- **What input is required?** Only the vehicle registration number is required to check pending challans.
- **Does it cover all states?** The API covers challans issued via the national e-challan system. Coverage may vary by state adoption.
- **Can I monitor my entire fleet?** Yes. You can run batch checks across all vehicle registration numbers in your fleet on a daily or weekly schedule.
- **Is this useful for insurance?** Yes. Challan history indicates driving behavior risk — insurers use this data for underwriting and premium calculation.

**Links:** [Page](https://eps.eko.in/products/e-challan-verification-api) · [Markdown](https://eps.eko.in/products/e-challan-verification-api.md) · [API docs](https://eps.eko.in/docs/e-challan)

### Email Verification

The Email Verification API helps businesses catch invalid, dummy, and mistyped email addresses before they enter your system. It checks whether the email domain is real and can receive messages, and returns domain age to help assess trust — a newly created domain with no mail infrastructure is a strong fraud signal.

**Pricing:**
₹8.40 per check.

**Features:**
- **Invalid Email Detection** — Catch dummy, mistyped, and non-existent email addresses by verifying the domain has real mail infrastructure.
- **Domain Trust Scoring** — Returns domain age in days — newly created domains are a strong indicator of fraudulent or disposable email addresses.
- **Mail Server Validation** — Checks MX (mail exchange) records to confirm the domain can actually receive emails — not just that the format is valid.
- **Real-Time Processing** — Instant email validation for inline onboarding and registration flows.

**Who should use:** E-commerce and marketplace platforms, SaaS and subscription platforms, Staffing and HR platforms, Financial institutions

**Use cases:** Block dummy emails during user onboarding, Catch typos in email addresses at signup, Detect fraudulent signups with new/suspicious domains, Contact database cleaning, Employee contact verification

**What Can You Verify With Email Verification API?**
- **Domain** — Domain portion of the email address (part after @). Used to anchor all domain-level checks.
- **Is Email Valid?** — Whether the email address is valid and deliverable. true = domain has live MX records and can receive mail; false = domain has no mail server or is otherwise undeliverable.
- **Is Disposable Email?** — Whether the email domain belongs to a known disposable / temporary email provider. true = disposable (high fraud risk); false = regular email domain.
- **Domain Age (Days)** — Age of the email domain in days since registration. Newly created domains (< 30 days) are a strong fraud signal; legitimate email providers have domains that are years old.
- **MX Records** — List of MX (mail exchange) hostnames discovered for the domain, ordered by priority. An empty array means the domain cannot receive email.

**API endpoints:**
- `POST /tools/kyc/check-email` — Email Verification: inputs: Email → outputs: Domain, Is Email Valid?, Is Disposable Email?, Domain Age (Days), MX Records

**FAQs:**
- **What input is required?** Only the email address is required for verification.
- **How does it catch dummy emails?** The API checks if the email domain has valid mail exchange (MX) records — domains without mail servers can't receive emails, indicating a fake or dummy address.
- **What is the domain age check?** The API returns domain age in days. Newly created domains (days or weeks old) are a strong fraud signal — legitimate businesses and email providers have domains that are years old.
- **Can I use this for bulk email list cleaning?** Yes. You can validate email lists by making parallel API calls to clean your contact database and remove invalid entries.

**Links:** [Page](https://eps.eko.in/products/email-verification-api) · [Markdown](https://eps.eko.in/products/email-verification-api.md) · [API docs](https://eps.eko.in/docs/check-email)

### FSSAI License Verification

The FSSAI License Verification API enables businesses to validate Food Safety and Standards Authority of India (FSSAI) license details. Use it for food business onboarding, delivery platform compliance, and food safety regulatory checks.

**Pricing:**
₹3.24 per verification.

**Features:**
- **License Validation** — Verify FSSAI license number and retrieve registered business details.
- **Status Check** — Confirm whether the food license is active, expired, or suspended.
- **Business Details** — Fetch registered business name, address, and license category.
- **Real-Time Processing** — Instant validation for food business onboarding and compliance workflows.

**Who should use:** Food delivery and aggregator platforms, E-commerce and marketplace platforms, Restaurant management SaaS, Food safety compliance teams

**Use cases:** Food seller onboarding on marketplaces, Delivery platform restaurant verification, Food safety audit and compliance checks, Cloud kitchen registration verification

**What Can You Verify With FSSAI License Verification API?**
- **FSSAI License Number** — The FSSAI license number that was queried.
- **License Status** — Current status of the FSSAI license — Active, Expired, Suspended, or Cancelled.
- **License Category** — Category of the FSSAI license — Registration, State License, or Central License — reflecting the scale of the food business.
- **Business Name** — Registered name of the food business operator (FBO) as on the FSSAI license.
- **Address** — Registered business address of the FBO as on the FSSAI license.
- **State** — Indian state in which the food business is registered.
- **Expiry Date** — License validity expiry date in YYYY-MM-DD format. Use to flag expired or soon-to-expire licenses.

**API endpoints:**
- `POST /tools/kyc/fetch-fssai` — FSSAI License Verification: inputs: Fssai → outputs: FSSAI License Number, License Status, License Category, Business Name, Address, State, Expiry Date

**FAQs:**
- **What input is required?** Only the FSSAI license number is required for verification.
- **What details are returned?** The API returns FSSAI license status, license category, registered business name, address, state, PIN code, and license expiry date.
- **Is this mandatory for food delivery platforms?** Yes. FSSAI regulations require food delivery platforms to verify that all listed restaurants and cloud kitchens have valid FSSAI licenses.
- **How fast is the check?** The API returns results in real time with sub-second response times.

**Links:** [Page](https://eps.eko.in/products/fssai-verification-api) · [Markdown](https://eps.eko.in/products/fssai-verification-api.md) · [API docs](https://eps.eko.in/docs/fetch-fssai)

## Payment APIs

### Bharat Bill Payment System (BBPS)

Integrate Eko’s BBPS API to let customers fetch bills, pay utility bills, and track transaction status across electricity, gas, water, DTH, broadband, FASTag, insurance, credit card, EMI, LPG, and loan repayment categories.

**Pricing (commission, excl. GST):**
Settlement mode is chosen per transaction with the optional `communication` parameter, sent on BOTH Fetch Bill and Pay Bill: 0 (default) = online, instant settlement at the standard commission; 1 = offline, settles in a minimum of 6 working hours and pays a higher commission.

| Category | Online — instant | Offline — 6-hour | Notes |
| --- | --- | --- | --- |
| Electricity Bill | ₹1.20 | ₹1 – ₹5,000: ₹1.20; ₹5,001 – ₹20,000: 0.52% of amount; ₹20,001 – ₹1,00,000: 0.6% of amount; ₹1,00,001 – ₹5,00,000: 0.32% of amount | — |
| Water Bill | 1.2% of amount | ₹1 – ₹5,000: ₹1.20; ₹5,001 – ₹20,000: 0.52% of amount; ₹20,001 – ₹1,00,000: 0.6% of amount; ₹1,00,001 – ₹5,00,000: 0.32% of amount | — |
| Piped Gas | ₹1.20 | ₹1 – ₹5,000: ₹1.20; ₹5,001 – ₹20,000: 0.52% of amount; ₹20,001 – ₹1,00,000: 0.6% of amount; ₹1,00,001 – ₹5,00,000: 0.32% of amount | — |
| Mobile Postpaid & Landline | ₹0.72 | ₹1.20 | — |
| Broadband | ₹0.72 | Not offered | — |
| Cable TV | ₹0.72 | Not offered | — |
| Insurance Premium | ₹1 – ₹5,000: ₹3.76; ₹5,001+: ₹1.74 | 0.48% of amount | Offline rate applies to LIC premiums |
| Loan EMI Repayment | ₹0.72 | Not offered | — |
| FASTag Recharge | ₹1.12 | Not offered | Bank-issued FASTags ₹1.12; FASTag (General) 0.05% |
| LPG Cylinder Booking | ₹1 – ₹5,000: ₹0.00; ₹5,001+: ₹0.80 | Not offered | — |
| Mobile Prepaid Recharge | 1% of amount | Not offered | 1%–3.04% by operator (Jio/Airtel 1%, VI 2.56%, BSNL 3.04%) |
| DTH Recharge | 2% of amount | Not offered | 2%–2.56% by operator (Tata Play/Videocon 2%, others 2.56%) |
| Credit Card Bill Payment | ₹0.20 | Not offered | — |
| Education Fee Payment | ₹1.74 | Not offered | — |
| Municipal Taxes & Services | ₹1 – ₹5,000: ₹1.82; ₹5,001+: ₹0.72 | Not offered | — |
| Metro Card Recharge | ₹0.80 | Not offered | — |

Operator-level commission for 135+ BBPS billers: https://eps.eko.in/eps-pricing-calculator.xlsx (also summarised at https://eps.eko.in/pricing.md).

**Features:**
- **200+ Biller Categories** — Access to extensive biller network covering electricity, gas, water, insurance, and more.
- **Instant Bill Fetch** — Fetch outstanding bill amounts in real-time before payment processing.
- **Unified API** — Single API integration for all biller categories - no separate integrations needed.
- **Transaction Tracking** — Complete visibility into transaction status with detailed reporting.
- **Receipt Generation** — Auto-generated receipts for every successful transaction.

**Key benefits:**
- **Simplified Integration** — Easy-to-read API documentation and 24x7 integration support for quick go-live.
- **Best Success Rate** — Industry-leading success rates with smart retry mechanisms.
- **Earn Commission** — Attractive commissions on all types of bill payments processed through your platform.
- **Extensive Biller Network** — Access to 20,000+ billers across all major categories in India.
- **Real-time Confirmation** — Instant payment confirmation with transaction reference numbers.
- **Customer Retention** — Keep customers engaged with recurring bill payment reminders and services.

**Supported types:** Electricity, Gas, Water, DTH, Broadband, Mobile Recharge, Fastag, Insurance, Credit Card, EMI, LPG Gas, Loan Repayment

**Use cases:** Banking Apps, Fintech Platforms, Payment Aggregators, E-commerce Platforms, Retail Networks, Agent Banking, Corporate Solutions

**API endpoints:**
- `GET /customer/payment/bbps/bill` — Fetch BBPS Bill: inputs: Phone Operator Code, Utility Acc No, Confirmation Mobile No, Sender Name, Category, Client Ref Id, Source Ip, District Discome, State, Communication → outputs: Amount, Utilitycustomername, Bill Due Date, Customer Id
- `POST /customer/payment/bbps` — Pay BBPS Bill: inputs: Phone Operator Code, Utility Acc No, Confirmation Mobile No, Sender Name, Category, Amount, Utilitycustomername, Client Ref Id, Source Ip, District Discome, Communication → outputs: Tid, Tx Status, Amount, Balance
- `GET /customer/payment/bbps/categories` — Get BBPS Categories: outputs: Operator Category Id, Operator Category Name
- `GET /customer/payment/bbps/locations` — Get BBPS Locations: outputs: Operator Location Id, Operator Location Name
- `GET /customer/payment/bbps/operators` — Get BBPS Operators: inputs: Category, Location → outputs: Operator Id, Name, Bill Fetch Response
- `GET /customer/payment/bbps/operator/{operator_id}/parameters` — Get Operator Parameters: inputs: Operator Id → outputs: Operator Name, Fetch Bill, Param Name
- `GET /customer/payment/bbps/recharge/{customer_mobile}/operator` — Get Operator Code and Circle: inputs: Customer Mobile
- `GET /customer/payment/bbps/recharge/{customer_mobile}/operator/plans` — Get Recharge Plans: inputs: Customer Mobile, Phone Operator Code, Circleid → outputs: Amount, Validity, Plan Description
- `GET /customer/payment/bbps/operators/190/district-discome` — Get District Discome (UPPCL): outputs: Label, Value

**FAQs:**
- **Is BBPS API available 24/7?** Yes, BBPS services are available 24/7. However, some billers may have specific operating hours for payment processing.
- **How is the bill payment amount protected?** Bill amounts are **fetched live from the biller**. Whenever a biller supports bill-fetch, the amount paid can **never exceed the fetched bill amount**.

**Links:** [Page](https://eps.eko.in/products/bbps-api) · [Markdown](https://eps.eko.in/products/bbps-api.md) · [API docs](https://eps.eko.in/docs/bbps-fetch-bill)

## BC Agent APIs

### Domestic Money Transfer (DMT)

Enable assisted domestic money transfers through retailers, agents, CSPs, and fintech platforms. Let customers send money to bank accounts across India using IMPS and NEFT, with real-time status updates and transaction receipts.

**Pricing (fee incl. GST; commission before TDS @ 2%):**
| Transfer amount (INR) | Sender fee (incl. GST) | Taxable value | Your commission | After TDS @ 2% |
| --- | --- | --- | --- | --- |
| ₹100 | ₹10.00 | ₹8.47 | ₹5.67 | ₹5.56 |
| ₹500 | ₹10.00 | ₹8.47 | ₹5.67 | ₹5.56 |
| ₹1,000 | ₹10.00 | ₹8.47 | ₹5.67 | ₹5.56 |
| ₹1,500 | ₹15.00 | ₹12.71 | ₹9.91 | ₹9.71 |
| ₹2,000 | ₹20.00 | ₹16.95 | ₹14.15 | ₹13.87 |
| ₹2,500 | ₹25.00 | ₹21.19 | ₹18.39 | ₹18.02 |
| ₹3,000 | ₹30.00 | ₹25.42 | ₹22.62 | ₹22.17 |
| ₹4,000 | ₹40.00 | ₹33.90 | ₹31.10 | ₹30.48 |
| ₹5,000 | ₹50.00 | ₹42.37 | ₹39.57 | ₹38.78 |

- Sender transaction fee: 1% of the amount, minimum ₹10.00 — INCLUSIVE of GST; nothing is added on top.
- Eko charge: ₹2.80 per transaction, deducted from the fee's taxable value.
- Reverse Charge Mechanism applies: Eko pays the GST on your commission. Invoice Eko with RCM = "YES" and no GST line.
- Sender KYC: ₹11.00 (incl. GST) once per new sender; recipient account verification ₹3.54 (incl. GST) once per new recipient. Both debited from your wallet.
- Maximum transaction amount: ₹5,000.

**Features:**
- **Real-time Transfers** — Instant money transfers via IMPS with real-time status updates and confirmations.
- **Pan-India Coverage** — Transfer money to any bank account across India with high success rate.
- **Real-time Webhooks** — Receive instant notifications for transaction status updates via webhooks.
- **Secure Transactions** — Bank-grade encryption and security for all transactions with audit trails.
- **24/7 Availability** — Round-the-clock availability with reliable, high-volume workflows.

**Key benefits:**
- **Best Success Rate** — Industry-leading success rates with smart routing and automatic retries.
- **Earn Commission** — Earn attractive commissions on every successful transaction processed through your platform.
- **Scalable Infrastructure** — Handle millions of transactions with our enterprise-grade infrastructure.
- **Retailer Network** — Build and manage a network of retailers for cash-in and cash-out services.
- **Regulatory Compliant** — Built for regulated domestic money transfer workflows with partner onboarding, KYC, audit trails, and transaction controls.

**Use cases:** Retail Banking Apps, Remittance Services, Kirana Stores, Agent Banking, Assisted Banking Networks, CSP/BC networks

**API endpoints:**
- `GET /customer/payment/dmt-fino/sender/{customer_id}` — Get Sender Profile: inputs: Customer Id, User Code → outputs: Next Allowed Limit, Name, Kyc State
- `POST /customer/payment/dmt-fino/sender/{customer_id}` — Onboard Sender: inputs: Customer Id, Name, Dob, Residence Address → outputs: Otp Ref Id
- `PUT /customer/payment/dmt-fino/sender/{customer_id}/otp` — Sender eKYC (Biometric): inputs: Customer Id, Aadhar, Piddata → outputs: Kyc Request Id, Otp Ref Id
- `PUT /customer/payment/dmt-fino/sender/{customer_id}/otp/verify` — Validate eKYC OTP: inputs: Customer Id, Otp, Otp Ref Id, Kyc Request Id → outputs: User Code
- `GET /customer/payment/dmt-fino/sender/{customer_id}/recipients` — Get Recipients: inputs: Customer Id → outputs: Recipient Id, Recipient Name
- `POST /customer/payment/dmt-fino/sender/{customer_id}/recipient` — Add Recipient: inputs: Customer Id, Recipient Mobile, Recipient Name, Ifsc, Account → outputs: Recipient Id
- `POST /customer/payment/dmt-fino/otp` — Send Transaction OTP: inputs: Recipient Id, Amount, Customer Id → outputs: Otp Ref Id
- `POST /customer/payment/dmt-fino` — Initiate Transfer: inputs: Recipient Id, Amount, Customer Id, Otp, Otp Ref Id, Client Ref Id → outputs: Tx Status, Tid, Bank Ref Num, Amount, Recipient Name, Balance
- `GET /customer/profile/{customer_id}/dmt-levin` — Get Sender Profile: inputs: Customer Id, User Code → outputs: Next Allowed Limit, Name, Kyc State
- `POST /customer/account/{customer_id}/dmt-levin` — Onboard Sender: inputs: Customer Id, User Code, Name, Dob, Residence Address → outputs: Otp Ref Id
- `POST /customer/payment/dmt-levin/sender/{customer_id}/aadhaar/otp` — Validate Aadhaar & Generate OTP: inputs: Customer Id, Aadhar, Otp Ref Id, Additional Info → outputs: Otp Ref Id, Mobile Hint
- `POST /customer/payment/dmt-levin/sender/{customer_id}/aadhaar/otp/verify` — Validate Sender Aadhaar OTP: inputs: Customer Id, Otp, Otp Ref Id, Intent Id, Additional Info → outputs: Verified, Name, Gender, Dob, Masked Aadhaar
- `POST /customer/account/{customer_id}/dmt-levin/ekyc` — DMT Customer KYC: inputs: Customer Id, User Code, Otp Ref Id, Piddata
- `GET /customer/payment/dmt-levin/sender/{customer_id}/recipients` — Get Recipients: inputs: Customer Id, User Code, Additional Info → outputs: Recipient Id, Recipient Name
- `POST /customer/payment/dmt-levin/sender/{customer_id}/recipient` — Add Recipient: inputs: Customer Id, User Code, Bank Id, Recipient Name, Recipient Mobile, Recipient Type, Account, Ifsc, Account Type, Type → outputs: Recipient Id
- `POST /customer/payment/dmt-levin/otp` — Send Transaction OTP: inputs: User Code, Recipient Id, Amount, Customer Id, Beneficiary Id → outputs: Otp Ref Id
- `POST /customer/payment/dmt-levin` — Initiate DMT-Levin Transaction: inputs: User Code, Customer Id, Recipient Id, Amount, Otp, Otp Ref Id, Client Ref Id, Timestamp, Currency, Channel, State, Recipient Id Type, Geolocation → outputs: Tid, Bank Ref Num, Amount, Recipient Name, Balance

**FAQs:**
- **How long does a transfer take?** IMPS transfers are instant (within seconds). NEFT transfers are processed in batches throughout the day.
- **Is there a settlement delay?** Settlement timelines depend on your agreement. Most partners receive T+1 settlements, with options for same-day settlements for high-volume partners.
- **How are money transfers authenticated?** Senders complete a **one-time biometric Aadhaar eKYC**. Every transfer after that requires a **fresh OTP** sent to the sender's registered mobile. Transfers are capped at **₹5,000 per transaction**, and sender-level monthly limits apply.

**Links:** [Page](https://eps.eko.in/products/dmt-api) · [Markdown](https://eps.eko.in/products/dmt-api.md) · [API docs](https://eps.eko.in/docs/dmt-get-sender)

### AePS Cashout

Enable Aadhaar-based banking services through secure AePS APIs. Let your retailers, agents, or assisted-service network offer cash withdrawal, balance enquiry, and mini statement services using Aadhaar authentication.

**Pricing (commission):**
| Transaction bracket (INR) | Cashout commission |
| --- | --- |
| ₹101 – ₹3,000 | 0.4% of amount |
| ₹3,001 – ₹10,000 | ₹13.00 |

Mini statement: ₹0.75 per transaction.

**Features:**
- **Cash Withdrawal** — Enable customers to withdraw cash from any bank account using Aadhaar and biometric authentication.
- **Balance Enquiry** — Check account balance instantly using Aadhaar number and fingerprint verification.
- **Mini Statement** — Retrieve the last few transactions for any Aadhaar-linked bank account.
- **Biometric Authentication** — Secure transactions with Aadhaar-based biometric verification using UIDAI.
- **Multi-Bank Support** — Connect to all major banks in India through a single integration.

**Key benefits:**
- **Financial Inclusion** — Bring banking services to rural and underbanked populations without traditional infrastructure.
- **No Debit Card Required** — Customers only need their Aadhaar number and fingerprint - no cards or PINs needed.
- **Secure & Compliant** — UIDAI-certified biometric authentication ensures secure and compliant transactions.
- **Build Retailer Network** — Enable local retailers to become banking points and earn commissions.
- **24/7 Operations** — Provide banking services round the clock, even in areas without bank branches.
- **Easy Integration** — Simple REST APIs with comprehensive documentation and sandbox environment.

**Use cases:** Banking Correspondents, Rural Financial Services, Kirana Store Banking, CSC Centers, Microfinance Institutions, Government Disbursements

**API endpoints:**
- `PUT /user/collection/aeps-fingpay/kyc/biometric/daily` — Daily KYC: inputs: User Code, Aadhar, Customer Id, Latlong, Piddata, Bank Code → outputs: User Code
- `POST /customer/collection/aeps-fingpay/cash-withdrawal/otp/{customer_id}` — Cash Withdrawal OTP: inputs: User Code, Customer Id, Bank Code, Aadhar, Latlong, Amount → outputs: Fp Transaction Id
- `POST /customer/collection/aeps-fingpay/cash-withdrawl/{customer_id}` — AePS Cash Withdrawal: inputs: User Code, Customer Id, Bank Code, Aadhar, Latlong, Piddata, Amount, Txn Otp Request Id → outputs: Tid, Amount, Bank, Bank Ref Num, Customer Balance
- `PUT /admin/network/agent/{user_code}/aeps-fingpay/activate` — Activate AePS Fingpay for Agent: inputs: User Code, Modelname, Devicenumber, Settlement Account Number, Settlement Account IFSC, Shop Type, Office Address, Address As Per Proof, Aadhaar Number, PAN Card Image, Aadhaar Front Image, Aadhaar Back Image, Geolocation → outputs: Service Status Desc, Service Status
- `GET /user/collection/aeps-fingpay/get-Mcc-Category` — Get Shop Types: outputs: Value
- `GET /user/collection/aeps-fingpay/get-states` — Get States: outputs: Value
- `POST /user/collection/aeps-fingpay/kyc/otp` — Send OTP (eKYC): inputs: User Code, Aadhar, Customer Id, Latlong → outputs: Reference Tid, Otp Ref Id
- `PUT /user/collection/aeps-fingpay/kyc/otp/verify` — Verify OTP (eKYC): inputs: User Code, Customer Id, Aadhar, Otp, Otp Ref Id, Reference Tid, Latlong → outputs: Reference Tid, Otp Ref Id
- `PUT /user/collection/aeps-fingpay/kyc/biometric` — Biometric eKYC: inputs: User Code, Aadhar, Customer Id, Latlong, Piddata, Bank Code, Otp Ref Id, Reference Tid → outputs: User Code
- `POST /user/payment/aeps/settlement/account` — Add Settlement Bank Account: inputs: User Code, Bank Id, Ifsc, Service Code, Account → outputs: Recipient Id
- `GET /user/payment/aeps/settlement/accounts` — Get Settlement Bank Accounts: inputs: User Code → outputs: Unsettled Fund, Recipient Id
- `POST /user/payment/aeps/settlement` — Initiate Settlement: inputs: User Code, Amount, Recipient Id, Payment Mode → outputs: Tx Status, Amount, Txstatus Desc, Tid, Balance, User Code, Bank Ref Num
- `POST /customer/collection/aeps-fingpay/balance-enquiry/{customer_id}` — AePS Balance Enquiry: inputs: User Code, Customer Id, Bank Code, Aadhar, Latlong, Piddata → outputs: Tid, Customer Balance
- `POST /customer/collection/aeps-fingpay/mini-statement/{customer_id}` — AePS Mini Statement: inputs: User Code, Customer Id, Bank Code, Aadhar, Latlong, Piddata → outputs: Tid, Amount, Txn Type, Customer Balance

**FAQs:**
- **What biometric devices are supported?** We support all UIDAI-certified biometric devices including Morpho, Mantra, Startek, and others.
- **How are AePS transactions authenticated?** Agents complete a **one-time eKYC** plus a **biometric authentication each day** before transacting. Customer withdrawals are authorised by fingerprint through **UIDAI-certified RD-service devices**, and withdrawals above **₹5,000** also need an SMS OTP.

**Links:** [Page](https://eps.eko.in/products/aeps-api) · [Markdown](https://eps.eko.in/products/aeps-api.md) · [API docs](https://eps.eko.in/docs/aeps-fingpay-daily-auth)

## More Information

- [Site index](https://eps.eko.in/index.md): Full list of API products, industries, and solution packs
- [Pricing rate card](https://eps.eko.in/pricing.md): Consolidated pricing for all APIs and other offerings
