Batch CSV (Dashboard)

Upload a CSV of BINs in the dashboard and download the same file enriched with a full lookup for every row — scheme, funding, issuer, country, currency, and card flags. No code, no API key, no integration work.

This is the no-code counterpart to POST /v1/bins: same 2,000-row cap, same data, same quota accounting.

Availability

Batch CSV is included in the BLAPI-500KPM plan ($100/month). See Plans & Quotas for the full comparison.

Test-mode organisations always have access and receive mock data, so you can try the workflow before subscribing. Test mode has a 500-lookups/day limit, so a test file larger than 500 rows is rejected on quota.

Any member of the organisation can use the page — no specific role is required.

Running a Batch

  1. Sign in to the dashboard and open Batch in the navigation.
  2. Check the remaining daily quota shown on the page — the whole file must fit in it.
  3. Choose your CSV file and press Process CSV.
  4. The enriched file downloads automatically, named <your-file>-enriched.csv. A summary line reports how many rows were found, not found, and invalid, with a Download again button.

The result is held in the browser only — it is not stored on our servers, and leaving the page discards it.

Preparing Your File

RuleDetail
File size1 MB maximum
RowsUp to 2,000 data rows
ColumnsExactly one — one BIN per line
HeaderOptional. A non-numeric first row (for example bin) is treated as a header and not looked up
EncodingUTF-8; a leading byte order mark is stripped automatically
Line endingsLF, CRLF, and CR are all accepted
Blank linesIgnored, including trailing ones
QuotingA fully quoted single cell is accepted ("400062"), with "" as an escaped quote

Each value follows the same rules as the single-lookup endpoint: 6 to 11 digits, from 100000 to 99999999999. Leading zeroes are not significant — 0400062 is looked up as 400062, though the bin column echoes exactly what you submitted.

Do not upload full card numbers. Values longer than 11 characters are redacted before anything is written or logged — see Card Number Redaction.

Example Input

bin
400062
99999999
invalid
4242424242424242

Output Columns

The downloaded CSV always has these 15 columns, in this order:

bin,scheme,funding,brand,category,country_code,country_name,issuer_name,issuer_website,issuer_phone,currency,prepaid,commercial,longer_bin_available,error
ColumnDescription
binThe value you submitted, echoed back
schemeCard scheme, lowercase — visa, mastercard, amex, …
fundingcredit, debit, prepaid, or unknown
brandCard brand as issued, for example VISA
categoryCard level — CLASSIC, SIGNATURE, BUSINESS, …
country_codeISO 3166-1 alpha-2 country code
country_nameIssuing country name
issuer_nameIssuing bank
issuer_websiteIssuer website, when known
issuer_phoneIssuer phone number, when known
currencyISO 4217 currency code for the issuing country
prepaidtrue or false
commercialtrue or false
longer_bin_availabletrue when the dataset holds more specific records for a longer version of this BIN — resubmit with more digits for finer data
errorEmpty on success, otherwise NOT_FOUND or BAD_REQUEST

Fields with no value in the dataset come back as empty cells.

Example Output

bin,scheme,funding,brand,category,country_code,country_name,issuer_name,issuer_website,issuer_phone,currency,prepaid,commercial,longer_bin_available,error
400062,visa,debit,VISA,SIGNATURE,AE,UNITED ARAB EMIRATES,EMIRATES NBD BANK (P.J.S.C.),http://www.emiratesnbd.com/en/,+971800456,AED,false,false,true,
99999999,,,,,,,,,,,,,,NOT_FOUND
invalid,,,,,,,,,,,,,,BAD_REQUEST
[REDACTED],,,,,,,,,,,,,,BAD_REQUEST

Row Errors

Rows are never dropped or reordered: the output has exactly one row per input row, in the order you submitted them. A row that could not be resolved carries an error code and leaves the remaining columns empty.

Error CodeCause
NOT_FOUNDThe BIN is valid but not in the dataset
BAD_REQUESTThe value is not a valid BIN — non-numeric, fewer than 6 digits, or more than 11

Card Number Redaction

A value longer than 11 characters could be a full card number. It is replaced with [REDACTED] in the bin column and marked BAD_REQUEST. The original value is never written to the output file or to your request log.

Quota Accounting

Every data row counts as one lookup against the daily quota — including rows that come back NOT_FOUND or BAD_REQUEST. A 2,000-row file uses 2,000 lookups.

Booking is all-or-nothing. If the file does not fit in the organisation’s remaining daily quota, nothing is charged, no request-log entry is created, and the page reports how many lookups the file needs against how many remain:

Daily quota exceeded: this file needs 2,000 lookups but only 340 remain today (limit 10,000).

Split the file and retry, or wait for the reset at midnight UTC. See Plans & Quotas for daily limits.

A successful run appears as a single entry in Usage, with the row count as its unit total.

Upload Errors

The whole file is rejected — and nothing is charged — when it fails validation:

MessageCause
The CSV file must be 1 MB or smallerThe file exceeds the 1 MB upload limit
The CSV file is emptyThe chosen file has no content
CSV contains no data rowsThe file holds only a header, or only blank lines
CSV has more than 2,000 data rowsThe row cap is exceeded, counted after any header
line 12 has multiple columns; upload a single-column CSVAn unquoted comma on that line — export a single column
line 12 has malformed quotesAn unterminated quote or text after the closing quote on that line

Line numbers refer to physical lines in the uploaded file, so they match what your editor shows.

When to Use the API Instead

Batch CSVPOST /v1/bins
InterfaceDashboard uploadHTTP request
Per run2,000 BINs2,000 BINs
OutputCSV download, 15 flat columnsJSON, one result object per BIN
AutomationManualScriptable, schedulable
Best forOne-off enrichment, spreadsheet work, analyst workflowsPipelines, recurring jobs, application code

Both consume the same quota at the same rate, and both are on BLAPI-500KPM.

Next Steps