BIN Database
3,314,356 BIN records covering 231 countries and every major card network — the maintained BIN list behind the API. Query any record directly:
At a Glance
Granularity
Most freely available BIN lists are 6-digit only. That was the standard until 2017 and the networks completed the move to 8 digits in April 2022. How deep a dataset goes determines whether it can answer correctly at all:
| Prefix length | Share of records |
|---|---|
| 6 digits | 11.3% |
| 8 digits | 15.6% |
| 9 digits | 44.3% |
| 10 digits | 28.2% |
| 11 digits | 0.5% |
Around 6.6% of records — roughly 220,000 — resolve to a different issuer, country, or funding type at 8 digits than at 6. A 6-digit-only dataset returns the wrong answer for all of them and gives you no way to detect it.
Coverage by Network
| Network | Records | Share |
|---|---|---|
| Visa | 1,611,687 | 48.8% |
| Mastercard | 1,469,935 | 44.5% |
| Diners Club International | 43,319 | 1.3% |
| Maestro | 20,558 | 0.6% |
| UnionPay | 20,398 | 0.6% |
| American Express | 19,983 | 0.6% |
| Private label | 18,199 | 0.6% |
| Discover | 17,516 | 0.5% |
| Mastercard / UnionPay | 17,498 | 0.5% |
| EBT | 15,963 | 0.5% |
| JCB | 9,572 | 0.3% |
| Elo | 8,955 | 0.3% |
| RuPay | 6,382 | 0.2% |
| UATP | 5,599 | 0.2% |
| Cirrus | 4,655 | 0.1% |
Also held: Visa/UnionPay, Visa/Dankort, Discover/RuPay, girocard, and further regional schemes. See BIN range lookup for prefix ranges.
Coverage by Country
Top markets by record count, of 231 countries held:
| Country | Code | Records |
|---|---|---|
| United States | US | 1,106,754 |
| Japan | JP | 154,828 |
| United Kingdom | GB | 102,782 |
| Ireland | IE | 73,020 |
| Canada | CA | 63,600 |
| Brazil | BR | 60,121 |
| Russia | RU | 59,466 |
| Norway | NO | 59,434 |
| China | CN | 58,667 |
| India | IN | 52,575 |
| Germany | DE | 48,700 |
Fields on Every Record
Each record carries the card scheme, funding type, card level, issuing institution with website and phone where held, country in ISO alpha-2 and alpha-3, ISO 4217 currency, expected card number length, and commercial and prepaid flags.
Completeness is uneven and we report it rather than paper over it: 5.9% of records have no
issuer name, 4.6% no card level, 2.0% no funding type, and 1.4% no country. Where a field
is unknown the API returns null. It does not guess, because a guessed issuer
is worse than an admitted gap.
Freshness
A BIN dataset decays. Issuers acquire and merge, ranges are reassigned, products are withdrawn. A list that only ever grows accumulates records naming institutions that no longer hold the range.
We ship on two cadences:
| Cadence | What ships |
|---|---|
| Weekly | Minor updates — newly issued ranges and corrections to existing records. |
| Every 4 weeks | Major refresh — the full pass, including retirement of withdrawn records. |
Both are published to the changelog, retirements included, so you can see exactly what moved and when. The most recent: A major refresh of the BIN database: 25,992 BINs added, 44,668 updated, and 12,140 retired records removed, bringing the dataset to 3,314,356 BINs.
Looking for a BIN List to Download?
Most "free BIN list" downloads are 6-digit CSVs that stopped being maintained years ago. They name issuers that no longer hold the range, miss every 8-digit subdivision, and carry no funding type, level, or currency. If you need the data in bulk, there are two supported routes:
- Upload a CSV of BINs in the dashboard and download it back enriched with every field on this page — up to 2,000 rows per file.
-
Call
POST /v1/binswith up to 2,000 BINs per request and get the same records as JSON.
Both use the live dataset, so retired ranges drop out and new ones appear on the same schedule as the changelog. For background on how the prefixes are structured, see what a BIN number is.
How to Access It
There is no bulk export or database dump. Access is through the API:
- Single lookup —
POST /v1/bin, 6 to 11 digits, on every plan including the free tier - Batch —
POST /v1/bins, up to 2,000 BINs per request on BLAPI-500KPM - CSV upload — batch enrichment from the dashboard on the same plan
That is a deliberate design choice, and it benefits both sides. You always read the current dataset rather than a snapshot that started decaying the day it was generated, and retirements reach you rather than sitting in a file you refresh once a year.
FAQ
- How many BINs are in the database?
- 3,314,356 records covering 231 countries and every major card network. About 88.7% are held at finer than 6-digit granularity, which is what allows accurate 8-digit and longer lookups.
- Can I download the BIN database as a CSV?
- No. There is no bulk export or database dump. Access is through the API — single lookups, or batch requests of up to 2,000 BINs on the BLAPI-500KPM plan, plus CSV upload in the dashboard. This keeps the data accurate and attributable, and means you are always reading the current version rather than a stale snapshot.
- How often is the BIN database updated?
- Minor updates ship weekly, and a major database refresh ships every four weeks. Weekly updates cover newly issued ranges and corrections; the four-weekly refresh is the larger pass that also retires withdrawn records. Retirement matters as much as addition, because a stale BIN list names issuers that no longer hold the range. Every refresh is published to the changelog.
- How complete are the records?
- 92.8% of records are complete across issuer, scheme, funding type, card level, and country. Where a field is genuinely unknown the API returns null rather than a guess — 5.9% of records have no issuer name, and we would rather tell you that than invent one.
- Is there a free tier?
- Yes — 10 real lookups per day against production data, no credit card required. Test mode includes every paid feature so you can build a full integration before paying.
- What is the difference between a BIN list and a BIN database?
- A BIN list is usually a flat file of prefixes mapped to a bank name, often years old and 6-digit only. A maintained database holds funding type, card level, country, currency, commercial and prepaid flags, and sub-6-digit granularity — and it removes retired ranges. On a subdivided range, a 6-digit list gives the wrong issuer with no indication anything is wrong.