Zash Loan-Digital Loans Kenya icon

Zash Loan data API

Zillions Credit Limited · Lending 4.3 ★

Zash Loan-Digital Loans Kenya is a short-term digital lending app from Zillions Credit Limited for borrowers in Kenya seeking credit without collateral. Users sign in with a mobile number and SMS code, complete national-ID photo and liveness checks, and choose a loan amount and repayment term from the home loan card. M-Pesa is the cash-out channel, while repayment details, coupons, installment plans and contract downloads remain accessible through the same account. Fingerprint sign-in is available after binding. The app serves mobile borrowers managing applications and repayments on their phones; its recorded Play rating is 4.29 stars across 244,976 ratings.

M-Pesa payout amounts and repayment obligations meet at serial_id: the loan record distinguishes requested amount, net real_amount, upfront fee_pre and outstanding unpayed_amount. Home-card fields add loan_amount, max_amount and is_overdue, while statements and schedules carry expect_pay_amount, expect_pay_time, current_term and shouldRepay. Payout details connect register_phone to the channel identifier check_key, letting authorized reconciliation teams compare the selected wallet with the loan and net disbursement.

Offer records retain amount_limit_min, amount_limit_max, days_config and coupon_amount for comparing available amounts, terms and discounts. With appropriate borrower authorization, onboarding teams can relate session user_id and mobile to identity fields id_card, firstName and lastName, alongside the application's face-verification flags. Credit desks and collections teams can build limit monitoring, payout reconciliation and repayment tracking around these records; openData Studio turns this data into callable open data for authorized integrations.

Screenshots

  • Zash Loan-Digital Loans Kenya screenshot 1
  • Zash Loan-Digital Loans Kenya screenshot 2
  • Zash Loan-Digital Loans Kenya screenshot 3
  • Zash Loan-Digital Loans Kenya screenshot 4
  • Zash Loan-Digital Loans Kenya screenshot 5

