Account Intelligence Geographic Coverage
See which countries Account Intelligence supports for bank account verification, and the identifiers each market requires.
Account Intelligence verifies both domestic (United States) and international bank accounts. The identifiers you send in an evaluation request differ by market, so please review the coverage and requirements in the following sections before building an international integration.
Domestic coverage
Both Account Intelligence Standard and Account Intelligence Premier support United States 🇺🇸 bank accounts. Domestic requests identify an account with an account_number and routing_number. For domestic request and response details, see the Account Intelligence integration guide.
International coverage
In addition to domestic coverage, Account Intelligence Standard supports the international markets listed below. The system treats a request as international when the account's country uses a supported non-US country code.
| Country | Code | Country | Code |
|---|---|---|---|
| 🇦🇷 Argentina | AR | 🇱🇺 Luxembourg | LU |
| 🇦🇺 Australia | AU | 🇲🇾 Malaysia | MY |
| 🇦🇹 Austria | AT | 🇲🇹 Malta | MT |
| 🇧🇩 Bangladesh | BD | 🇲🇽 Mexico | MX |
| 🇧🇪 Belgium | BE | 🇳🇵 Nepal | NP |
| 🇧🇷 Brazil | BR | 🇳🇱 Netherlands | NL |
| 🇧🇬 Bulgaria | BG | 🇳🇬 Nigeria | NG |
| 🇨🇱 Chile | CL | 🇵🇰 Pakistan | PK |
| 🇨🇳 China | CN | 🇵🇪 Peru | PE |
| 🇨🇴 Colombia | CO | 🇵🇱 Poland | PL |
| 🇭🇷 Croatia | HR | 🇵🇹 Portugal | PT |
| 🇨🇾 Cyprus | CY | 🇸🇦 Saudi Arabia | SA |
| 🇪🇨 Ecuador | EC | 🇸🇰 Slovakia | SK |
| 🇪🇪 Estonia | EE | 🇸🇮 Slovenia | SI |
| 🇫🇮 Finland | FI | 🇿🇦 South Africa | ZA |
| 🇫🇷 France | FR | 🇰🇷 South Korea | KR |
| 🇩🇪 Germany | DE | 🇪🇸 Spain | ES |
| 🇬🇭 Ghana | GH | 🇹🇿 Tanzania | TZ |
| 🇬🇷 Greece | GR | 🇹🇭 Thailand | TH |
| 🇮🇳 India | IN | 🇹🇷 Turkey | TR |
| 🇮🇩 Indonesia | ID | 🇺🇬 Uganda | UG |
| 🇮🇪 Ireland | IE | 🇦🇪 United Arab Emirates | AE |
| 🇮🇹 Italy | IT | 🇬🇧 United Kingdom | GB |
| 🇱🇻 Latvia | LV | 🇺🇾 Uruguay | UY |
| 🇱🇹 Lithuania | LT | 🇻🇳 Vietnam | VN |
How international requests are routed
RiskOS™ reads account.country_code to decide how to process each request:
- Missing, empty, or
US→ the request follows the domestic flow (account_number+routing_number). - A supported non-US country code → the request follows the international flow, which applies corridor validation and country-specific rules.
- An unsupported country code → the request returns a validation error.
International account fields
International requests reuse the data.individual.account object, with these additional fields. The Required column marks fields that every international request must include; fields marked Conditional are required only for certain markets — see Country-specific requirements for the exact combination each market needs.
| RiskOS™ field | Type | Required | Description |
|---|---|---|---|
account.country_code | String | Required | ISO 3166-1 alpha-2 country code of the account. Determines domestic vs. international routing. |
account.account_type | String | Required | Account holder type. One of PERSONAL or BUSINESS. |
account.account_inquiries | Array of string | Required | Checks to perform. International markets return a result only for the combined check, so send both AVAILABILITY and OWNERSHIP together. |
account.iban | String | Conditional | International Bank Account Number, in valid IBAN format. |
account.swift_bic | String | Conditional | Bank identifier code, in valid SWIFT/BIC format. |
account.account_number | String | Conditional | Local bank account number. Alphanumeric, 4–35 characters. |
account.clearing_system_id | String | Conditional | Local routing identifier (for example, sort code, IFSC, BSB, bank or branch code). |
account.document_id | String | Conditional | Primary personal or business identity document value. |
account.documents | Array of object | Conditional | Structured identity documents. Each entry requires a type and a value. |
Common rules across all supported markets:
account_typeis always required and must bePERSONALorBUSINESS.- For
PERSONALaccounts, providegiven_name,family_name, or both. For international requests, the combined length ofgiven_nameandfamily_namemust not exceed 255 characters. - For
BUSINESSaccounts, provide the business name. - International markets return a result only when you request both
AVAILABILITYandOWNERSHIP. Send both values inaccount_inquiries. documentsentries must include bothtypeandvalue. You can pass adocument_idvalue insidedocumentswith a valid type and value, but not the reverse.
Country-specific requirements
Markets are grouped by the required field combination. Find your market, send the listed fields, then refer to the linked sample request for a complete example.
In these tables, + means send those fields together in the same request. Where a market accepts more than one combination, send any one of them. Every international request also requires account_type (PERSONAL or BUSINESS). Formats for routing codes and documents are listed under Validation patterns.
IBAN-only markets
Send iban. See the IBAN only sample.
| Market | Notes |
|---|---|
| 🇧🇬 Bulgaria (BG) | — |
| 🇵🇱 Poland (PL) | — |
| 🇦🇪 United Arab Emirates (AE) | — |
| 🇹🇷 Turkey (TR) | — |
| 🇪🇺 EU markets | Covers AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES. |
SWIFT/BIC and account number markets
Send swift_bic + account_number. See the SWIFT/BIC + account number sample.
| Market | Notes |
|---|---|
| 🇻🇳 Vietnam (VN) | — |
| 🇳🇬 Nigeria (NG) | — |
| 🇳🇵 Nepal (NP) | — |
| 🇧🇩 Bangladesh (BD) | — |
| 🇬🇭 Ghana (GH) | — |
| 🇹🇿 Tanzania (TZ) | — |
| 🇺🇬 Uganda (UG) | — |
| 🇲🇾 Malaysia (MY) | — |
| 🇹🇭 Thailand (TH) | given_name and family_name are optional. |
Account number markets
Send account_number. See the Account number only sample.
| Market | Notes |
|---|---|
| 🇲🇽 Mexico (MX) | — |
| 🇦🇷 Argentina (AR) | — |
| 🇵🇪 Peru (PE) | — |
Account number and routing code markets
Send account_number + clearing_system_id. See the Account number + clearing system ID sample.
| Market | Routing code (clearing_system_id) |
|---|---|
| 🇮🇳 India (IN) | IFSC |
| 🇦🇺 Australia (AU) | BSB |
IBAN or SWIFT/BIC + account number
Send iban, or swift_bic + account_number. See the IBAN only or SWIFT/BIC + account number sample.
| Market | Notes |
|---|---|
| 🇵🇰 Pakistan (PK) | — |
IBAN or account number + routing code
Send iban, or account_number + clearing_system_id. See the IBAN only or Account number + clearing system ID sample.
| Market | Routing code (clearing_system_id) |
|---|---|
| 🇬🇧 United Kingdom (GB) | Sort Code |
SWIFT/BIC + account number or account number + routing code
Send swift_bic + account_number, or account_number + clearing_system_id. See the SWIFT/BIC + account number or Account number + clearing system ID sample.
| Market | Routing code (clearing_system_id) |
|---|---|
| 🇮🇩 Indonesia (ID) | Bank Code |
| 🇰🇷 South Korea (KR) | Bank Code |
| 🇺🇾 Uruguay (UY) | Bank Code |
| 🇿🇦 South Africa (ZA) | Branch Code |
Markets with identity requirements
These markets require an identity document or number, and several vary by account holder type. See the SWIFT/BIC + account number + document and IBAN + document samples. Formats and field mappings are in Validation patterns.
| Market | Required fields | Identity document |
|---|---|---|
| 🇨🇳 China (CN) | swift_bic + account_number + document_idBusiness accounts only. | UCC |
| 🇸🇦 Saudi Arabia (SA) | Personal: iban + national_idBusiness: iban + document_idor iban + documentsBusiness name also required. | Personal: national_id, sent at the top level as individual.national_id (not inside account)Business: UNIFIED_NUMBER or COMMERCIAL_REGISTRATION |
| 🇧🇷 Brazil (BR) | iban + document_idor iban + documents | CPF or CNPJ |
| 🇨🇱 Chile (CL) | swift_bic + account_number + document_idor account_number + clearing_system_id + document_id | RUT |
| 🇨🇴 Colombia (CO) | swift_bic + account_number + document_idor account_number + clearing_system_id + document_id | Personal: CC (document_id)Business: NIT ( documents) |
| 🇪🇨 Ecuador (EC) | swift_bic + account_number + document_idor account_number + clearing_system_id + document_id | Personal: CC (document_id)Business: RUC ( documents) |
Validation patterns
Routing codes and documents must match these formats.
| Identifier / document | Where used | Format | Pattern |
|---|---|---|---|
| IFSC | India clearing_system_id | 4 letters + 7 alphanumeric | ^[A-Z]{4}[A-Z0-9]{7}$ |
| Sort Code | United Kingdom clearing_system_id | 6 digits | ^\d{6}$ |
| BSB | Australia clearing_system_id | 6 digits | ^\d{6}$ |
| Branch Code | South Africa clearing_system_id | 6 digits | ^\d{6}$ |
| Bank Code | Indonesia, South Korea, Uruguay, Colombia clearing_system_id | 3 digits | ^\d{3}$ |
| Bank Code | Ecuador clearing_system_id | 4 digits | ^\d{4}$ |
| UCC | China business document_id | 18 alphanumeric | ^[A-Za-z0-9]{18}$ |
| RUT | Chile document_id | 9 digits | ^\d{9}$ |
| CC | Colombia document_id | 6–10 digits | ^\d{6,10}$ |
| NIT | Colombia documents type | 6–10 digits | ^\d{6,10}$ |
| CC | Ecuador document_id | 10 digits | ^\d{10}$ |
| RUC | Ecuador documents type | 13 digits | ^\d{13}$ |
national_id | Saudi Arabia root field | 10 digits | ^\d{10}$ |
| UNIFIED_NUMBER | Saudi Arabia business document_id | 10 digits | ^\d{10}$ |
| COMMERCIAL_REGISTRATION | Saudi Arabia business documents type | 10 digits | ^\d{10}$ |
| CPF | Brazil document_id | ###.###.###-## | — |
| CNPJ | Brazil documents type | ##.###.###/####-## | — |
| Account number | Mexico account_number | 18 digits | ^\d{18}$ |
| Account number | Argentina account_number | 22 digits | ^\d{22}$ |
| Account number | Peru account_number | 20 digits | ^\d{20}$ |
| Account number (NUBAN) | Nigeria account_number | 10 digits | ^\d{10}$ |
Sample requests
Each supported market fits one of the field patterns below. The examples use the bank_account_validation workflow — replace it with your configured workflow name. Send the request to /api/evaluation with your API key as a Bearer token, exactly as for domestic requests.
IBAN only
Markets: BG, PK, GB, PL, AE, TR, and the EU markets (AT, BE, HR, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES).
{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Oliver",
"family_name": "Bennett",
"account": {
"country_code": "GB",
"account_type": "PERSONAL",
"iban": "GB28CITI04000198765432",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}curl --location 'https://riskos.sandbox.socure.com/api/evaluation' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Oliver",
"family_name": "Bennett",
"account": {
"country_code": "GB",
"account_type": "PERSONAL",
"iban": "GB28CITI04000198765432",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}'SWIFT/BIC + account number
Markets: VN, NG, NP, BD, GH, TZ, UG, MY, TH, and the alternate corridors for ID, ZA, KR, UY, PK.
{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Minh",
"family_name": "Tran",
"account": {
"country_code": "VN",
"account_type": "PERSONAL",
"swift_bic": "VTCBVNVX",
"account_number": "12345678900000",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}curl --location 'https://riskos.sandbox.socure.com/api/evaluation' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Minh",
"family_name": "Tran",
"account": {
"country_code": "VN",
"account_type": "PERSONAL",
"swift_bic": "VTCBVNVX",
"account_number": "12345678900000",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}'Account number only
Markets: MX, AR, PE.
{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Mateo",
"family_name": "Sosa",
"account": {
"country_code": "AR",
"account_type": "PERSONAL",
"account_number": "0170032450000643500000",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}curl --location 'https://riskos.sandbox.socure.com/api/evaluation' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Mateo",
"family_name": "Sosa",
"account": {
"country_code": "AR",
"account_type": "PERSONAL",
"account_number": "0170032450000643500000",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}'Account number + clearing system ID
Markets: IN, AU, and the alternate corridors for GB (Sort Code), ID (Bank Code), KR (Bank Code), UY (Bank Code), ZA (Branch Code).
{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Aarav",
"family_name": "Sharma",
"account": {
"country_code": "IN",
"account_type": "PERSONAL",
"account_number": "987654321001",
"clearing_system_id": "YESB0000002",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}curl --location 'https://riskos.sandbox.socure.com/api/evaluation' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Aarav",
"family_name": "Sharma",
"account": {
"country_code": "IN",
"account_type": "PERSONAL",
"account_number": "987654321001",
"clearing_system_id": "YESB0000002",
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}'SWIFT/BIC + account number + document
Markets: China (business), and the SWIFT/BIC corridors for CL, CO, EC.
{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"business": {
"name": "Beijing Sample Trading Co., Ltd.",
"account": {
"country_code": "CN",
"account_type": "BUSINESS",
"swift_bic": "ABOCCNBJ",
"account_number": "6212345678987654321",
"document_id": "91111111ABCXYZ1234",
"documents": [{ "type": "UCC", "value": "91111111ABCXYZ1234" }],
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}curl --location 'https://riskos.sandbox.socure.com/api/evaluation' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"business": {
"name": "Beijing Sample Trading Co., Ltd.",
"account": {
"country_code": "CN",
"account_type": "BUSINESS",
"swift_bic": "ABOCCNBJ",
"account_number": "6212345678987654321",
"document_id": "91111111ABCXYZ1234",
"documents": [{ "type": "UCC", "value": "91111111ABCXYZ1234" }],
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}'IBAN + document
Markets: BR, and SA.
{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Lucas",
"family_name": "Silva",
"account": {
"country_code": "BR",
"account_type": "PERSONAL",
"iban": "BR346074694805000010000000505",
"document_id": "555.555.056-56",
"documents": [
{ "type": "CPF", "value": "555.555.056-56" },
{ "type": "CNPJ", "value": "55.555.555/0056-56" }
],
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}curl --location 'https://riskos.sandbox.socure.com/api/evaluation' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{
"id": "123456",
"timestamp": "2025-05-18T02:09:25Z",
"workflow": "bank_account_validation",
"data": {
"individual": {
"given_name": "Lucas",
"family_name": "Silva",
"account": {
"country_code": "BR",
"account_type": "PERSONAL",
"iban": "BR346074694805000010000000505",
"document_id": "555.555.056-56",
"documents": [
{ "type": "CPF", "value": "555.555.056-56" },
{ "type": "CNPJ", "value": "55.555.555/0056-56" }
],
"account_inquiries": ["AVAILABILITY", "OWNERSHIP"]
}
}
}
}'Validation errors
International requests can return the following errors when a required field is missing or malformed.
| Scenario | Error message |
|---|---|
| A required country-specific field is missing | Missing required parameters for module: AccountIntelligence |
document_id value is invalid | Invalid documentId. Please resubmit the transaction with a valid documentId. |
documents type or value is invalid | Invalid documents. Please resubmit the transaction with valid documents. |
account_number is invalid | Invalid account number. Please resubmit the transaction using proper account number |
country_code is invalid | Invalid accountCountry. Please resubmit the transaction using ISO 3166-1 alpha-2 country codes only. |
account_type is invalid | Invalid accountType. Please resubmit the transaction using proper accountType |
clearing_system_id is invalid | Invalid clearingSystemId. Please resubmit the transaction using proper clearingSystemId |
swift_bic is invalid | Invalid bankIdentifierCode. Please resubmit the transaction with a valid bank identifier code. |
iban is invalid | Invalid internationalBankAccountNumber. Please resubmit the transaction with a valid international bank account number. |
national_id is invalid | Invalid nationalId. Please resubmit the transaction using proper nationalId |
| Country code is not supported | Invalid accountCountry. Please resubmit the transaction using supported account country. |
| A US account is sent to the international flow | Invalid accountCountry, Account Intelligence module only supported for US accounts |
Note: Error messages are returned by the underlying enrichment and reference the underlying field names. The response shape is the same as for domestic requests.
Boundary conditions
- Domestic vs. international routing: The account country determines how a request is processed. A missing, empty, or
UScountry routes to the domestic flow; a supported non-US country routes to the international flow. An unsupported country code returns a validation error. - Coverage varies by market: Verification depth and match rates depend on local data availability and the identifiers you provide.
- Premier is domestic only: Enhanced coverage through Account Intelligence Premier applies to United States accounts.
Related
- Account Intelligence Overview
- Integrate Account Intelligence
- Account Intelligence Troubleshooting & FAQs
Updated 3 days ago

