How to use International Account Verification
The International Account Verification API allows you to verify whether a bank account (IBAN or local account number) belongs to a specific individual or business. This helps reduce failed payouts, prevent fraud, and support compliance checks in over 30 countries.
- Verify account ownership globally: Confirm if the account belongs to the named user.
- Reduce payment errors: Prevent failed or misrouted transactions.
- Strengthen KYC/AML compliance: Add a lightweight ownership check across markets.
- Protect against fraud: Validate that users control the payout account provided.
This guide explains how the product works, supported markets, expected responses, and how to get started with the API.
How It Works
The International Account Verification API checks whether the provided account number (or IBAN) belongs to the named individual or business. The process works by matching the name you provide with the one registered on the account, via direct bank integrations or verified third-party sources.
When using name-based verification, we return one of three match statuses based on the similarity between the provided name and the name associated with the account:
Match: The name on the account exactly matches the provided name and the account ownership has been successfully verified. In API responses this is returned as "account_ownership_verified": true
No match: The name does not match the account holder’s name. A no match is determined when the similarity score between the provided name and the account owner's name is below 0.7. In API responses this is returned as "account_ownership_verified": false
Partial match: The name is similar but not an exact match. Partial matches indicate a high likelihood of ownership. Where "account_ownership_verified" is returned as 'false' we check for partial matches;
- If the similarity score is equal to or above the threshold (0.7), it is considered a partial match
- The scoring is on a scale from 0-1, with 0 being no match and 1 being the highest similarity between the two names provided
- Anything below the threshold will result in 'no match' to the 'match' attribute and this can be confirmed that the account is not verified
- The API response will return "matching: partial" along with the match score
Account holder name
Whether the account holder name is returned depends on the country and data provider.
- The name is always used for verification, but may not be shared in the response due to local privacy rules.
- In some cases, you’ll receive a masked version (e.g.,
J*** S****). - In others, the name may be fully omitted, even if a match is found - see ‘Country coverage’ below for clarification on what will be returned by country.
Country coverage
Country | Coverage | Account type | Is account holder name returned? | Currency restriction | Response Time |
|---|---|---|---|---|---|
US (Analytics-based) | All ABA-registered institutions | Unknown | Restricted | None mentioned | 1–10 seconds |
US (Logic-based) | All ABA-registered institutions | Unknown | Not validated | None mentioned | 1–10 seconds |
US (Direct-to-FI) | All RTP Network Participating FIs (~483 banks) | Unknown | No name/ownership check | None mentioned | 1–10 seconds |
India | 855+ banks (IMPS) | Retail | Yes | INR only | 3–7 seconds |
Indonesia | 142 major banks | Retail | Yes | Not specified | 2–3 seconds |
Vietnam | 43 major banks (NAPAS) | Retail | Yes | VND only | 2–3 seconds |
Nigeria | 40 major banks | Retail | Yes | Not specified | 2–5 seconds |
Nepal | 23 major banks | Retail | Yes (match_score > 0.8) | Not specified | 2–3 seconds |
Pakistan | 32 major banks | Retail | Yes | PKR only | 2–3 seconds |
China (Individuals) | 2,000+ UnionPay institutions | Retail | Restricted | Not specified | 2–3 seconds |
China (Institutions) | 141 major banks | Corporate | Yes (exact match only) | Not specified | 8–12 seconds |
UK | ~393 institutions (CoP) | Retail | Partial only | GBP only | 2–5 seconds |
South Korea | 48 major banks | Retail | Yes | KRW only | 2–3 seconds |
Bangladesh | 3 banks (Mutual Trust, Dhaka Bank, Eastern) | Retail | Restricted | Not specified | 2–3 seconds |
Uganda | 22 major banks | Retail | Yes | Not specified | 2–5 seconds |
Brazil | 148 major banks | Retail | Yes | BRL only | 5–8 seconds |
Mexico | 129 major banks | Retail | Yes | MXN only | 5-10 seconds |
Argentina | 63 major banks | Retail | Yes | ARL only | 2–5 seconds |
Belgium | All financial institutions | Business only | Yes | Not specified | 5–10 seconds |
Italy | All financial institutions | Business only | Yes | Not specified | 5–10 seconds |
Uruguay | 17 major banks | Retail | Masked | Not specified | 5–8 seconds |
Peru | 4 major banks | Retail | Yes | Not specified | 5–8 seconds |
Malaysia | 37 major banks | Retail | Yes | MYR only | 2–3 seconds |
Turkey | 50+ banks | Retail | Masked | TRY only | 2–5 seconds |
South Africa | 11 major banks | Retail | Certainty of existence, not always name | Not specified | 5–8 seconds |
France | All financial institutions | Business only | Yes | Coming soon | Coming soon |
Netherlands | All financial institutions | Business only | Yes | Coming soon | Coming soon |
Poland | All financial institutions | Business only | Yes | Coming soon | Coming soon |
Chile (coming soon) | 20 major banks | Retail | Yes | Coming soon | Coming soon |
Colombia (coming soon) | 1 bank (Bancolombia), more in progress | Retail | Yes | Coming soon | Coming soon |
Ecuador (coming soon) | 3 banks (Guayaquil, Pacific, Produbanco) | Retail | Yes | Coming soon | Coming soon |
Request data by country
The table below outlines what is required to make a request based on the country you are verifying an account for.
Country | Name Required | Registration ID Required | Account ID Type | Agent Code Required | Notes / Special Requirements |
|---|---|---|---|---|---|
Bangladesh | Yes | No | Beneficiary Account ID | BIC | |
Brazil | Yes | CPF or CNPJ | IBAN | No | CPF in 000.000.000-00 or CNPJ in 00.000.000/0000-00 format |
Mexico | Yes | No | CLABE | No | |
Uganda | Yes | No | Beneficiary Account ID | BIC | |
Argentina | Yes | No | CBU | No | |
Belgium | Yes | VAT, Company No. as reg_id | IBAN | No | Registration ID for business |
Italy | Yes | VAT as reg_id | IBAN | No | Registration ID for business |
Uruguay | Yes | No | Beneficiary Account ID | BIC | |
Peru | Yes | No | CCI | No | |
Malaysia | Yes | No | Beneficiary Account ID | BIC | |
Turkey | Yes | No | IBAN | No | |
South Africa | Yes | No | Beneficiary Account ID | BIC or branch code | Branch code as clearing system ID allowed |
US | Yes (given_name and surname) | No | Beneficiary Account ID | ABA/Routing Number | Depends on node type: analytics, logic, or direct-to-FI |
India | Yes | No | Beneficiary Account ID | IFSC Code | |
Indonesia | Yes | No | Beneficiary Account ID | BIC | |
Vietnam | Yes | No | Beneficiary Account ID | BIC | |
Nigeria | Yes | No | NUBAN | BIC | |
Nepal | Yes | No | Beneficiary Account ID | BIC | |
Pakistan | Yes | No | Beneficiary Account ID | BIC | |
China (individual) | Yes (Chinese) | No | Beneficiary Account ID | No | Name in Chinese characters |
China (business) | Yes | Uniform credit code | Beneficiary Account ID | BIC | 18-char alphanumeric code as registration_id |
UK | Yes | No | Beneficiary Account ID or IBAN | Sort code | |
South Korea | Yes | No | Beneficiary Account ID | BIC or local code | |
France | Yes | VAT, SIREN as reg_id | IBAN | No | Business only |
Netherlands | Yes | VAT as reg_id | IBAN | No | Business only |
Poland | Yes | VAT, NIP, REGON as reg_id | IBAN | No | Business only |
Chile (coming soon) | Yes | RUT as reg_id | Beneficiary Account ID | BIC or local code | |
Colombia (coming soon) | Yes | No | Beneficiary Account ID | BIC or local code | |
Ecuador (coming soon) | Yes | No | Beneficiary Account ID | BIC or local code |
Updated about 2 hours ago
