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://api.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 | boolean |
Whether the BIN prefix passes the Luhn algorithm check |
| confidence | number |
Data quality score (0.00β1.00). Multi-source confirmed records score higher. |
Code Examples
curl https://api.requiems.xyz/v1/finance/bin/424242 \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://api.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://api.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://api.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 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.