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
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
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
The account is checked against live records and the answer comes back in the same call, usually within a few seconds.
- 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.
| Endpoint | What it does |
|---|---|
| POST/universal/bank-account-verification | Verify a bank account by account number and IFSC, and compare a name |
Request fields
| Field | What it is |
|---|---|
| account_numberRequired | The bank account number, 6 to 18 digits. |
| ifscRequired | The IFSC of the account’s branch, 11 characters (for example ABCD0123456). |
| consentRequired | obtained: true and a purpose of up to 200 characters, for the account holder. |
| nameOptional | The name you expect on the account; sets name_match. |
| client_refOptional | Your own reference, stored with the result (up to 100 characters). |
What the answer returns
| Field | What it is |
|---|---|
| account_exists | Whether the bank has the account; null when that could not be told. |
| status | active (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_bank | The account holder’s name as the bank gives it. |
| name_match | exact, partial, mismatch or not_checked, with a score from 0 to 100. |
| account_number_last4 / ifsc | The last four digits of the account checked and the IFSC. The full account number is never returned. |
| bank | name, 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.
Step 1
Create a business account on VerifyAll and get it approved, as for running checks in the dashboard.
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.
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.
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.
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 SupportRelated APIs
PAN Verification API
LiveInstant answerConfirm a PAN exists, see who holds it and match the name and date of birth your customer typed, in one call.
View API detailsMobile Number Verification API
LiveInstant answerFind out whether an Indian mobile number is live, who it is registered to and which operator serves it, before you rely on it.
View API detailsAddress Verification API
LiveInstant answerSend a mobile number and the address your customer gave, and get the addresses on record with a match score, in one call.
View API detailsGST Verification API
LiveInstant answerSend a GSTIN and get the business behind it: names, status, place of business and the returns it has filed, in one call.
View API details
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.