API surface

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

  • Send SMS OTP

    POST /v1/access/challenges/send osint

    Sends a login OTP to the Kenyan mobile number in user_name so the borrower can complete SMS sign-in.

    Auth: No session token required before sign-in. Form fields include d_id_store, access_time, language, package_name and app_version. Successful SMS sign-in returns a token for subsequent custom-header authentication.

    • user_name
    • d_id_store
    • language
    • package_name
    • app_version
    • access_time
    • code
    • status
    POST /v1/access/challenges/send HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    user_name=254700000000&d_id_store=demo-device-store&language=en-ke&package_name=com.kopakash&app_version=2.0.1&access_time=1790467200
    {
      "code": 0,
      "msg": "ok",
      "data": {
        "status": 1
      }
    }
  • SMS OTP login

    POST /v1/access/challenges/verify osint

    Confirms the SMS code for user_name and returns token, user_id, mobile, sequence_id and idcard_name for the signed-in session.

    Auth: No session token required before sign-in. Form fields include d_id_store, access_time, language, package_name and app_version. Successful SMS sign-in returns a token for subsequent custom-header authentication.

    • user_name
    • code
    • d_id
    • d_imei
    • android_id
    • adjust_id
    • google_adid
    • token
    • user_id
    • mobile
    • sequence_id
    • bind_mobile
    • idcard_name
    • enter_method
    POST /v1/access/challenges/verify HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    user_name=254700000000&code=000000&is_bind=1&d_id=demo-device-0001&d_imei=demo-device-0001&android_id=demo-android-id&d_sys=android&d_name=samsung_SM-A245F&d_sys_ver=14&adjust_id=demo-adjust-id&google_adid=00000000-0000-0000-0000-000000000000&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "token": "<example-token>",
        "user_id": "demo-user-0001",
        "user_name": "254700000000",
        "mobile": "254700000000",
        "sequence_id": "demo-session-0001",
        "bind_mobile": true,
        "bind_facebook": false,
        "enter_method": "sms",
        "idcard_name": {
          "value": "EXAMPLE BORROWER",
          "status": "1"
        }
      }
    }
  • Borrower profile

    POST /v1/borrowers/profile/read osint

    Loads the signed-in borrower card, including user_id, mobile, token, sequence_id and idcard_name status after OTP login.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • user_id
    • user_name
    • mobile
    • token
    • sequence_id
    • bind_mobile
    • bind_facebook
    • facebook_name
    • idcard_name
    POST /v1/borrowers/profile/read HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    package_name=com.kopakash&language=en-ke&access_time=1790467200
    {
      "code": 0,
      "data": {
        "user_id": "demo-user-0001",
        "user_name": "254700000000",
        "mobile": "254700000000",
        "token": "<example-token>",
        "sequence_id": "demo-session-0001",
        "bind_mobile": true,
        "bind_facebook": false,
        "facebook_name": "",
        "idcard_name": {
          "value": "EXAMPLE BORROWER",
          "status": "1"
        }
      }
    }
  • Home loan dashboard

    POST /v1/credit/dashboard/read openfinance

    Returns the home loan card: serial_id, loan_amount versus max_amount, expect_pay_amount and expect_pay_time, is_overdue, id_card and reference_number.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • status
    • serial_id
    • loan_amount
    • max_amount
    • expect_pay_amount
    • expect_pay_time
    • is_overdue
    • id_card
    • reference_number
    • last_loan_rejected
    • appeal_status
    • credit_guide_text
    POST /v1/credit/dashboard/read HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    package_name=com.kopakash&language=en-ke
    {
      "code": 0,
      "data": {
        "status": 5,
        "serial_id": "DEMO-LOAN-0001",
        "loan_amount": 8500.0,
        "max_amount": 15000.0,
        "expect_pay_amount": 10200.0,
        "expect_pay_time": 1791676800,
        "is_overdue": false,
        "id_card": "ID-DEMO-0001",
        "reference_number": "DEMO-PAYOUT-0001",
        "last_loan_rejected": false,
        "appeal_status": 0,
        "credit_guide_text": "Complete KYC to raise limit"
      }
    }
  • Loan offer configuration

    POST /v1/credit/offers/options openfinance

    Quotes selectable KES amounts and terms using amount_limit_min, amount_limit_max, amount_config, days_config, step_len, overdue_fee and default_config.amount and default_config.day.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • amount_limit_min
    • amount_limit_max
    • amount_config
    • days_config
    • step_len
    • loan_term
    • overdue_fee
    • has_coupon
    • coupon_no
    • coupon_amount
    • default_config
    POST /v1/credit/offers/options HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "amount_limit_min": 1000,
        "amount_limit_max": 15000,
        "amount_config": [1000, 2500, 5000, 8500, 15000],
        "days_config": [7, 14, 21],
        "step_len": 500,
        "loan_term": "14 days",
        "overdue_fee": "KES 50/day",
        "has_coupon": 1,
        "coupon_no": "NEW14",
        "coupon_amount": 200.0,
        "default_config": {
          "amount": 8500,
          "day": 14
        }
      }
    }
  • Pre-apply review loan

    POST /v1/credit/applications/review openfinance

    Submits amount and day for credit review and returns status, credit_approval_status, is_reject and countdown while the application is assessed.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • amount
    • day
    • status
    • credit_approval_status
    • is_reject
    • countdown
    • tap_title
    • tap_url
    • sent_coupon
    • time
    POST /v1/credit/applications/review HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    amount=8500&day=14&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "amount": 8500.0,
        "status": 0,
        "credit_approval_status": 1,
        "is_reject": false,
        "countdown": 120,
        "tap_title": "Reviewing",
        "tap_url": "",
        "sent_coupon": 0,
        "time": 1790467320
      }
    }
  • Confirm and apply loan

    POST /v1/credit/applications/confirm openfinance

    Confirms the chosen amount, day and purpose and returns order flags plus M-Pesa disburse_info.register_phone and the channel check_key.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • amount
    • day
    • purpose
    • loan_type
    • is_face_verify_open
    • first_alive_verify
    • reloan_alive_verify
    • max_failed
    • disburse_info
    • register_phone
    • channel
    • check_key
    POST /v1/credit/applications/confirm HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    amount=8500&day=14&purpose=School fees&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "loan_type": 1,
        "is_face_verify_open": 1,
        "first_alive_verify": true,
        "reloan_alive_verify": false,
        "max_failed": 3,
        "disburse_info": {
          "canModify": 0,
          "register_phone": "254700000000",
          "is_float": false,
          "desc1": "M-Pesa",
          "channel": [
            {
              "name": "M-Pesa",
              "check_key": "mpesa",
              "is_checked": 1,
              "type": 1,
              "content": "254700000000"
            }
          ]
        }
      }
    }
  • Create loan and disburse

    POST /v1/credit/disbursements/submit openfinance

    Books the loan and initiates M-Pesa payout, with serial_id, real_amount versus amount, fee_pre, shouldReceive and disburse_info.register_phone.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • serial_id
    • status
    • amount
    • real_amount
    • unpayed_amount
    • expect_pay_amount
    • expect_pay_time
    • loan_day
    • rate_amount
    • fee_pre
    • tel
    • shouldReceive
    • shouldReceiveInit
    • register_phone
    • check_key
    POST /v1/credit/disbursements/submit HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    amount=8500&day=14&purpose=School fees&check_key=mpesa&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "serial_id": 100001,
        "status": 5,
        "amount": 8500.0,
        "real_amount": 8075.0,
        "unpayed_amount": 10200.0,
        "expect_pay_amount": 10200.0,
        "expect_pay_time": 1791676800,
        "loan_day": 14,
        "rate_amount": 1700.0,
        "fee_pre": 425.0,
        "is_overdue": false,
        "tel": "254700000000",
        "receivedAmountInfo": {
          "shouldReceive": 8075.0,
          "shouldReceiveInit": 8500.0,
          "additional": 0.0,
          "coupon_type": 0
        },
        "disburse_info": {
          "register_phone": "254700000000",
          "channel": [
            {
              "name": "M-Pesa",
              "check_key": "mpesa",
              "content": "254700000000"
            }
          ]
        }
      }
    }
  • Query loan bill

    POST /v1/credit/statements/read openfinance

    Reads the current bill for serial_id, including total_amount, credit_status, nested loan amount, loan_day and expect_pay_time, plus installment_overdue_day.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • serial_id
    • type
    • total_amount
    • total_count
    • loan_desc
    • credit_status
    • installment_status
    • installment_amount
    • installment_overdue_day
    • is_period
    • amount
    • loan_day
    • expect_pay_time
    • status
    POST /v1/credit/statements/read HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    serial_id=100001&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "serial_id": "DEMO-LOAN-0001",
        "type": 1,
        "total_amount": 10200.0,
        "total_count": "1",
        "loan_desc": "14-day loan",
        "credit_status": 1,
        "installment_status": 0,
        "installment_amount": 0.0,
        "installment_day": 0,
        "installment_overdue_day": 0,
        "is_period": 0,
        "loan": {
          "status": 5,
          "amount": 8500.0,
          "loan_day": 14,
          "expect_pay_time": 1791676800
        }
      }
    }
  • Repay installment

    POST /v1/credit/repayments/schedule openfinance

    Returns the repayment plan for serial_id, with total_amount, per-term expect_pay_amount and expect_pay_time, and shouldRepay versus deduction.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • serial_id
    • total_amount
    • installment
    • current_term
    • expect_pay_amount
    • expect_pay_time
    • status
    • plan_info
    • shouldRepay
    • deduction
    POST /v1/credit/repayments/schedule HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    serial_id=100001&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "serial_id": "100001",
        "total_amount": 10200.0,
        "installment": [
          {
            "current_term": 1,
            "expect_pay_amount": 10200.0,
            "expect_pay_time": 1791676800,
            "status": 0,
            "plan_info": "Illustrative due date"
          }
        ],
        "repaymentAmountInfo": {
          "shouldRepay": 10200.0,
          "deduction": 0.0
        }
      }
    }
  • Save credit KYC

    POST /v1/identity/details/submit osint

    Saves the KYC form values id_card, firstName and lastName and returns userId plus goto so the app can advance to the loan card.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • id_card
    • firstName
    • lastName
    • userId
    • goto
    POST /v1/identity/details/submit HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    id_card=ID-DEMO-0001&firstName=EXAMPLE&lastName=BORROWER&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "userId": "demo-user-0001",
        "goto": "loan"
      }
    }
  • National ID occupancy check

    POST /v1/identity/bindings/check osint

    Checks whether a Kenyan id_card is already bound and returns phone for the current account or occupy_phone when another mobile number holds the ID.

    Auth: Signed-in session token in a custom HTTP header, illustrated as X-Session-Token, together with a session cookie. Common form metadata includes d_id_store, access_time, language, package_name and app_version. All credentials in the examples are placeholders.

    • id_card
    • phone
    • occupy_phone
    POST /v1/identity/bindings/check HTTP/1.1
    X-Session-Token: <example-token>
    Cookie: session=<example-session>
    Content-Type: application/x-www-form-urlencoded
    
    id_card=ID-DEMO-0001&package_name=com.kopakash
    {
      "code": 0,
      "data": {
        "id_card": "ID-DEMO-0001",
        "phone": "254700000000",
        "occupy_phone": ""
      }
    }

