Look up BIN/IIN numbers using binlist.net
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore v0.0.1 Mar 14, 2015
.npmignore update .npmignore Feb 7, 2016
CHANGELOG.md 2.0.1 Apr 28, 2017
README.md Rewrite Apr 24, 2017
index.js Add client version header Apr 28, 2017
package.json 2.0.1 Apr 28, 2017
test.js Rewrite Apr 24, 2017


BIN/IIN look up

Lookup card BIN numbers using https://www.binlist.net

IIN (Issuer Identification Number) is the more modern name.

Useful for querying information from a credit card such as:

  • brand (Visa, MasterCard, American Express, etc.)
  • expected card number length and LUHN algorithm support
  • type (debit or credit)
  • category (prepaid or classic)
  • country
  • issuing bank

What is a BIN?

The BIN is the first digits of a card number: 0000 0000 **** ****. You can pass any card number prefix of 4-9 digits. More numbers will return more information.


Works in browser environments using Browserify or similar.

var lookup = require('binlookup')();

// using callbacks
	function( err, data ){

// using promises
	data => console.log(data));

Example data returned:

	number: {
		length: 16,
		luhn: true
	scheme: 'visa',
	type: 'debit',
	brand: 'Visa/Dankort',
	prepaid: false,
	country: {
		numeric: '208',
		alpha2: 'DK',
		name: 'Denmark',
		emoji: '🇩🇰',
		currency: 'DKK',
		latitude: 56,
		longitude: 10
	bank: {
		name: 'Jyske Bank',
		url: 'www.jyskebank.dk',
		phone: '+4589893300',
		city: 'Hjørring'


You can cache the response using AsyncCache or similar:

var lookup = require('binlookup')();
var AsyncCache = require('async-cache');

var cache = new AsyncCache({
	load: lookup,

cache.get(bin, function( err, data ){