Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including binlookup with all npm packages installed. Try it out:

var binlookup = require("binlookup")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

binlookup v2.0.1

Look up BIN/IIN numbers using

BIN/IIN look up

Lookup card BIN numbers using

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: '',
        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 ){


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free