ACKO Insurance icon

ACKO Insurance policy and claims data API

Acko Technology & Services Private Limited · E-commerce 4.6 ★

ACKO Insurance is the consumer Android app of Acko Technology & Services Private Limited for ACKO General Insurance Ltd (IRDAI registration 157, HSR Layout, Bengaluru). After SMS OTP sign-in it sells and services car, bike, health, term life and travel cover, and folds in vehicle utilities — RTO/e-challan check and pay, FASTag recharge, PUC expiry reminders, vehicle-owner lookup, ABHA members, cashless health claims with a 1mg medicine and lab handoff, rapid-response ambulance, and ACKO Drive dashcam playback. Home tabs deep-link to bike, car, life and travel; launcher shortcuts open coverages, challan, FASTag and ambulance. Google Play lists it under Finance, rates it 4.6 from about 397 thousand reviews, and the listing claims 8 crore+ policyholders in India. It sits as an insurer-direct alternative to aggregators such as Policybazaar for mass-retail motor and health buyers.

Coverages SDUI rows bind each live plan to policyNumber and the motor identity vehicleNumber, with expiryDate driving car and bike renewal nudges and an AckoPolicy PDF for the same number.

Health FNOL declarations then post treatment cost and hospital details, and payoutStatus waits on IFSC-verified accountName match against the policy. E-challan dues, FASTag tagBalancePaise, ABHA member lists and rapid-response ambulance slots share that session so a broker dashboard, a claims ops desk or a fleet compliance tool can read cover, fines and payouts. openData Studio turns those fields into callable open data.

