L&T Finance : PLANET Loan App icon

L&T Finance PLANET loan, EMI and mandate data API

L&T Finance · Lending

L&T Finance : PLANET Loan App is the Android customer app of L&T Finance Limited, the listed Indian non-banking financial company (NBFC) in the Larsen & Toubro group. It lets borrowers manage existing loans and apply for personal, two-wheeler, home, farm, SME/business, gold, loan-against-property, rural-group and warehouse-receipt finance, including partner-originated personal loans booked through Google Pay, Amazon, PhonePe and CRED. Sign-in uses a registered-mobile OTP followed by a four-digit security PIN, with optional fingerprint or Face ID and SIM/device binding. The home screen separates My Loans, with Pay EMI, upcoming instalments, part-payment, additional withdrawal and foreclosure, from My Services, with CIBIL score checks, CKYC, NACH/UPI mandates, statements, NOC/NDC kits, insurance claims and a branch locator. Borrowers can also access a two-wheeler and tractor auction portal and the DeHaat agri marketplace. The app supports English, Hindi and Kannada, with email customer care and a companion web portal for additional support and access. In India's loan-servicing market, it sits alongside customer apps from Bajaj Finserv, HDFC Bank and TVS Credit.

PLANET loan-account records connect a 4–31-character lanID with loanType and loanStatus. Product types include PERSONAL_LOAN, TWO_WHEELER_LOAN, HOME_LOAN, FARM_LOAN and BUSINESS_LOAN. The account overview carries outstandingAmount, while detailed records add principalOutstanding, interestRate and loanTenure; emiAmt and nextEmiDate anchor the next instalment. Repayment-option records keep partPaymentEligible and foreclosureEligible distinct, with maxUpcomingMonths describing the advance-payment window of up to two months for eligible personal and two-wheeler loans.

Payment records associate amountDue and receiptNumber with the relevant loan account, using lanNumber for Quick Pay. Document metadata includes documentType, freeDownloadRemaining, documentCharge and passwordProtected for statement-of-account and NOC/NDC document workflows with three free downloads before charges apply. CKYC records include ckycId, ckycReferenceNumber and aadhaarNumberMasked; borrower-consented CIBIL results pair cibilScore with creditAge, onTimePaymentsPct and creditCardUtilization. NACH and UPI Autopay records carry mandateId, mandateType, ifscCode and emiDebitDate.

With borrower authorization, collections engineers can reconcile regular, upcoming and pay-for-others receipts against the right LAN, CRM teams can organize servicing-document vaults while tracking download allowances and charges, and credit operations can combine KYC and bureau metrics in one servicing view. Treasury teams can use mandate records to support bank-change, swap-mandate and cancellation tickets. openData Studio turns these loan-servicing records into callable open data for those integrations.

Screenshots

  • L&T Finance : PLANET Loan App screenshot 1
  • L&T Finance : PLANET Loan App screenshot 2
  • L&T Finance : PLANET Loan App screenshot 3
  • L&T Finance : PLANET Loan App screenshot 4
  • L&T Finance : PLANET Loan App screenshot 5
  • L&T Finance : PLANET Loan App screenshot 6
  • L&T Finance : PLANET Loan App screenshot 7
  • L&T Finance : PLANET Loan App screenshot 8

API surface

