Bulk Card Number Validator (Luhn), Offline avatar

Bulk Card Number Validator (Luhn), Offline

Pricing

$4.00 / 1,000 card number checkeds

Go to Apify Store
Bulk Card Number Validator (Luhn), Offline

Bulk Card Number Validator (Luhn), Offline

Check card numbers against the Luhn checksum and detect the network (Visa, Mastercard, Amex, Discover, Diners, JCB) from the prefix. 100% offline: the number stays in memory and never reaches the output or the logs, only a masked form. Checksum only, not an authorization.

Pricing

$4.00 / 1,000 card number checkeds

Rating

0.0

(0)

Developer

Comall Agency

Comall Agency

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Card Number Validator (Luhn) — 100% Offline

Catch a mistyped card number before it becomes a failed charge. This Actor runs the Luhn checksum over a batch of card numbers and identifies the likely card network from the number pattern.

100% offline: no external call, and the number itself never leaves the run. The full number is used in memory for the one checksum computation and is never written to the output, the dataset or the logs — only a masked form (first six digits, last four, PCI-style display masking) is ever returned.

What it does

For each number you send, it:

  1. Strips spaces and dashes, then checks the result is 8 to 19 digits.
  2. Runs the Luhn checksum (the standard mod-10 algorithm used by essentially every card issuer to catch single-digit typos and most digit transpositions).
  3. Detects the network from the prefix and length: Visa, Mastercard, American Express, Discover, Diners Club, JCB.
  4. Returns a verdict: valid, invalid_luhn, invalid_format, or unknown_network (checksum passes but the prefix matches no known network).

Use cases

  • Checkout forms — an independent server-side double-check before you send a charge to your payment processor and pay for a declined attempt.
  • Support and ops tooling — bulk-verify numbers pulled from a ticket or a spreadsheet without pasting them into a random website.
  • Test-data hygiene — confirm your test card numbers are well-formed and map to the network you think they do.

Input

{ "numbers": ["4111111111111111", "5500 0055 5555 5559", "3714-496353-98431"] }

Spaces and dashes are ignored, so you can paste numbers in whatever shape your source system produced them.

Output (one row per number)

{
"input_masked": "411111******1111",
"valid_format": true,
"valid_luhn": true,
"network": "Visa",
"length": 16,
"verdict": "valid",
"checked_at": "2026-08-28T17:00:00.000Z"
}

Note what is not in that output: the number you sent.

Pricing

Pay-per-event: $0.004 per card number checked, charged once a completed check is produced, whatever the verdict.

Limitations — read this before you buy

Format and checksum validation only.

  • It does not tell you whether the card is active, funded, or reported stolen. Only the issuer can answer that, and only through a real authorization.
  • A valid verdict means "this number is well-formed and passes Luhn", which is exactly what you want in a form-validation step and nothing more.
  • Network detection follows publicly documented prefix ranges; a card from a network outside the six listed returns unknown_network rather than a guess.

Privacy

Use test numbers whenever you can. If you do send real numbers, the run's own dataset stores only the masked form shown above — but the values you type still travel to the platform as run input, so treat this like any other tool you paste sensitive data into.

FAQ

Why is my valid card reported unknown_network? The checksum passed but the prefix is outside the six networks recognised here. The number is still well-formed.

Part of the same family of small, single-purpose checkers on this account — each does one thing, priced per item checked: