BIN Lookup
Look up card metadata for any Bank Identification Number — scheme, card type, issuing bank, country, and more.
Overview
Use Cases
- Payment form validation and card brand display
- Fraud detection and risk scoring
- Checkout UX improvements (show card logo as user types)
- Geo-filtering based on card issuing country
- Fintech compliance and card acceptance rules
Features
6-digit and 8-digit BIN support (ISO 7812-1:2017)
500k+ BINs from multiple aggregated sources
Issuing bank name, URL, and phone number
Card scheme, type, level, and prepaid flag
Luhn prefix validation
Confidence score per record
API Endpoints
BIN Lookup
Returns card metadata for the given 6–8 digit BIN prefix.
GET
https://requiems.xyz/v1/finance/bin/{bin}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| bin | string |
Required | 6–8 digit Bank Identification Number. Dashes and spaces are stripped automatically. |
Try it out
Live DemoRequest
6–8 digit Bank Identification Number. Dashes and spaces are stripped automatically.
Sending request...
Response Fields
| Field | Type | Description |
|---|---|---|
| bin | string |
The normalised BIN prefix used for the lookup |
| scheme | string |
Card network: visa, mastercard, amex, discover, jcb, diners, unionpay, maestro, mir, rupay, private_label |
| card_type | string |
credit, debit, prepaid, or charge |
| card_level | string |
classic, gold, platinum, infinite, business, signature, or standard |
| issuer_name | string |
Name of the card-issuing bank |
| issuer_url | string |
Bank website URL |
| issuer_phone | string |
Bank customer service phone number |
| country_code | string |
ISO 3166-1 alpha-2 country code of the issuing bank (e.g. US, GB, DE) |
| country_name | string |
Full country name of the issuing bank |
| prepaid | boolean |
Whether the card is a prepaid card |
| luhn_prefix_valid | boolean |
Whether the BIN prefix (not a full card number) passes the Luhn algorithm check |
| confidence | number |
Data quality score (0.00–1.00). Multi-source confirmed records score higher. |
| data_freshness | string |
Year and month the underlying BIN data was last refreshed (YYYY-MM), based on the most recent seed run for this record |
Code Examples
curl https://requiems.xyz/v1/finance/bin/424242 \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://requiems.xyz/v1/finance/bin/424242"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
data = response.json()
print(data["data"]["scheme"]) # "visa"
print(data["data"]["issuer_name"]) # "Chase"
const response = await fetch('https://requiems.xyz/v1/finance/bin/424242', {
headers: {
'requiems-api-key': 'YOUR_API_KEY'
}
});
const { data } = await response.json();
console.log(data.scheme); // "visa"
console.log(data.issuer_name); // "Chase"
console.log(data.country_code); // "US"
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/finance/bin/424242')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)['data']
puts data['scheme'] # "visa"
puts data['issuer_name'] # "Chase"
Error Responses
bad_request
BIN is not 6–8 digits or contains non-digit characters.
not_found
BIN prefix not found in the database.
internal_error
Unexpected server error.
Frequently Asked Questions
A BIN (Bank Identification Number), also called an IIN (Issuer Identification Number), is the first 6–8 digits of a payment card. It identifies the card network (Visa, Mastercard, etc.), the issuing bank, the card type (credit/debit), and the country of issue.
Yes. The endpoint accepts 6–8 digit prefixes. For 8-digit inputs it tries an exact match first, then falls back to the 6-digit prefix if no 8-digit record is found.
The confidence field (0.00–1.00) reflects data quality. Records confirmed across multiple independent data sources receive a higher score. A score above 0.85 indicates high-confidence data with bank and country information verified from more than one source.
The Luhn algorithm is a checksum formula used to validate card numbers. The luhn_prefix_valid field runs this check on the BIN prefix (6–8 digits), not a full card number. It tells you whether the prefix has a structurally valid Luhn checksum — not whether a specific card number is real.
Not all BINs in the public dataset have associated bank name data. The confidence score will be lower for these records. Empty string fields indicate the data is not available for that BIN.