Request/response examples are illustrative, reconstructed from the app's interface — not a live capture.

  • Dispatch login OTP

    POST /v1/ltfs-planet/auth/otp/dispatch osint

    Sends a login OTP to the registered mobileNumber and flags whether the number already maps to an L&T Finance customer.

    Auth: Unauthenticated JSON body with the registered mobile number.

    • mobileNumber
    • otpChannel
    • ttlSec
    • isExistingCustomer
    POST /v1/ltfs-planet/auth/otp/dispatch HTTP/1.1
    Content-Type: application/json
    X-App-Version: 3.3.4
    
    {
      "mobileNumber": "9876543210",
      "otpChannel": "sms"
    }
    {
      "status": "SUCCESS",
      "mobileNumber": "9876543210",
      "otpChannel": "sms",
      "ttlSec": 60,
      "isExistingCustomer": true
    }
  • Confirm OTP and open PIN session

    POST /v1/ltfs-planet/auth/otp/confirm osint

    Exchanges the SMS OTP and 4-digit securityPin for accessToken; inactivity timeout is 10 minutes (5 minutes in background).

    Auth: Unauthenticated JSON body with mobileNumber and otp. Response accessToken is attached as Authorization: Bearer on later calls; a 4-digit securityPin is set or verified next.

    • mobileNumber
    • otp
    • securityPin
    • accessToken
    • sessionTimeoutMinutes
    • loginAttemptLeft
    • biometricsEnabled
    POST /v1/ltfs-planet/auth/otp/confirm HTTP/1.1
    Content-Type: application/json
    
    {
      "mobileNumber": "9876543210",
      "otp": "482913",
      "securityPin": "2580"
    }
    {
      "status": "SUCCESS",
      "accessToken": "<accessToken>",
      "mobileNumber": "9876543210",
      "sessionTimeoutMinutes": 10,
      "loginAttemptLeft": 4,
      "biometricsEnabled": true
    }
  • List My Loans

    GET /v1/ltfs-planet/loans openfinance

    Returns the signed-in borrower's loan accounts for the My Loans tile: lanID, loanType (PERSONAL_LOAN, TWO_WHEELER_LOAN, HOME_LOAN, FARM_LOAN, BUSINESS_LOAN, GOLD_LOAN and partner LP variants), outstandingAmount and next EMI.

    Auth: Authorization: Bearer accessToken from POST /v1/ltfs-planet/auth/otp/confirm. Scoped to the registered mobileNumber.

    • lanID
    • loanType
    • lob
    • loanStatus
    • outstandingAmount
    • nextEmiDate
    • emiAmt
    GET /v1/ltfs-planet/loans HTTP/1.1
    Authorization: Bearer <accessToken>
    Accept: application/json
    {
      "status": "SUCCESS",
      "loans": [
        {
          "lanID": "TW123456789012",
          "loanType": "TWO_WHEELER_LOAN",
          "lob": "Two Wheeler",
          "loanStatus": "Active",
          "outstandingAmount": 84250.00,
          "nextEmiDate": "2026-11-05",
          "emiAmt": 2850.00
        },
        {
          "lanID": "PL9876543210",
          "loanType": "PERSONAL_LOAN",
          "lob": "Consumer Loan",
          "loanStatus": "Active",
          "outstandingAmount": 210000.00,
          "nextEmiDate": "2026-11-07",
          "emiAmt": 8900.00
        }
      ]
    }
  • Read loan account details

    GET /v1/ltfs-planet/loans/{lanId} openfinance

    Loads the Loan Details screen for one LAN: principalOutstanding, interestRate, tenure, EMI amount, disbursedDate and repaymentMode (NACH/UPI).

    Auth: Authorization: Bearer accessToken. Path lanId is 4–31 characters.

    • lanID
    • loanType
    • applicantName
    • loanAmount
    • principalOutstanding
    • interestRate
    • loanTenure
    • emiAmt
    • nextEmiDate
    • disbursedDate
    • repaymentMode
    • loanStatus
    GET /v1/ltfs-planet/loans/TW123456789012 HTTP/1.1
    Authorization: Bearer <accessToken>
    Accept: application/json
    {
      "status": "SUCCESS",
      "lanID": "TW123456789012",
      "loanType": "TWO_WHEELER_LOAN",
      "applicantName": "RAHUL SHARMA",
      "loanAmount": 120000.00,
      "principalOutstanding": 84250.00,
      "interestRate": 18.5,
      "loanTenure": 36,
      "emiAmt": 2850.00,
      "nextEmiDate": "2026-11-05",
      "disbursedDate": "2024-06-12",
      "repaymentMode": "NACH",
      "loanStatus": "Active"
    }
  • Pay current EMI

    POST /v1/ltfs-planet/payments/emi openbanking

    Starts a regular EMI checkout for a LAN (UPI, card, net-banking via PayU/Juspay) and returns receiptNumber once the gateway confirms.

    Auth: Authorization: Bearer accessToken. Checkout is handed to PayU (success/failure return to planet-payment/payu/web) with Juspay Hyper enabled.

    • lanID
    • loanType
    • natureOfPayment
    • amountDue
    • paymentMode
    • receiptNumber
    • payuTxnId
    POST /v1/ltfs-planet/payments/emi HTTP/1.1
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "lanID": "TW123456789012",
      "loanType": "TWO_WHEELER_LOAN",
      "natureOfPayment": "REGULAR_EMI",
      "amountDue": 2850.00,
      "paymentMode": "UPI"
    }
    {
      "status": "PAYMENT_PENDING",
      "lanID": "TW123456789012",
      "natureOfPayment": "REGULAR_EMI",
      "amountDue": 2850.00,
      "receiptNumber": "PYU24098123",
      "paymentMode": "UPI",
      "payuTxnId": "<payuTxnId>"
    }
  • Quick-pay another LAN

    POST /v1/ltfs-planet/payments/quick-pay openbanking

    Lets a signed-in user (or a Quick Pay guest) pay EMI on another LAN using lanNumber plus that account's registered mobileNumber.

    Auth: Authorization: Bearer accessToken, or unauthenticated Quick Pay with lanNumber plus the LAN's registered mobileNumber.

    • lanNumber
    • mobileNumber
    • natureOfPayment
    • amountDue
    • receiptNumber
    POST /v1/ltfs-planet/payments/quick-pay HTTP/1.1
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "lanNumber": "PL9876543210",
      "mobileNumber": "9123456780",
      "natureOfPayment": "PAY_FOR_OTHERS",
      "amountDue": 8900.00
    }
    {
      "status": "PAYMENT_PENDING",
      "lanNumber": "PL9876543210",
      "natureOfPayment": "PAY_FOR_OTHERS",
      "amountDue": 8900.00,
      "receiptNumber": "PYU24098155"
    }
  • Upcoming EMI and part-payment quote

    GET /v1/ltfs-planet/loans/{lanId}/payment-options openfinance

    Returns which pay tiles a LAN may show: upcoming EMI (personal/two-wheeler up to 2 months), part-payment, foreclosure (personal and two-wheeler) and additional withdrawal on OD schemes.

    Auth: Authorization: Bearer accessToken.

    • lanID
    • loanType
    • upcomingEmiEligible
    • maxUpcomingMonths
    • emiForUpcomingMonth
    • partPaymentEligible
    • foreclosureEligible
    • additionalWithdrawalEligible
    • principalOutstanding
    • overdueCharges
    GET /v1/ltfs-planet/loans/PL9876543210/payment-options HTTP/1.1
    Authorization: Bearer <accessToken>
    Accept: application/json
    {
      "status": "SUCCESS",
      "lanID": "PL9876543210",
      "loanType": "PERSONAL_LOAN",
      "upcomingEmiEligible": true,
      "maxUpcomingMonths": 2,
      "emiForUpcomingMonth": 8900.00,
      "partPaymentEligible": false,
      "foreclosureEligible": true,
      "additionalWithdrawalEligible": false,
      "principalOutstanding": 210000.00,
      "overdueCharges": 0.00
    }
  • Download statement of account

    GET /v1/ltfs-planet/documents/statement-of-account opendata

    Issues a statement-of-account PDF for a LAN (also the pattern used for repayment schedule, NOC/NDC kits, interest certificates, sanction letter and welcome kit).

    Auth: Authorization: Bearer accessToken. Chargeable after three free downloads (NDC/NOC kits billed 295/590 depending on date and LOB).

    • lanID
    • documentType
    • freeDownloadRemaining
    • documentCharge
    • downloadUrl
    • passwordProtected
    GET /v1/ltfs-planet/documents/statement-of-account?lanID=TW123456789012 HTTP/1.1
    Authorization: Bearer <accessToken>
    Accept: application/json
    {
      "status": "SUCCESS",
      "lanID": "TW123456789012",
      "documentType": "STATEMENT_OF_ACCOUNT",
      "freeDownloadRemaining": 2,
      "documentCharge": 0.00,
      "downloadUrl": "https://planet.ltfinance.com/docs/soa/TW123456789012.pdf",
      "passwordProtected": true
    }
  • Fetch CIBIL score

    POST /v1/ltfs-planet/credit/cibil-score opendata

    Runs the in-app TransUnion CIBIL journey and returns cibilScore plus score-analysis tiles (credit age, on-time payments, card utilization).

    Auth: Authorization: Bearer accessToken. Body carries PAN, date of birth and TransUnion CIBIL consent.

    • panNumber
    • dateOfBirth
    • cibilConsentAccepted
    • cibilScore
    • creditAge
    • onTimePaymentsPct
    • creditCardUtilization
    • totalActiveAccounts
    • reportAvailable
    POST /v1/ltfs-planet/credit/cibil-score HTTP/1.1
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "panNumber": "ABCDE1234F",
      "dateOfBirth": "1992-04-18",
      "mobileNumber": "9876543210",
      "cibilConsentAccepted": true
    }
    {
      "status": "SUCCESS",
      "cibilScore": 764,
      "creditAge": 7,
      "onTimePaymentsPct": 96,
      "creditCardUtilization": 22,
      "totalActiveAccounts": 4,
      "reportAvailable": true
    }
  • Read CKYC and profile KYC

    GET /v1/ltfs-planet/kyc/ckyc osint

    Returns Central KYC identifiers and the profile KYC card (masked Aadhaar, PAN, name, DoB, permanent address) shown under CKYC Details.

    Auth: Authorization: Bearer accessToken. Aadhaar eSign/eKYC is delegated to Digio (api.digio.in) plus UIDAI/NSDL biometric capture on device.

    • ckycId
    • ckycReferenceNumber
    • aadhaarNumberMasked
    • panNumber
    • fullName
    • dateOfBirth
    • permanentAddress
    • kycStatus
    GET /v1/ltfs-planet/kyc/ckyc HTTP/1.1
    Authorization: Bearer <accessToken>
    Accept: application/json
    {
      "status": "SUCCESS",
      "ckycId": "20001234567890",
      "ckycReferenceNumber": "CKYC-88421",
      "aadhaarNumberMasked": "XXXX-XXXX-3210",
      "panNumber": "ABCDE1234F",
      "fullName": "RAHUL SHARMA",
      "dateOfBirth": "1992-04-18",
      "permanentAddress": "12 MG Road, Pune 411001",
      "kycStatus": "VERIFIED"
    }
  • List NACH/UPI mandates

    GET /v1/ltfs-planet/mandates openbanking

    Lists eNACH / Aadhaar NACH / UPI Autopay mandates on a LAN for the Bank & Mandate, swap-mandate and cancel-mandate screens.

    Auth: Authorization: Bearer accessToken.

    • lanID
    • mandateId
    • mandateType
    • bankName
    • accountNumberMasked
    • ifscCode
    • emiDebitDate
    • mandateStartDate
    • mandateStatus
    GET /v1/ltfs-planet/mandates?lanID=TW123456789012 HTTP/1.1
    Authorization: Bearer <accessToken>
    Accept: application/json
    {
      "status": "SUCCESS",
      "lanID": "TW123456789012",
      "mandates": [
        {
          "mandateId": "MND-77821",
          "mandateType": "NACH",
          "bankName": "HDFC Bank",
          "accountNumberMasked": "XXXXXX3210",
          "ifscCode": "HDFC0001234",
          "emiDebitDate": 5,
          "mandateStartDate": "2024-06-12",
          "mandateStatus": "REGISTERED"
        }
      ]
    }
  • Track loan application

    GET /v1/ltfs-planet/applications/{applicationId} openfinance

    Returns origination status for a new or top-up application (initiated, sanctioned, disbursement under process, disbursed, rejected) as shown on Track Application.

    Auth: Authorization: Bearer accessToken.

    • applicationId
    • loanType
    • preferredLoanAmount
    • loanStatus
    • applicationInitiatedOn
    • preQualifiedAmount
    • disbursementUnderProcess
    GET /v1/ltfs-planet/applications/APP-2026-44120 HTTP/1.1
    Authorization: Bearer <accessToken>
    Accept: application/json
    {
      "status": "SUCCESS",
      "applicationId": "APP-2026-44120",
      "loanType": "PERSONAL_LOAN",
      "preferredLoanAmount": 300000.00,
      "loanStatus": "DISBURSEMENT_UNDER_PROCESS",
      "applicationInitiatedOn": "2026-09-12",
      "preQualifiedAmount": 250000.00,
      "disbursementUnderProcess": true
    }

