Get a free API key

Sign up for the free BIN lookup API. It takes about 15 seconds.

The free tier includes 100 lookups for the first month. After that, top up your balance to keep the service running. Already have an account? Sign in.

BIN lookup API

A free REST API that returns the scheme, card type, category, issuing bank and country for a card BIN / IIN. One endpoint, JSON in and out, no SDK required. Get a free key to start.

Base URL
https://api.bintable.com/v1
Auth
api_key query parameter
Methods
GET or POST
BIN length
6 to 11 digits

Authentication

Pass your key as the api_key query parameter on every request. There are no other headers to set. Your key appears here once you are signed in.

Each successful /v1/{BIN} call spends one lookup from your balance. /v1/balance is free. Keep your key server side.

Make a request

GET https://api.bintable.com/v1/{BIN}?api_key=…

curl "https://api.bintable.com/v1/403244?api_key=YOUR_API_KEY"

Response

A successful lookup returns HTTP 200 with:

{
  "result": 200,
  "message": "SUCCESS",
  "data": {
    "card":    { "scheme": "Visa", "type": "Debit", "category": "Classic", "length": 16, "checkluhn": 1, "cvvlen": 3 },
    "country": { "name": "Egypt", "code": "eg", "flag": "🇪🇬", "currency": "Egyptian pound", "currency_code": "EGP" },
    "bank":    { "name": "ARAB INTERNATIONAL BANK", "website": "http://www.aib.com.eg", "phone": "23918794" }
  }
}
FieldTypeNotes
card.scheme string Visa, Mastercard, Mada, and so on.
card.type string Debit, Credit, Charge card. Empty if unknown.
card.category string Classic, Gold, Corporate. Empty if unknown.
card.length int Full PAN length. -1 when not known.
card.checkluhn int 1 if the PAN is Luhn checked, else -1.
card.cvvlen int CVV length, or -1.
country.name string Issuing country.
country.code string Lowercase ISO 3166-1 alpha-2.
country.flag string Emoji flag, or empty.
country.currency string Currency name.
country.currency_code string ISO 4217 code.
bank.name string Issuing bank.
bank.website string Lowercased, may be empty.
bank.phone string May be empty.

Balance endpoint

GET https://api.bintable.com/v1/balance?api_key=… returns your remaining lookups and key expiry. It does not spend a lookup.

{ "result": 200, "message": "SUCCESS", "data": { "balance": 4870, "expiry_date": "2026-10-01" } }

Errors

result mirrors the HTTP status. The body always has result, message and data.

HTTPmessageWhen
401 Invalid API Key Key is wrong or unknown.
401 Your balance is exhausted No lookups left. Top up on the boost page.
401 Your package has expired Key is past its expiry date.
401 Your account has been blocked due to suspicious activity Contact support.
404 NOT FOUND BIN is not in the database.
422 API key is missing No api_key parameter.
422 Missing BIN value No BIN in the path.