Data categories

  • phone identity
  • OTP sessions
  • KYC photos
  • national ID numbers
  • M-Pesa disbursement
  • loan balances
  • device telemetry

Where teams use this data

  • Watch Kenya OTP sessions and borrower cards

    Join the SMS sign-in fields token, user_id and mobile with the borrower profile so an authorized credit desk can associate a session with its mobile number and check whether idcard_name is already bound.

  • Reconcile M-Pesa disbursement channels

    Read disburse_info.register_phone and the channel name and check_key alongside serial_id, real_amount and shouldReceive so operations teams can match M-Pesa payouts to in-app loan orders.

  • Track limit, arrears and installment books

    Compare max_amount, loan_amount and is_overdue from the loan dashboard with outstanding unpayed_amount, expect_pay_amount and repayment-plan current_term to flag arrears in Kenyan shilling loan books.

  • KYC completeness on national ID and liveness

    Combine the ID binding check's id_card, saved KYC userId, OCR idNumber, firstName and lastName, and face-verification status to track whether identity onboarding is complete before a loan application proceeds.

Frequently asked questions

What loan fields are shown for Zash Loan?

The loan dashboard includes serial_id, loan_amount, max_amount, expect_pay_amount, expect_pay_time and is_overdue. Offer options add amount_limit_min, amount_limit_max and days_config; booking and repayment records distinguish real_amount, unpayed_amount, shouldReceive and shouldRepay. The API paths and example values on this page are illustrative.

