Visa BIN Attribute Sharing Service

How to Use Visa BIN Attribute Sharing Service

Using Full BIN List

The Full BIN List API allows an entity to request a full file list of issuer BIN Attributes. There are three levels of access to Full BIN List API. 

Level 1—Basic Level : This is the only subscription option that has no program fees and does not require registration, except for a relevant VDP Agreement and applicable onboarding fees.

Level 2 - Advanced and Level 3 - Complete : Both levels require registration to VBASS and are subject to approval and pricing. Eligible participants will be notified by Visa about the approved level of access in response to a successful registration with the Visa BIN Attribute Sharing Service (VBASS) program.

 

ATTRIBUTE LEVEL 1 - Basic LEVEL 2 - Advanced LEVEL 3 - Complete Description
Issuer BIN Yes Yes Yes Bank Identification Number (BIN) of the issuer of the account.
Account Range Minimum/Maximum Yes Yes Yes  
PAN/Token Indicator   Yes Yes Indicates if Pan or Token number
Issuer Billing Currency   Yes Yes Card issuance currency
Issuer Country Code   Yes Yes Card issuance country
Product Platform   Yes Yes Indicates if consumer BIN or commercial BIN
Product ID/Name   Yes Yes Indicates type of Visa product (e.g., Visa Signature, Visa Infinite, Visa Classic)
Account Funding Source   Yes Yes Indicates if credit, debit or prepaid
Account Funding Source Subtype     Yes Indicates if reloadable or non-reloadable prepaid
Issuer Name     Yes Name of the Card issuer



For the Full BIN list, client application can retrieve the full list by paginating through the BIN Range dataset using the combination of binRangeSearchIndex and binRangeCount fields in the API request. The parameter “binRangeSearchIndex” is a mandatory parameter, for the first API call this should be set to 0. The other parameter binRangeCount is also mandatory and is set to 500 [DS1] which represents the number of results returned on every API call. The client application starts with binRangeSearchIndex=0 and binRangeCount=500.

 

The additional attributes listed below are included in the Full BIN List API result-

  • totalRecordCount indicates the total number of records available
  • numRecordsReturned indicates the number of records returned on the current call 
  • areNextOffsetRecordsAvailable if set to Y indicates there are more records available and if set to N indicates no more records available to retrieve 

The client application will need to make multiple calls via the Full BIN List API until all the records are received, that is until areNextOffsetRecordsAvailable is returned as N. The value of binRangeSearchIndex for each iteration should be binRangeSearchIndex + binRangeCount from previous request . The response field totalRecordsCount can be leveraged to determine the number of iterations of API calls that may be needed to fetch all the BIN Range Data.

 

Below is an example of the first 3 calls for the Full BIN List API-

First Full BIN List API call - 

  "requestData": {

    "binRangeSearchIndex": 0,

    "binRangeCount": 500

  }

Second Full BIN List API call - 

  "requestData": {

    "binRangeSearchIndex": 500,

    "binRangeCount": 500

  }

Third Full BIN List API call - 

  "requestData": {

    "binRangeSearchIndex": 1000,

    "binRangeCount": 500

  }

Note: In sandbox environment the response on Full BIN List API will list attributes from Level 3 - Complete,  but the API response in production will reflect only the attributes for the level the client is registered and approved. Data returned in sandbox is not actual data.

 

Using Single BIN Lookup

This API allows client application to request issuer BIN attribute data on an account-by-account basis. This API provides Level 3 attributes by default and includes Account Level Product Information for product ID, as provided by participating issuers.

To request BIN attributes associated with the paymentAccount input, the following parameters are mandatory:

  • paymentAccount (input for BIN, Account Range, PAN, Token) and
  • paymentAccountType (P for PAN or T for Token)

Parameter paymentAccount accepts a minimum of 13 digits and a maximum of 21 digits. To lookup 6 or 8-digit BINs and 9-digit account ranges, please add 0s to make the paymentAccount input at least 13 digits. For example: if BIN is 425907, then the paymentAccount parameter should be 4259070000000.

 

Below are sample paymentAccount and paymentAccountType values that can be used in the request for Single BIN Lookup API in sandbox environment-

paymentAccount paymentAccountType
4259077000001230 P
4259078000000010 P
4259079000000020 P
4001510050000030 T
4001510060000040 T
4001510070000050 T

 

The results returned for Single BIN Lookup API will list the attributes as listed in the above table under Level 3 - Complete. Since the attributes are listed for a specific account, it will not show the Account Range Minimum/Maximum value in the result. Data returned in sandbox is not actual data.

Note for Account Level Product Information:  Certain Issuers set product ID at the account level vs. the BIN or account range level.  When looking for the exact product ID of a particular PAN, the full complete account number must be submitted or the product ID may not match. The API solution is unable at this time to provide account level product information for tokens, but will be updated in a future API release.

 

Authentication:

The Single BIN Lookup API requires the API caller to enable Message Level Encryption as a part of the implementation. 

The access and use for both the Full BIN List API and the Single BIN Lookup API require the participant to be sponsored by a participating Visa licensed Acquirer or Issuer [CS1] and is subject to approval by Visa for permissible use cases only. Payment Card Industry Data Security Standard (PCI DSS) compliance is required of all entities that store, process, or transmit Visa cardholder data, including financial institutions, merchants and service providers. The utilization of Single BIN Lookup API requires the participant to be PCI DSS compliant.

The technical details can be found on the API Reference. A complete listing of all of these code values and their names is in the Request and Response Code Reference.