Screenshots

  • ACKO Insurance screenshot 1
  • ACKO Insurance screenshot 2
  • ACKO Insurance screenshot 3
  • ACKO Insurance screenshot 4
  • ACKO Insurance screenshot 5
  • ACKO Insurance screenshot 6
  • ACKO Insurance screenshot 7
  • ACKO Insurance screenshot 8

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Dispatch login OTP

    POST /v1/sessions/otp osint

    Sends an SMS login OTP to mobileNumber so the coverages session can start.

    Auth: Unauthenticated. A public client-platform header identifies the Android build; the OTP is bound to mobileNumber.

    • mobileNumber
    • channel
    • status
    • otpRequestId
    • expiresInSeconds
    POST /v1/sessions/otp HTTP/1.1
    Content-Type: application/json
    X-Client-Platform: android
    
    {
      "mobileNumber": "9876543210",
      "channel": "SMS"
    }
    {
      "status": "SENT",
      "otpRequestId": "otp-req-88412019",
      "mobileNumber": "9876543210",
      "expiresInSeconds": 120
    }
  • Verify OTP and mint session

    POST /v1/sessions/otp/confirm osint

    Checks the SMS OTP and mints the accessToken used on coverages, claims and vehicle-utility calls.

    Auth: One-time code from the dispatch call. The response accessToken is kept in the app's secure storage and sent as Authorization: Bearer on later calls.

    • mobileNumber
    • otpRequestId
    • otp
    • accessToken
    • refreshToken
    • userId
    • expiresAt
    POST /v1/sessions/otp/confirm HTTP/1.1
    Content-Type: application/json
    
    {
      "mobileNumber": "9876543210",
      "otpRequestId": "otp-req-88412019",
      "otp": "482913"
    }
    {
      "accessToken": "<session-token>",
      "refreshToken": "<refresh-token>",
      "userId": "usr-10028441",
      "mobileNumber": "9876543210",
      "expiresAt": "2026-10-21T06:30:00Z"
    }
  • List live coverages

    GET /v1/plans/active openfinance

    Returns the signed-in user's live plans for the coverages screen — policyNumber, productLine, vehicleNumber and expiryDate.

    Auth: Bearer accessToken from the OTP confirm call.

    • policyNumber
    • productLine
    • vehicleNumber
    • vehicleName
    • sumInsured
    • premiumAmount
    • expiryDate
    • status
    GET /v1/plans/active HTTP/1.1
    Authorization: Bearer <session-token>
    {
      "coverages": [
        {
          "policyNumber": "D300123456789",
          "productLine": "CAR",
          "vehicleNumber": "KA01AB1234",
          "vehicleName": "Hyundai Venue SX",
          "sumInsured": 850000,
          "premiumAmount": 12480,
          "expiryDate": "2027-03-31",
          "status": "ACTIVE"
        }
      ]
    }
  • Download policy PDF

    GET /v1/plans/{policyNumber}/pdf openfinance

    Streams the issued-policy PDF for policyNumber as a downloadable file.

    Auth: Bearer accessToken. The in-app downloader also forwards the web-view session cookie so the policy PDF can be saved to the device.

    • policyNumber
    • fileName
    • mimeType
    • downloadUrl
    • bytes
    GET /v1/plans/D300123456789/pdf HTTP/1.1
    Authorization: Bearer <session-token>
    Cookie: session=<web-session-cookie>
    Accept: application/pdf
    {
      "policyNumber": "D300123456789",
      "fileName": "policy-D300123456789.pdf",
      "mimeType": "application/pdf",
      "downloadUrl": "https://cdn.example.com/plans/D300123456789.pdf",
      "bytes": 248832
    }
  • Look up vehicle by registration

    GET /v1/registrations/{vehicleNumber}/profile osint

    Resolves Get Vehicle Info / PUC screens from vehicleNumber into owner, fuel and pucExpiryDate.

    Auth: Bearer accessToken from the signed-in session.

    • vehicleNumber
    • vehicleName
    • registrationNumber
    • ownerNameMasked
    • fuelType
    • pucExpiryDate
    • vehicleImageUrl
    GET /v1/registrations/KA01AB1234/profile HTTP/1.1
    Authorization: Bearer <session-token>
    {
      "vehicleNumber": "KA01AB1234",
      "vehicleName": "Hyundai Venue SX",
      "registrationNumber": "KA01AB1234",
      "ownerNameMasked": "R***** K****",
      "fuelType": "PETROL",
      "pucExpiryDate": "2026-12-18",
      "vehicleImageUrl": "https://cdn.example.com/vehicles/venue.png"
    }
  • List pending e-challans

    GET /v1/fines/pending opendata

    Lists unpaid RTO/e-challans for vehicleNumber with amountPaise, location and violation imageUrl.

    Auth: Bearer accessToken. vehicleNumber may be a covered vehicle or a lookup plate.

    • vehicleNumber
    • pendingCount
    • totalDuePaise
    • challanNumber
    • offence
    • amountPaise
    • location
    • offenceAt
    • imageUrl
    • status
    GET /v1/fines/pending?vehicleNumber=KA01AB1234 HTTP/1.1
    Authorization: Bearer <session-token>
    {
      "vehicleNumber": "KA01AB1234",
      "pendingCount": 2,
      "totalDuePaise": 150000,
      "challans": [
        {
          "challanNumber": "KA202610180021",
          "offence": "SPEEDING",
          "amountPaise": 100000,
          "location": "Outer Ring Road, Bengaluru",
          "offenceAt": "2026-09-12T08:41:00+05:30",
          "imageUrl": "https://cdn.example.com/fines/KA202610180021.jpg",
          "status": "UNPAID"
        }
      ]
    }
  • Look up FASTag balance

    GET /v1/toll-tags/balance openbanking

    Reads FASTag tagId and tagBalancePaise for vehicleNumber so the recharge shortcut can warn on lowBalance.

    Auth: Bearer accessToken from the signed-in session.

    • vehicleNumber
    • tagId
    • tagBalancePaise
    • lowBalance
    • issuerBank
    • status
    GET /v1/toll-tags/balance?vehicleNumber=KA01AB1234 HTTP/1.1
    Authorization: Bearer <session-token>
    {
      "vehicleNumber": "KA01AB1234",
      "tagId": "34161XXXXXXXXX1234",
      "tagBalancePaise": 84200,
      "lowBalance": false,
      "issuerBank": "IDFC FIRST",
      "status": "ACTIVE"
    }
  • File health FNOL claim

    POST /v1/care/intimations openfinance

    Registers a health first-notification-of-loss with treatmentCostPaise, hospitalName and declaration flags, returning claimId and payoutStatus.

    Auth: Bearer accessToken. Body must include policyNumber plus the three declaration flags from the FNOL screen.

    • policyNumber
    • treatmentCostPaise
    • hospitalName
    • opdClaim
    • declarationOtherInsurerRemainderOnly
    • declarationInfoCorrect
    • claimId
    • claimStatus
    • payoutStatus
    POST /v1/care/intimations HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "policyNumber": "H20099887766",
      "treatmentCostPaise": 18500000,
      "hospitalName": "Manipal Hospital Whitefield",
      "opdClaim": false,
      "declarationOtherInsurerRemainderOnly": true,
      "declarationInfoCorrect": true
    }
    {
      "claimId": "CLM-2026-10028441",
      "policyNumber": "H20099887766",
      "claimStatus": "REGISTERED",
      "opdClaim": false,
      "payoutStatus": "pending"
    }
  • Verify claim payout bank account

    POST /v1/settlements/bank-check openbanking

    Checks ifsc and accountNumber against the name on the policy and returns verificationStatus plus payoutStatus.

    Auth: Bearer accessToken scoped to claimId from the FNOL register call.

    • claimId
    • ifsc
    • accountNumber
    • accountName
    • verificationStatus
    • payoutStatus
    • accountNameMatch
    • skipPayout
    POST /v1/settlements/bank-check HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "claimId": "CLM-2026-10028441",
      "ifsc": "HDFC0001234",
      "accountNumber": "50100123456789",
      "accountName": "RAHUL KUMAR"
    }
    {
      "claimId": "CLM-2026-10028441",
      "verificationStatus": "verified",
      "payoutStatus": "initiated",
      "ifsc": "HDFC0001234",
      "accountNameMatch": true,
      "skipPayout": false
    }
  • List ABHA members

    GET /v1/household/abha-members osint

    Lists ABHA members linked to the household health cover with abhaNumber, relation and kycStatus.

    Auth: Bearer accessToken. ABHA numbers are scoped to the signed-in health household.

    • abhaNumber
    • abhaAddress
    • fullName
    • relation
    • linkedPolicyNumber
    • kycStatus
    GET /v1/household/abha-members HTTP/1.1
    Authorization: Bearer <session-token>
    {
      "members": [
        {
          "abhaNumber": "12-3456-7890-1234",
          "abhaAddress": "rahul@sbx",
          "fullName": "Rahul Kumar",
          "relation": "SELF",
          "linkedPolicyNumber": "H20099887766",
          "kycStatus": "VERIFIED"
        }
      ]
    }
  • Request rapid-response ambulance

    POST /v1/emergency/dispatch opendata

    Opens a rapid-response ambulance dispatch from the current lat/long against an in-force policyNumber.

    Auth: Bearer accessToken. Location comes from the last cached latitude / longitude pair.

    • policyNumber
    • latitude
    • longitude
    • accuracyMeters
    • requestId
    • etaMinutes
    • providerName
    • status
    POST /v1/emergency/dispatch HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "policyNumber": "D300123456789",
      "latitude": 12.9121,
      "longitude": 77.6446,
      "accuracyMeters": 12.4
    }
    {
      "requestId": "RSA-2026-8841",
      "policyNumber": "D300123456789",
      "etaMinutes": 18,
      "providerName": "ACKO Rapid Response",
      "status": "DISPATCHED"
    }
  • Quote motor renewal

    POST /v1/plans/renewal-offers openfinance

    Prices a car or bike renewal from policyNumber / vehicleNumber, returning quotedPremiumPaise, idvPaise and ncbPercent.

    Auth: Bearer accessToken. Full-screen renewal nudges pass isRenewal plus vehicleNumber from the reminder payload.

    • policyNumber
    • vehicleNumber
    • renewalJourney
    • currentExpiryDate
    • quotedPremiumPaise
    • idvPaise
    • ncbPercent
    POST /v1/plans/renewal-offers HTTP/1.1
    Authorization: Bearer <session-token>
    Content-Type: application/json
    
    {
      "policyNumber": "D300123456789",
      "vehicleNumber": "KA01AB1234",
      "renewalJourney": "CAR_RENEWAL"
    }
    {
      "policyNumber": "D300123456789",
      "renewalJourney": "CAR_RENEWAL",
      "currentExpiryDate": "2027-03-31",
      "quotedPremiumPaise": 1312000,
      "idvPaise": 82000000,
      "ncbPercent": 20
    }