Data categories

  • loans
  • emi-payments
  • kyc
  • credit-score
  • mandates
  • loan-documents
  • applications

Where teams use this data

  • EMI collections reconciliation

    A collections desk matches PayU receiptNumber and amountDue on the EMI and Quick Pay calls back to lanID / lanNumber so regular, upcoming and pay-for-others receipts post against the right L&T Finance account.

  • Servicing document vault

    A borrower-portal or CRM pulls statement-of-account, repayment-schedule, NOC/NDC kit and interest-certificate PDFs by lanID, honouring the three free downloads then the 295/590 charge schedule.

  • CKYC and CIBIL refresh

    Credit-ops ingest ckycId, masked Aadhaar and panNumber from the CKYC card and poll cibilScore / creditCardUtilization so top-up and foreclosure desks see bureau movement without a second bureau login.

  • NACH mandate operations

    Treasury lists mandateId, mandateType (NACH/UPI), ifscCode and emiDebitDate per LAN to drive swap-mandate and cancel-mandate tickets when a borrower changes bank.

Frequently asked questions

Which loan accounts and fields does the PLANET data API cover?

The documented loanType categories include personal, two-wheeler, home, farm, business, gold, loan-against-property and rural-group loans, plus partner personal-loan variants from Google Pay, Amazon, PhonePe and CRED. Account rows use lanID and include loanStatus, outstandingAmount, emiAmt and nextEmiDate. Detailed records add principalOutstanding, interestRate, loanTenure and repaymentMode.

