Instant Bank Account Verification
Introduction
Our instant bank account verification flow is designed to provide secure and efficient account verification services across various countries, including the United Kingdom,UAE, India, United States, Indonesia, Vietnam, Nigeria, Nepal, Pakistan, China, Korea, and Bangladesh etc. This process allows businesses and financial institutions to verify bank account details instantly, streamlining the onboarding process and enhancing the overall user experience.
Turkey & China- Business Instant BAV are currently Unavailable. Please contact your sales administrator for any more details.
Use Cases:
- Cross-Border Transactions:
- Facilitate cross-border transactions by quickly and accurately verifying bank account details, enabling secure and efficient international money transfers.
- Enhanced Onboarding Process:
- Streamline the customer onboarding journey by automating the bank account verification process, reducing manual efforts, and minimizing the risk of errors.
- Risk Mitigation:
- Minimize the risk of fraudulent activities by validating bank account details through a robust and reliable verification process, providing an additional layer of security.
- Currency Confirmation:
- Obtain information on the currency associated with the provided bank account, allowing businesses to ensure compatibility and accuracy in financial transactions.
Bank Account Validation Flow
API description
Sample cURL (for all countries except few exceptions mentioned below)
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/<Country code>' \
--header 'Authorization: YOUR_API_KEY'
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX",
"clearingSystemId": "ABC123XXX"
}'Note: Here, the <country code> in API endpoint will be "uk", "in" etc. Please check full table below for supported country codes
Sample cURL (China Individual)
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/cn' \
--header 'Authorization: YOUR_API_KEY'
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX",
"isBusiness": "false"
}'Note: For China Business bank account verifications, please get in touch with your account manager.
Sample cURL (US )
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/us' \
--header 'Authorization: YOUR_API_KEY'
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX",
"clearingSystemId": "ABC123XXX",
"isBusiness": "true/false"
}'Sample cURL (US method 2 & method 3 & US-lite)
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/<Country code>' \
--header 'Authorization: YOUR_API_KEY'
--header 'Content-Type: application/json' \
--data '{
"accountNumber": "1234567XX",
"clearingSystemId": "ABC123XXX"
}'Note: Here, the <country code> in API endpoint will be "us-v1" for method 2 , "us-v2" for method 3 and "us-v3" for US-lite . Please check full table below for supported country codes
Sample cURL (Mexico , Argentina, Turkey & Peru)
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/<Country code>' \
--header 'Authorization: YOUR_API_KEY'
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX"
}'Note: Here, the <country code> in API endpoint will be "mx" for Mexico , "ar" for Argentina and "pe" for Peru. Please check full table below for supported country codes
Sample cURL (UK IBAN )
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/gb-v1' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX"
}'Sample cURL (Brazil , Belgium, Italy, Netherlands, Poland & France)
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/<Country code>' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX",
"creditorIdentifier": "Abc"
}'Sample cURL (Saudi Arabia)
curl --location 'https://api-preproduction.signzy.us/api/v3/global-bank-verification/validate-bank-account/<Country code>' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX",
"creditorIdentifier": "Abc",
"isBusiness": "true/false",
"creditorIdentifierType" : "Abc"
}'Sample cURL (Eurozone)
curl --location 'https://api-preproduction.signzy.us/api/v3/global-bank-verification/validate-bank-account/eu' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "<First 2 letter for Supported Countries>34567XX"
}'
//The first 2 letters of accountNumber(IBAN) passed in input.
//Only below letters can come as part of IBAN :-
//AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES
Sample cURL (Eurozone V1)
curl --location 'https://api-preproduction.signzy.us/api/v3/global-bank-verification/validate-bank-account/eu/v1' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "<First 2 letter for Supported Countries>34567XX"
}'
//The first 2 letters of accountNumber(IBAN) passed in input.
//Only below letters can come as part of IBAN :-
//AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES
Note: The Eurozone (/eu) endpoint supports 20 countries.
Note: The Eurozone v1(/eu/v1) endpoint returns nameMatched field in response.
Supported Countries:
Austria (AT), Belgium (BE), Croatia (HR), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), Germany (DE), Greece (GR), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), Netherlands (NL), Portugal (PT), Slovakia (SK), Slovenia (SI), Spain (ES).
Sample cURL (UAE)
curl --location 'https://api-preproduction.signzy.app/api/v3/global-bank-verification/validate-bank-account/ae' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567XX"
}'Sample cURL (IBAN)
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/iban' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"accountNumber": "12345678XX"
}'Sample cURL (Chile & Ecuador)
curl --location 'https://api-preproduction.signzy.us/api/v3/global-bank-verification/validate-bank-account/<Country Code>' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567890",
"clearingSystemId": "XXX",
"creditorIdentifier": "XXX"
}'Sample cURL (Colombia)
curl --location 'https://api-preproduction.signzy.us/api/v3/global-bank-verification/validate-bank-account/co' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567890",
"clearingSystemId": "XXX",
"creditorIdentifier": "XXX",
"creditorIdentifierType": "CC/NIT" // Values can be CC or NIT
}'Sample cURL (Australia)
curl --location 'https://api.signzy.us/api/v3/global-bank-verification/validate-bank-account/au' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"fullName": "Abc",
"accountNumber": "1234567890",
"clearingSystemId": "XXX"
}'Request Data
Key | Value |
|---|---|
Authorization | access token (returned as id field of login request) |
Content-type | application/json |
Request Data Parameters
Parameter | Description | Validation Checks | Type | Required |
|---|---|---|---|---|
fullName | Full name of bank account holder | Any non-empty string | String | Varies from country to country. Please see curls above |
accountNumber | Account number of bank account | Alphanumeric | String | Varies from country to country. Please see curls above |
clearingSystemId | Clearing system codes of financial institutions associated with the bank account | Alphanumeric | String | Varies from country to country. Please see curls above |
creditorIdentifier | Uniform credit code (18 char alphanumeric code) as registration_id | Alphanumeric | string | Varies from country to country. Please see curls above |
isBusiness | Flag for Business Checks yes/no | boolean true/false | boolean | Varies from country to country. Please see curls above |
creditorIdentiferType | Value to determine which identifier is passed in creditorIdentifier | Alphanumeric | string | Only applicable for Saudi Arabia and Colombia as of now. It can have below values :- Saudi Arabia (AE): NATIONAL_ID, COMMERCIAL_REGISTRATION, UNIFIED_NUMBER Colombia (CO): CC, NIT |
Coverage & Country Code URL Input
Country | County Code(At the end of URL) |
|---|---|
United States - Name ownership check | us |
United State Method 2 | us-v1 |
United State Method 3 (not working currently) | us-v2 |
United Lite | us-v3 |
United Kingdom | uk |
United Kingdom - Iban method | gb-v1 |
India | in |
China | cn |
Vietnam | vn |
Indonesia | id |
Bangladesh | bd |
Pakistan | pk |
South Korea | kr |
Nepal | np |
Nigeria | ng |
Argentina | ar |
Mexico | mx |
Uganda | ug |
Uruguay | uy |
Belgium | be |
Italy | it |
Brazil | br |
Malaysia | my |
Peru | pe |
Netherlands | nl |
France | fr |
Thailand | th |
South Africa | za |
Poland | pl |
Turkey | tr |
Saudi Arabia | sa |
Eurozone | eu |
UAE | ae |
IBAN | iban |
Chile | cl |
Colombia | co |
Ecuador | ec |
Australia | au |
Sample Response
{
"error": {
"name": "error",
"message": "Bad Request",
"status": 400,
"reason": "fullName REQUIRED",
"type": "Bad Request",
"statusCode": "400"
}
}{
"result": {
"description": "Account number format is Invalid",
"matchScore": "",
"matchScoreDescription": "",
"nameMatched": "",
"currency": ""
}
}Success Response Body Parameters
Key | Description | Type |
|---|---|---|
result.description | Validation description | String |
result.country | Country associated with bank account | String |
result.matchScore | Degree of matching | String |
result.matchScoreDescription | Description reflecting the strength of the match | String |
result.nameMatched | Name that achieved the match | String |
result.currency | Currency associated with the validated information | String |
result.riskScore | Risk score associated with the account (UK specific) | String |
result.riskScoreDescription | Description reflecting the risk score (UK specific) | String |
Country Details
Country | Creditor (Name) | Creditor Account (Account number) | Creditor Agent (Clearing system ID) | Creditor Identification (creditorIdentifier | Match_Score | Match_Score_Description | Data Remarks | Coverage |
|---|---|---|---|---|---|---|---|---|
United States (US) | name( given_name and surname) | beneficiary bank account ID | ABA code as clearing system ID | NA | Discrete values representative of strength of match (1, 0, etc.) | Strong, Weak | Confirms name ownership | All ABA-registered institution; incomplete within-institution coverage due to contributed database limitations |
United States Method 2 (US) | NA | beneficiary bank account ID | US ABA code as clearing system ID | NA | NA |  | Return a logic score on the likelihood of whether an account and routing code pair exists; does not perform any name/ownership validation | All ABA-registered institution |
United States Method 3 (US) | NA | beneficiary bank account ID | US ABA code as clearing system ID | NA |  |  | Real-time microdeposit, returns certainty of account existence, but no ownership/ name check | All RTP® Network Participating Financial Institutions (~483 banks / financial institutions) |
United States US-Lite (US) | name( given_name and surname)     | beneficiary bank account ID | US ABA code as clearing system ID | NA | Discrete values representative of strength of match (1, 0, etc.) | Strong, Weak | Confirms name ownership | US Lite has 50% coverage as compared to US main method. |
United Kingdom (UK) | name | beneficiary bank account ID | Sort code as clearing system ID | NA | A score ranging from 0 to 100 indicating the level of account risk | No Major Risk Identified, Some Risks Identified, Significant Risk Identified | Gives out Risk Scores and Risk Description | 393 major banks / financial institutions |
United Kingdom -IBAN (UK) | name | IBAN | NA | NA | A score ranging from 0 to 100 indicating the level of account risk | No Major Risk Identified, Some Risks Identified, Significant Risk Identified | Gives out Risk Scores and Risk Description |  |
India | name | beneficiary bank account ID | IFSC code as clearing system ID | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string, currency  Validates only domestic currency (INR accounts) | All IMPS live members (~855 banks / financial institutions) |
Indonesia | name | beneficiary bank account ID | BIC Code | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string | 142 major banks / financial institutions |
Vietnam | name | beneficiary bank account ID | BIC Code | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string, currency  Validates only domestic currency (VND accounts) | 43 major banks / financial institutions (NAPAS) |
Nigeria | name | NUBAN as account ID | BIC Code | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string | 40 major banks / financial institutions |
Nepal | name | beneficiary bank account ID | BIC Code | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string in case of match_score > 0.8 only  | 23 major banks / financial institutions |
Pakistan | name | beneficiary bank account ID or IBAN | BIC Code | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string, currency  Validates only domestic currency (PKR accounts) | 32 major banks / financial institutions |
China (Individual) | name (in Chinese characters) | Beneficiary bank account ID (in 62* PAN format) | NA | NA | Discrete values representative of strength of match (1, 0) | Strong, Weak | n/a | 2,000+ institutions within UnionPay network |
South Korea | name | beneficiary bank account ID | BIC Code | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string (in hangul), currency  Validates only domestic currency (KRW accounts) | 48 major banks / financial institutions |
Bangladesh | name | beneficiary bank account ID | BIC Code (MTBLBDDH, DHBLBDDH, EBLDBDDH) | NA | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string, currency | 3 banks (Mutual Trust Bank, Dhaka Bank, Eastern), more in progress |
Argentina | name | CBU as account ID | NA | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string, currency  Validates only domestic currency (ARL accounts) | 63 major banks / financial institutions |
Mexico | name | CLABE as account ID | NA | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string, currency  Validates only domestic currency (MXN accounts); requires repeat request after 5 minutes in case of failures because of source constraints | 129 major banks / financial institutions |
Uganda | name | beneficiary bank account ID | BIC Code | NA | Continuous variable, indicating strength of match (0...1) | Strong, Partial, Weak | Supplies full name string, currency | 22 major banks / financial institutions |
Brazil | name | IBAN | NA | CPF in 000.000.000-00 OR CNPJ in 00.000.000/0000-00 format | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string, currency  Validates only domestic currency (BRL accounts) | 148 major banks / financial institutions |
Belgium | name | IBAN | NA | VAT, Company No. | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies Full name string in company ID match scenarios   Validates business accounts only | All financial institutions; incomplete within-institution coverage due to contributed database limitations |
Italy | name | IBAN | NA | VAT | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies Full name string in company ID match scenarios   Validates business accounts only | All financial institutions; incomplete within-institution coverage due to contributed database limitations |
Malaysia | name | Beneficiary bank account ID | BIC Code | NA | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string, currency | 37 major banks / financial institutions |
Peru | name | CCI as account number | NA | NA | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies Full name string, currency | 31 major banks / financial institutions |
Uruguay | name | Beneficiary bank account ID | BIC Code | NA | Discrete (1, 0.5, 0) | Strong, Partial, Weak | Supplies partially masked name string, currency | 17 major banks / financial institutions |
Netherlands | name | IBAN | n/a | VAT | Continuous (0...1) | Strong, Partial, Weak | Supplies full name string if VAT match exists  Validates business accounts only | All financial institutions (incomplete within-institution coverage) |
France | name | IBAN | n/a | VAT or SIREN | Continuous (0...1) | Strong, Partial, Weak | Supplies full name string if VAT or SIREN match exists  Validates business accounts only  | All financial institutions (incomplete within-institution coverage) |
Thailand | name | Beneficiary bank account ID | BIC Code | n/a | n/a | n/a | Returns certainty of account existence only; ownership confirmation subject to availability of information | 42 major banks / financial institutions  |
South Africa | name | Beneficiary bank account ID | BIC Code or branch code | n/a | Discrete (1) | Strong (if ownership confirmed) | Returns certainty of account existence, but no ownership/name check | 11 major banks / financial institutions  |
Poland | name | IBAN | n/a | VAT, NIP, REGON | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string in creditor identifier match scenarios  Validates business accounts only | All financial institutions; incomplete within-institution coverage due to contributed database limitations |
Turkey | name  *name returned is masked | IBAN | n/a | n/a | Discrete values representative of strength of match (1, 0.5, 0) | Strong, Partial, Weak | Supplies partially masked name string | 50+ major banks/financial institutions  |
Saudi Arabia | name | IBAN | n/a | For individuals : NATIONAL_ID For businesses: UNIFIED_NUMBER OR COMMERCIAL_REGI S TRATION | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies masked name string | 14 major banks/financial institutions |
Europe  (AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES) | Name | IBAN | n/a | n/a | Discrete values representative of strength of match (1, 0.5, 0) | Strong, Partial, Weak |  | 20 Eurozone countries: AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES |
Europe V1  (AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES) | Name | IBAN | n/a | n/a | Discrete values representative of strength of match (1, 0.5, 0) | Strong, Partial, Weak |  | 20 Eurozone countries: AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES |
UAE | Name | IBAN | n/a | n/a | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string | 23 major banks / financial institutions |
Chile | name | beneficiary bank account ID | BIC Code or local bank code as clearing system id | RUT as reg_id | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string, currency | 20 major banks / financial institutions |
Colombia | name | beneficiary bank account ID | BIC Code or local bank code as clearing system id | CC, NIT as identification_type | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string (Masked name for Iban colombia) , currency | 25 major banks / financial institutions |
Ecuador | name | beneficiary bank account ID | BIC Code or local bank code as clearing system id | CC, RUC as reg_id | Continuous variable, indicating strength of match (0…1) | Strong, Partial, Weak | Supplies full name string, currency | 13 major banks / financial institutions |
Australia | name | beneficiary bank account ID | BSB code as clearing system ID | n/a | Discrete values representative of strength of match (1, 0.5, 0) | Strong, Partial, Weak | n/a | 55 major banks / financial institutions |
Error Codes
Error Code | Description |
|---|---|
200 | Success - The request was processed successfully. |
400 | Bad Request - The request was malformed or invalid. |
409 | Conflict - The request conflicts with the server state. |
500 | Internal Server Error - An unexpected error occurred. |
Getting help
Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.
You can reach out to us at [email protected]. We strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively.
We value your feedback and are committed to making your experience smooth and enjoyable. Our team is dedicated to assisting you with any needs you may have. Thank you for choosing our services. We look forward to helping you!