Skip to main content
VerifyAll logo
LiveInstant answerSandbox

Bank Account Verification API

Send an account number and IFSC and learn whether the account can receive money and whose name it is in, before any money moves.

The documentation opens in the VerifyAll dashboard after sign-in, for accounts with approved API access. New to the API? Start with the developer guide.

Overview

What the Bank Account Verification API does

The Bank Account Verification API takes an account number and the branch IFSC and tells you whether the account exists and what state it is in: active and able to receive money, closed, blocked or frozen, an NRE account that cannot be credited in India, or not a valid account. It also returns the account holder’s name as the bank gives it, and the bank and branch where available.

No money is deposited in the account, so there is no test credit to reverse. Only the last four digits of the account number come back in the answer. Send the name you expect and name_match compares it with the name at the bank: exact, partial or mismatch, with a score from 0 to 100.

A payout to a wrong or closed account is slow to recover, and one to an account in someone else’s name may never come back. Lenders, marketplaces, payroll teams and insurers call this API when an account is entered, so a typing error, a frozen account or a name that does not belong is caught before the first transfer.

How it works

  1. 1

    Your server sends POST /universal/bank-account-verification with account_number, ifsc, the consent object and, optionally, the name you expect. An Idempotency-Key header makes a retry safe: the same key returns the first answer without charging again.

  2. 2

    The request is checked first: an account number that is not 6 to 18 digits, a malformed IFSC or a missing consent object is refused with every problem listed, before anything runs or is charged.

  3. 3

    The account is checked against live records and the answer comes back in the same call, usually within a few seconds.

  4. 4

    The result is stored in your VerifyAll account with a checkResultId; read it again, find it by your client_ref or download the PDF report for the payee’s file.

Request and response

Bank account verification API endpoints and fields

The main fields; the full reference with every field, error code and a cURL sample is in the dashboard docs.

Endpoints
EndpointWhat it does
POST/universal/bank-account-verificationVerify a bank account by account number and IFSC, and compare a name

Request fields

Bank Account Verification API request fields
FieldWhat it is
account_numberRequiredThe bank account number, 6 to 18 digits.
ifscRequiredThe IFSC of the account’s branch, 11 characters (for example ABCD0123456).
consentRequiredobtained: true and a purpose of up to 200 characters, for the account holder.
nameOptionalThe name you expect on the account; sets name_match.
client_refOptionalYour own reference, stored with the result (up to 100 characters).

What the answer returns

Bank Account Verification API answer fields
FieldWhat it is
account_existsWhether the bank has the account; null when that could not be told.
statusactive (can be credited), invalid_account (no such account), closed, blocked (blocked or frozen) or nre (an NRE account, which cannot be credited in India).
name_at_bankThe account holder’s name as the bank gives it.
name_matchexact, partial, mismatch or not_checked, with a score from 0 to 100.
account_number_last4 / ifscThe last four digits of the account checked and the IFSC. The full account number is never returned.
bankname, branch, city and state of the IFSC; each can be null.

Base URL https://api.verifyall.ai. Authenticate with the X-API-Key header (a va_sandbox_ or va_live_ key). Every answer carries data, status_code, success, message and message_code; checks add outcome, checkResultId, charged and charged_amount.

Key features

Bank Account Verification API features and capabilities

  • No test deposit

    Nothing is credited to the account, so there is no reversal to reconcile and nothing shows on the holder’s statement.

  • A status you can act on

    active, closed, blocked, nre and invalid_account are separate values, so a payout rule can hold a frozen or NRE account before money bounces.

  • Name match built in

    Send the payee name you have on file and get exact, partial or mismatch with a 0–100 score.

  • Last four digits only

    The answer carries account_number_last4, never the full account number, so responses can be logged with less risk.

Use cases

Where businesses use the Bank Account Verification API

  • Loan disbursement

    Confirm the borrower’s account is active and in their name before you release the loan amount.

  • Seller, vendor and partner payouts

    Check a seller’s, supplier’s or delivery partner’s account when it is added or changed, before the first settlement.

  • Payroll and contractor payments

    Validate a new joiner’s salary account before the first payroll run, or a contractor’s before the first invoice is paid.

  • Refunds and claim payouts

    Send a refund or an insurance claim only to an account that can be credited and belongs to the person being paid.

Industries

Coverage

Bank accounts in India, identified by account number and the branch IFSC.

Limitations to plan for

  • The bank, branch, city and state can come back null, because the way an account is checked does not always give them. Base a payout decision on status and name_match.
  • name_at_bank is the name as the bank holds it, often in capitals or with initials, so use name_match rather than an exact comparison.
  • An account with no record answers record_not_found. The lookup ran, so it is charged like any completed check.
  • Checks about a person need the consent object, and you keep the consent record.

Integration

How to integrate the Bank Account Verification API

From a business account to your first live call.

  1. Step 1

    Create a business account on VerifyAll and get it approved, as for running checks in the dashboard.

  2. Step 2

    Request Developer API access under Developers in the dashboard: the APIs you need, your expected monthly volume and your use case. The VerifyAll team reviews it and shares the API Services Agreement.

  3. Step 3

    Once the agreement is signed and access is approved, create your Sandbox key and build against sample data. Sandbox calls are never charged.

  4. Step 4

    Create your Production key, recharge your wallet and switch the key in your code: the endpoint and fields stay the same.

Get started

Request access to the Bank Account Verification API

Tell us what you want to verify. We reply within one business day with access steps, Sandbox details and your API pricing.

Tell us about your integration

Tell us what you want to verify and how many checks you expect. Our team replies within one business day with access steps, Sandbox details and your API pricing.

We use these details only to reply to your request. See our privacy policy.

  • Contact sales

    Questions on volumes, onboarding or the API agreement.

    Contact sales
  • View API documentation

    The full reference for Bank Account Verification API (endpoints, fields, errors, cURL) opens in the dashboard once your access is approved.

    Open the docs (sign-in)
  • Create a business account

    API keys are issued to an approved business account. Sign up, then request access under Developers.

    Create account

Pricing

Production calls are charged per check from your prepaid VerifyAll wallet, at your account’s API price; GST is added separately when you recharge. Sandbox calls are never charged. Your API prices are shown in the dashboard once access is approved. How pricing works

Already have a business account? Sign in to request access

Bank Account Verification API: frequently asked questions

Answers for teams planning an integration.

Still have questions? Our team is happy to help.

Contact Support

All identity verification APIsRun Bank account verification in the dashboard, without codeBrowse the API Marketplace

Start with the Bank Account Verification API

Request access, build against the Sandbox, then go live with your Production key.