What authentication is required for borrower data?

Borrowers confirm an OTP sent to their registered mobile number and set or verify a four-digit security PIN; fingerprint or Face ID is optional. Subsequent account-data calls carry accessToken as Authorization: Bearer and are scoped to the signed-in borrower. Sessions expire after 10 minutes of inactivity, or 5 minutes in the background. These are borrower-specific records, not an anonymous public customer directory.

How do regular EMI and Quick Pay payment fields differ?

Regular EMI checkout uses lanID, loanType, natureOfPayment, amountDue and paymentMode, and its response includes receiptNumber and payuTxnId. Quick Pay identifies the account with lanNumber and its registered mobileNumber, and uses natureOfPayment, amountDue and receiptNumber; paymentMode and payuTxnId are not listed in its documented fields. A pending checkout must not be treated as a settled payment.

Which CIBIL and CKYC fields are documented?

The CIBIL request includes panNumber, dateOfBirth and cibilConsentAccepted. Results include cibilScore, creditAge, onTimePaymentsPct, creditCardUtilization, totalActiveAccounts and reportAvailable. CKYC records for the signed-in borrower include ckycId, ckycReferenceNumber, aadhaarNumberMasked, panNumber and kycStatus. Access requires the borrower session and the relevant consent; these identifiers are not public lookup data.