Data categories

  • policies
  • claims
  • vehicles
  • identity
  • payouts
  • traffic-fines

Where teams use this data

  • Fleet cover and challan desk

    A fleet ops tool pulls coverages for each vehicleNumber, watches expiryDate, and pages unpaid challans (challanNumber, amountPaise, imageUrl) so dues are cleared before a trip.

  • Health claims operations

    A TPA desk files FNOL with treatmentCostPaise and hospitalName, then polls payoutStatus after IFSC/accountName verification against the policy.

  • FASTag and PUC compliance

    A motor club app reads tagBalancePaise and pucExpiryDate beside the same vehicleNumber so members get a low-balance or PUC-expiry nudge before a highway run.

  • ABHA household roster

    A clinic intake form loads abhaNumber, relation and kycStatus for members linked to linkedPolicyNumber instead of re-keying Ayushman Bharat IDs.

Frequently asked questions

What does the ACKO coverages call return?

GET /v1/plans/active lists live plans with policyNumber, productLine (car, bike, health, life, travel), vehicleNumber, vehicleName, sumInsured, premiumAmount, expiryDate and status. A follow-up document call streams the issued policy PDF for the same policyNumber.

How do health FNOL and payout verification work?

POST /v1/care/intimations registers treatmentCostPaise, hospitalName and the three on-screen declarations, returning claimId and payoutStatus. POST /v1/settlements/bank-check then checks ifsc and accountNumber against the name on the policy; NRE or blocked accounts set skipPayout.

