All systems operational · v2.4 live

KYC & Banking APIs
built for India's fintechs

Verify identities, validate bank accounts, and move money with one integration. RBI-compliant infrastructure trusted by 500+ lenders, NBFCs, and fintech platforms.

ISO 27001 SOC 2 Type II RBI compliant
POST /v1/verify/kyc
curl https://api.bharatapicloud.io/v1/verify/kyc \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "pan": "ABCDE1234F",
    "name": "Aarav Sharma",
    "dob": "1990-04-12"
  }'
200 OK · 1.8s
{
  "status": "verified",
  "match_score": 0.98,
  "pan_valid": true,
  "name_match": "exact",
  "request_id": "kyc_8f3a2c1d"
}
99.98%
API uptime SLA
<3s
Avg. verification time
120M+
Verifications processed
400+
Banks connected

Products

One platform for identity & banking rails

Modular APIs you can adopt individually or as a complete stack — from onboarding to disbursal.

KYC Verification API

PAN, Aadhaar (via DigiLocker), GSTIN, and document OCR verification with liveness detection. Real-time results in under 3 seconds.

PANAadhaarOCRLiveness

Bank Account Verification

Penny-drop and reverse penny-drop verification for 400+ banks. Validate account holder names before disbursals and payouts.

Penny DropIFSC400+ Banks

Account Aggregator

Consent-based access to bank statements and financial data through RBI-regulated Account Aggregator rails.

AA RailsBank StatementsConsent

Payouts & Collections

IMPS, NEFT, RTGS, and UPI payouts with virtual account collections. Automated reconciliation included.

IMPSUPIVirtual Accounts

Developers

Integrate in an afternoon, not a quarter

  • RESTful APIs with idempotent requests and sub-second p99 latency

  • SDKs for Node.js, Python, Java, Go, and PHP

  • Webhooks with HMAC signatures and automatic retries

  • Sandbox mirrors production — no surprise behavior at go-live

Node.js SDK
import { BharatApiClient } from "@bharatapicloud/sdk";

const client = new BharatApiClient(process.env.BHARAT_API_KEY);

const result = await client.kyc.verifyPan({
  pan: "ABCDE1234F",
  name: "Aarav Sharma",
});

if (result.status === "verified") {
  await client.bank.verifyAccount({
    account: "50100234567890",
    ifsc: "HDFC0001234",
  });
}

Pricing

Start free, scale on volume

Transparent per-call pricing. No setup fees, no minimum commitments.

Sandbox

Free

Test every API with unlimited sandbox calls.

  • Unlimited sandbox calls
  • Test data & webhooks
  • API docs & SDKs
  • Community support
Start building
Most popular

Growth

₹4,999/mo

For startups going live with verification flows.

  • 10,000 API calls / month
  • PAN + bank verification
  • 99.9% uptime SLA
  • Email & chat support
  • Webhook retries
Go live

Enterprise

Custom

High-volume, regulated workloads with dedicated infra.

  • Unlimited volume pricing
  • All APIs incl. AA & payouts
  • 99.98% uptime SLA
  • Dedicated success manager
  • Custom data residency
  • On-prem deployment option
Talk to sales

Ship compliant onboarding this week

Get sandbox keys instantly. Talk to our team about production access and volume pricing.