GET /bin/{bin}

BIN lookup API

A card prefix in. Issuer details out.

Try it

Example response/bin/437374
{
  "bin": "437374",
  "prefix": "437374",
  "country": "VN",
  "issuer": "UOB",
  "brand": "visa",
  "type": null,
  "prepaid": null
}

One pooled request. Every plan.

What comes back.

bin

Supplied 6-11-digit card prefix with spaces and hyphens removed. Leading zeros are preserved

prefix

Longest recorded prefix matching the start of bin, or null when unknown. May be shorter than the supplied input

country

Recorded card-issuer country as an ISO 3166-1 alpha-2 code, or null when unavailable

issuer

Recorded issuer name, or null when unavailable

brand

Recorded card network or co-branded combination, or null when unavailable

type

Recorded card type, such as credit, debit, or charge, or null when unavailable or mixed

prepaid

true or false only when known. null means prepaid status is unavailable

1

Pass the prefix

Send the first 6 to 11 digits. Spaces and hyphens are removed. Keep leading zeros as part of the string.

2

Read the match

Get the issuer, country, brand, type, and prepaid status when known. The returned prefix shows how many digits matched.

3

Use the details

Add issuer, country, and card type to your checkout or payment records.

Coverage

Card issuer, brand, and type by prefix. The returned prefix shows the precision of each match.

Pass the first 6 to 11 digits of a card number. Get the issuer, country, brand, card type, and prepaid status when known. The response includes the exact prefix that matched.

Measured response times and live API status

Start with the prefix.

Card issuer, brand, and type when known. Every plan.

Start includes 1M API requests a month for $20/mo.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/bin/437374" \
  -H "X-API-Key: YOUR_API_KEY"
// Example response · 200
{
  "bin": "437374",
  "prefix": "437374",
  "country": "VN",
  "issuer": "UOB",
  "brand": "visa",
  "type": null,
  "prepaid": null
}

API referenceSDKsKeys and authentication

Every response field

Response fields

bin
Supplied 6-11-digit card prefix with spaces and hyphens removed. Leading zeros are preserved
prefix
Longest recorded prefix matching the start of bin, or null when unknown. May be shorter than the supplied input
country
Recorded card-issuer country as an ISO 3166-1 alpha-2 code, or null when unavailable
issuer
Recorded issuer name, or null when unavailable
brand
Recorded card network or co-branded combination, or null when unavailable
type
Recorded card type, such as credit, debit, or charge, or null when unavailable or mixed
prepaid
true or false only when known. null means prepaid status is unavailable

QUESTIONS

What is the difference between BIN and IBAN?
A BIN or IIN identifies a payment-card prefix. An IBAN is an international bank account number used for transfers. Use /iban for bank-account format and checksum validation.
Can I use six- or eight-digit prefixes?
Yes. Send 6 to 11 digits as a string. Spaces and hyphens are removed. The API returns the longest actual matching prefix, which may be shorter than the input. Leading zeros are preserved.
What does the matched prefix tell me?
All returned details belong to that one matched record. If an eight-digit record matches, its null fields stay null. They are not filled from a broader six-digit record.
What happens when a prefix is unknown?
The API returns HTTP 200 with your normalized bin, prefix: null, and null issuer, country, brand, type, and prepaid fields. Unknown does not mean the card is invalid.
Does a match mean the card is active?
No. This lookup returns recorded prefix information. It does not check account activity, card ownership, available funds, or payment acceptance.
What does a lookup cost?
One pooled request on every plan, including Free. There is no separate lookup charge. deep=true adds an empty deep object with no additional fields.