Apps similar to L&T Finance : PLANET Loan App

  • TVS Credit Saathi — TVS Credit Saathi is the Android app of TVS Credit, an Indian NBFC that offers two-wheeler, used-car and consumer-durable loans.
  • Bajaj Finance — Bajaj Finance is an Indian NBFC that offers instant personal loans online of up to ₹55 lakh, with published starting rates of 10% p.a. and flexible tenures.
  • HDFC Bank App — The HDFC Bank App is the Mumbai-based private bank's Android client for UPI, payments and in-app loans alongside cards.
  • Tata Capital — Tata Capital is an Indian NBFC that offers 100% paperless personal loans of up to ₹35 lakh with published interest from 10.99% p.a.
  • Mahindra Finance — Mahindra & Mahindra Financial Services is a Mumbai-headquartered rural NBFC that finances tractors and other vehicles through more than 1,000 offices in India.
  • Kissht: Instant Personal Loans — Kissht is an India digital-lending app that advertises personal loans from ₹5,000 to ₹5 lakh with in-app approval in minutes.
  • Paisabazaar: Credit Score App — Paisabazaar is PB Fintech's India app for checking credit scores from all four bureaus, including CIBIL, and comparing personal-loan offers from partner lenders.
  • Paytm — Paytm is an India UPI super-app that also lists personal loans alongside bill payments, recharge and money transfer in the same login.

Topics

  • L&T Finance PLANET data API
  • L&T Finance API endpoints and fields
  • lanID loan account data
  • PLANET EMI payment reconciliation
  • L&T Finance CIBIL score
  • CKYC ckycId
  • NACH UPI mandate data
  • India two wheeler loan data
  • personal loan servicing API

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