Policybazaar - Buy Insurance icon

Policybazaar insurance quotes, policies and claims API

Policybazaar - Buy Insurance Online · E-commerce 4.4 ★

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

  • Policybazaar - Buy Insurance screenshot 1
  • Policybazaar - Buy Insurance screenshot 2
  • Policybazaar - Buy Insurance screenshot 3
  • Policybazaar - Buy Insurance screenshot 4
  • Policybazaar - Buy Insurance screenshot 5
  • Policybazaar - Buy Insurance screenshot 6
  • Policybazaar - Buy Insurance screenshot 7

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-dispatch osint

    Sends 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-confirm osint

    Checks 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/token osint

    Mints 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/policies openfinance

    Returns 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} openfinance

    Loads 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/claims openfinance

    Lists 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/status openbanking

    Reads 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/portfolio openfinance

    Returns 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-performance opendata

    Summarises 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}/payments openbanking

    Pages 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/enquiries opendata

    Opens 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-checkout opendata

    Returns 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/quotes opendata

    Returns 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-lookup osint

    Resolves 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/appointment opendata

    Reads 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

Get a quote