How does borrower sign-in work?

A borrower receives an SMS code on a Kenyan mobile number and submits user_name plus code to establish a session. The session includes token, user_id and mobile. Signed-in requests use a custom token header and a session cookie; the displayed credentials are placeholders, not working access details.

Which fields describe M-Pesa disbursement?

Order confirmation and loan booking carry disburse_info.register_phone and channel details including name and check_key. real_amount and shouldReceive describe the net payout, allowing an authorized integration to associate a loan with its selected M-Pesa wallet.

What identity information supports onboarding?

Identity records include id_card, firstName, lastName and userId, with idcard_name on the borrower profile. The binding check can return phone or occupy_phone when an ID is associated with an account. These are sensitive borrower details that require appropriate authorization; all identity values in the examples are fictional.

Apps similar to Zash Loan-Digital Loans Kenya

  • Tala: Fast & Safe Pesa Loan — Tala is a Central Bank of Kenya–licensed cash-loan app that disburses to M-PESA against a personal credit line of KSh 1,000 to KSh 50,000, with repayment terms of up to 120 days.
  • Branch — Branch is a Kenya, Nigeria and India digital-finance app that offers smartphone instant loans sent to mobile money or a bank account, along with wallet transfers, bill payments and in-app savings.
  • Zenka — Zenka is Zenka Digital Limited's Kenya cash-loan app that evaluates an in-app application and, when approved, sends the funds to M-Pesa, with advertised borrowing of up to KES 200,000.
  • Timiza — Timiza is Absa Bank Kenya's app for instant phone loans, M-PESA-linked transfers and Zidisha savings; qualifying loans go to a Timiza account and are withdrawn to M-PESA.
  • Okash — Okash is a Kenya cash-loan product that advertises eligibility for Ksh 5,000–50,000 disbursed to M-PESA, covering emergency, rental, education and car-loan top-ups without guarantors.
  • M-Shwari — M-Shwari is a Safaricom savings-and-loan service that lets M-PESA customers save from Ksh 1 and take instant loans credited to M-PESA from the Loans and Savings menu.
  • KCB M-PESA — KCB M-PESA is a savings-and-loan service that lets M-PESA customers save from KSh 1 and access instant credit from KSh 100, credited to the M-PESA account, with no branch visit.
  • My OneApp — My OneApp is Safaricom PLC's Kenya super-app that puts the M-PESA wallet on the home screen and unlocks M-PESA invest, borrow and insure actions without switching apps.

Topics

  • zash loan data api
  • kopa kash
  • kenya digital lending
  • M-Pesa payout reconciliation
  • Zillions Credit Limited
  • loan repayment schedule
  • serial_id
  • max_amount
  • id_card
  • unpayed_amount

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