Policybazaar insurance quotes, policies and claims API
Policybazaar - Buy Insurance is Policybazaar's India insurance and investment marketplace app (Play developer Policybazaar - Buy Insurance Online, the consumer brand of PB Fintech) for comparing and buying term life, health, car, two-wheeler, travel and investment plans from a stated network of 51 insurers. The Android home covers quotes, issued-policy details, renewals, claims, health check-ups, tax-saver, Kotak Payd and a step-tracker rewards programme, with SMS OTP and WhatsApp sign-in, vehicle inspection, policy sharing with nominees and IRDAI-regulated issuance. It sits beside sister app Paisabazaar in the same group and competes with Coverfox, Turtlemint and insurer-direct apps for India's mass retail insurance shoppers (Play rating 4.4 from about 674 thousand reviews).
Issued-policy rows in the home vault carry policyNumber and sumInsured; motor express quotes key off enquiryId, registrationNo, idv and ncbPercent, while the investment locker marks fundValue to market.
Claim lists expose claimStatus and insurerId, Kotak Payd reports wallet paydStatus, and OTP login mints a session around customerId / mobileNo. Broker reconcilers, motor-quote engines and ULIP dashboards can join those identifiers; openData Studio turns them into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Send my-account login OTP
POST
/v1/insurance/session/otp-dispatchosintSends a login OTP to mobileNo so the my-account session can start.
Auth: Unauthenticated. A public app-level client key header identifies the mobile app; the OTP is bound to mobileNo.
- mobileNo
- channel
- customerId
- status
- statusCode
- otpExpirySeconds
POST /v1/insurance/session/otp-dispatch HTTP/1.1 X-Client-Key: <client-key> Content-Type: application/json { "mobileNo": "9876543210", "channel": "SMS" }{ "status": true, "statusCode": "200", "customerId": "cust-10028441", "mobileNo": "9876543210", "otpExpirySeconds": 120 }Validate login OTP
POST
/v1/insurance/session/otp-confirmosintChecks the SMS OTP against mobileNo and returns customerId plus kycStatus.
Auth: OTP just issued by the dispatch call; body carries mobileNo plus the one-time code.
- mobileNo
- otp
- customerId
- kycStatus
- status
POST /v1/insurance/session/otp-confirm HTTP/1.1 Content-Type: application/json { "mobileNo": "9876543210", "otp": "482913", "customerId": "cust-10028441" }{ "status": true, "customerId": "cust-10028441", "mobileNo": "9876543210", "kycStatus": "VERIFIED" }Mint my-account session token
POST
/v1/insurance/session/tokenosintMints the account session token used on the policy, claim and Payd calls.
Auth: Requires a just-confirmed OTP session for customerId. The response token is stored by the app and sent in the X-Session-Token header on later account calls.
- customerId
- mobileNo
- token
- expireAt
- status
POST /v1/insurance/session/token HTTP/1.1 Content-Type: application/json { "customerId": "cust-10028441", "mobileNo": "9876543210" }{ "status": true, "customerId": "cust-10028441", "token": "<session-token>", "expireAt": "2026-10-17T18:30:00Z" }List issued policies
GET
/v1/insurance/policiesopenfinanceReturns the signed-in customer's issued-policy vault: policyNumber, insurer, sumInsured, premiumAmount and expiryDate.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- policyNumber
- insurerName
- insurerId
- sumInsured
- premiumAmount
- expiryDate
- productId
GET /v1/insurance/policies HTTP/1.1 X-Session-Token: <session-token>{ "status": true, "policies": [ { "policyNumber": "300123456789", "insurerName": "HDFC Life", "insurerId": "HDFC", "sumInsured": 10000000, "premiumAmount": 12480, "expiryDate": "2027-03-31", "productId": "TERM" } ] }Read policy details
GET
/v1/insurance/policies/{policyNumber}openfinanceLoads one policy's detail card: nomineeName, kycStatus, autopay flag and the sumInsured / premiumAmount pair.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- policyNumber
- leadId
- sumInsured
- premiumAmount
- nomineeName
- kycStatus
- isAutoPayAttempted
- expiryDate
GET /v1/insurance/policies/300123456789?leadId=ld-88421 HTTP/1.1 X-Session-Token: <session-token>{ "policyNumber": "300123456789", "leadId": "ld-88421", "sumInsured": 10000000, "premiumAmount": 12480, "nomineeName": "Anita Sharma", "kycStatus": "VERIFIED", "isAutoPayAttempted": true, "expiryDate": "2027-03-31" }List customer claims
GET
/v1/insurance/claimsopenfinanceLists claims filed for the customer, each with claimStatus, insurerId and policyNumber.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- policyNumber
- claimStatus
- insurerId
- insurerName
- leadId
GET /v1/insurance/claims HTTP/1.1 X-Session-Token: <session-token>{ "claims": [ { "policyNumber": "300123456789", "claimStatus": "IN_PROGRESS", "insurerId": "HDFC", "insurerName": "HDFC ERGO", "leadId": "ld-88421" } ] }Kotak Payd wallet status
GET
/v1/insurance/payd-wallet/statusopenbankingReads Kotak Payd enrolment status and bonusAmount for the signed-in customer.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- customerId
- paydStatus
- bonusAmount
- currency
GET /v1/insurance/payd-wallet/status HTTP/1.1 X-Session-Token: <session-token>{ "customerId": "cust-10028441", "paydStatus": "ACTIVE", "bonusAmount": 250.0, "currency": "INR" }Investment portfolio by customer
GET
/v1/insurance/investments/portfolioopenfinanceReturns ULIP/investment holdings for customerId with fundValue and premiumAmount per planId.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- customerId
- planId
- fundValue
- premiumAmount
- policyNumber
GET /v1/insurance/investments/portfolio?customerId=cust-10028441 HTTP/1.1 X-Session-Token: <session-token>{ "customerId": "cust-10028441", "holdings": [ { "planId": "ULIP-441", "fundValue": 186540.25, "premiumAmount": 50000, "policyNumber": "300987654321" } ] }Fund performance summary
GET
/v1/insurance/investments/fund-performanceopendataSummarises fund performance for an investment policyNumber, marking fundValue to market.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- policyNumber
- fundValue
- planId
- returnsPercent
GET /v1/insurance/investments/fund-performance?policyNumber=300987654321 HTTP/1.1 X-Session-Token: <session-token>{ "policyNumber": "300987654321", "fundValue": 186540.25, "planId": "ULIP-441", "returnsPercent": 12.4 }Premium payment history
GET
/v1/insurance/policies/{policyNumber}/paymentsopenbankingPages premium paymentHistory for a policyNumber with premiumAmount, leadId and status.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- policyNumber
- premiumAmount
- leadId
- status
- paidOn
GET /v1/insurance/policies/300123456789/payments HTTP/1.1 X-Session-Token: <session-token>{ "policyNumber": "300123456789", "transactions": [ { "premiumAmount": 12480, "leadId": "ld-88421", "status": "SUCCESS", "paidOn": "2026-03-01" } ] }Create motor pre-quote enquiry
POST
/v1/insurance/motor/enquiriesopendataOpens a motor quote enquiry from registrationNo and returns enquiryId plus leadId.
Auth: Optional visitId from the pre-quote flow; anonymous browse allowed until checkout.
- registrationNo
- visitId
- productId
- enquiryId
- leadId
POST /v1/insurance/motor/enquiries HTTP/1.1 Content-Type: application/json { "registrationNo": "MH12AB1234", "visitId": "v-8f21", "productId": "CAR" }{ "enquiryId": "ENQ-441902", "visitId": "v-8f21", "registrationNo": "MH12AB1234", "leadId": "ld-91002" }Motor express checkout quotes
POST
/v1/insurance/motor/quotes/express-checkoutopendataReturns insurer quotes for express checkout keyed by enquiryId, with idv, ncbPercent and premiumAmount.
Auth: enquiryId from the pre-quote or express-checkout flow.
- enquiryId
- registrationNo
- idv
- ncbPercent
- insurerId
- insurerName
- premiumAmount
POST /v1/insurance/motor/quotes/express-checkout HTTP/1.1 Content-Type: application/json { "enquiryId": "ENQ-441902", "registrationNo": "MH12AB1234", "idv": 285000, "ncbPercent": 20 }{ "enquiryId": "ENQ-441902", "quotes": [ { "insurerId": "ICICI", "insurerName": "ICICI Lombard", "premiumAmount": 4120, "idv": 285000, "ncbPercent": 20 } ] }Travel insurance quotes
GET
/v1/insurance/travel/quotesopendataReturns travel-plan quotes for an enquiryId with premiumAmount and sumInsured per insurer.
Auth: Optional profile session; trip enquiryId identifies the quote set.
- enquiryId
- noOfDays
- insurerId
- insurerName
- premiumAmount
- sumInsured
GET /v1/insurance/travel/quotes?enquiryId=ENQ-T-2291&noOfDays=7 HTTP/1.1{ "enquiryId": "ENQ-T-2291", "quotes": [ { "insurerId": "TATA", "insurerName": "Tata AIG", "premiumAmount": 1899, "sumInsured": 50000 } ] }Lookup vehicle RC details
GET
/v1/insurance/vehicles/registration-lookuposintResolves an Indian registrationNo to make, model, variant, manufacturingYear and rtoCity for motor quotes.
Auth: My-account session or pre-quote visit; query is the vehicle registrationNo.
- registrationNo
- make
- model
- variant
- manufacturingYear
- rtoCity
GET /v1/insurance/vehicles/registration-lookup?registrationNo=MH12AB1234 HTTP/1.1{ "registrationNo": "MH12AB1234", "make": "Maruti", "model": "Swift", "variant": "ZXI", "manufacturingYear": 2021, "rtoCity": "Pune" }Health-checkup appointment details
GET
/v1/insurance/health-checkups/appointmentopendataReads a health-checkup appointment tied to policyNumber, with appointmentStatus, slotId and centerName.
Auth: Account session token from POST /v1/insurance/session/token, sent in the X-Session-Token header.
- policyNumber
- appointmentStatus
- slotId
- centerName
GET /v1/insurance/health-checkups/appointment?policyNumber=300123456789 HTTP/1.1 X-Session-Token: <session-token>{ "policyNumber": "300123456789", "appointmentStatus": "SCHEDULED", "slotId": "slot-19", "centerName": "SRL Diagnostics Pune" }
Data categories
- policies
- quotes
- claims
- kyc
- payments
- investments
- vehicles
Where teams use this data
Issued-policy book reconciliation
A broker ops desk pulls the issued-policy list and then each policy detail card nightly and matches policyNumber, sumInsured, premiumAmount and expiryDate against the agency ledger.
Motor IDV and NCB quote engine
A garage or fleet tool opens a motor enquiry with registrationNo, reads the RC make/model, then calls express-checkout quotes for idv, ncbPercent and per-insurer premiumAmount.
Claims and Payd exception desk
A claims coordinator lists claim rows by claimStatus and insurerId, and checks the Kotak Payd wallet status when a cashless wallet is part of the settlement.
ULIP mark-to-market dashboard
A wealth view loads the investment portfolio and the fund-performance summary to chart fundValue against premiumAmount per planId.
Frequently asked questions
What does a signed-in Policybazaar session expose?
The my-account vault lists issued policies (policyNumber, insurerName, sumInsured, premiumAmount, expiryDate), a detail card with nomineeName and kycStatus, claims by claimStatus, premium paymentHistory, Kotak Payd status, and ULIP fundValue.
How do motor quotes get a registration number?
A motor enquiry is opened from registrationNo and returns enquiryId. A vehicle lookup resolves that plate to make, model, variant and rtoCity; the express-checkout quote call then returns per-insurer premiumAmount, idv and ncbPercent.
How does the app sign users in?
Sign-in is SMS OTP: a one-time code is dispatched to mobileNo and confirmed, then a session token for the customerId is minted and sent on later account calls. WhatsApp login is a parallel path.
Is Policybazaar only for India?
Yes. Insurers, IRDAI issuance, Indian RegistrationNo / RTO lookup, Kotak Payd and the Play listing are India-only. The consumer brand sits in PB Fintech beside Paisabazaar.
Apps similar to Policybazaar - Buy Insurance
- Turtlemint — Turtlemint is an IRDAI-licensed composite insurance broker in India that lets users compare and buy health, car, bike and life policies and then organise claims and renewals.
- Acko — Acko is a Bengaluru-based IRDAI-licensed digital general insurer that sells car, bike, health, travel and term-life cover direct through its website and app.
- Digit Insurance — Digit (Go Digit General Insurance) is an IRDAI-licensed digital insurer in India, registration 158, that sells car, two-wheeler, health, travel, home and business cover online and on its app.
- InsuranceDekho — InsuranceDekho is an IRDAI-licensed direct insurance broker (licence 505) that compares and sells health, life, term, car and bike policies from multiple insurers in India.
- Coverfox — Coverfox Insurance Broking Private Limited is an India insurance broker that Policybazaar named as a counterpart in a 2019 trademark case, alongside digital insurer Acko.
- BankBazaar — BankBazaar is an India personal-finance marketplace that also compares term life, car, health, two-wheeler, travel and home insurance online.
- Paisabazaar: Credit Score App — Paisabazaar is PB Fintech's sister credit marketplace for free bureau scores and a side-by-side shop of credit cards and personal, business and home loans in India.
- HDFC ERGO — HDFC ERGO General Insurance is an India general insurer whose site sells motor, health, travel, home and commercial cover as an insurer-direct channel.
Topics
- policybazaar
- policybazaar api
- india insurance quotes
- term insurance
- health insurance
- car insurance idv
- kotak payd
- pb fintech
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use