Are e-challan and FASTag on the same session?

Yes. After SMS OTP the same Bearer token reads unpaid challans (challanNumber, amountPaise, location, imageUrl) and FASTag tagId / tagBalancePaise for a vehicleNumber, matching the Check Challan and FASTag shortcuts in the app.

How does the app authenticate?

SMS OTP to mobileNumber (auto-read on the device) mints an accessToken kept in the app's secure storage. Later calls send Authorization: Bearer; policy PDF downloads also forward the web session cookie.

Apps similar to ACKO Insurance

  • Policybazaar - Buy Insurance — Policybazaar is PB Fintech's India insurance marketplace, IRDAI-licensed as a broker since June 2021, for comparing and buying life, health, car and travel cover from multiple insurers.
  • Digit Insurance — Go Digit General Insurance (Digit) is an IRDAI-licensed Indian general insurer, 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) operated by D2C Insurance Broking that compares and sells health, life, term, car and bike policies in India.
  • Turtlemint — Turtlemint is an India insurance and personal-finance platform that lets users compare and buy health, car, bike and life cover, and also offers mutual funds and loans.
  • 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.
  • Bajaj General Insurance — Bajaj General Insurance, formerly Bajaj Allianz, is an IRDAI-registered Indian general insurer (registration 113) that sells car, two-wheeler, health and travel cover online.
  • ICICI Lombard — ICICI Lombard is an India general insurer that sells motor, health, travel, home and business cover, with policy sales and renewals through its website and intermediaries.
  • BankBazaar — BankBazaar is an India personal-finance marketplace that also compares term life, car, health, two-wheeler, travel and home insurance online.

Topics

  • ACKO Insurance API
  • ACKO policyNumber
  • ACKO FNOL claim
  • ACKO FASTag tagBalancePaise
  • ACKO e-challan
  • ACKO ABHA members
  • ACKO vehicleNumber
  • ACKO General Insurance data

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