Generate a check digit
API · /checkdigit-api
Check Digit API
Add and verify check digits with the standard algorithms — Luhn (mod 10), Verhoeff, Damm and ISO 7064 mod 97-10 — on any number. The generate endpoint returns the check digit(s) and the complete number; the validate endpoint tells you whether a number's check digit is correct. Luhn is the familiar mod-10 scheme behind credit cards, IMEI and many ID numbers; Verhoeff and Damm are single-digit schemes that also catch all adjacent-transposition errors; mod 97-10 produces two check digits and is the scheme used by IBAN. Perfect for generating and validating reference, account, membership and order numbers, and for data-entry integrity. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. Distinct from credit-card and barcode validators, which apply a fixed algorithm to one specific number format.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 83 ms
- Server probes · 24h
- Subscribers
- 3,905
- active
- Total calls
- 52
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 995 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 995 calls/month
- 2 req/sec
- Generate + validate
- No credit card
Starter
€0.35 /month
- 8,350 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 8.35k calls/month
- 8 req/sec
- Luhn + Verhoeff + Damm + mod97
- Email support
Pro
€20.25 /month
- 134,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 134.5k calls/month
- 20 req/sec
- ID / reference-number pipelines
- Priority support
Mega
€58.25 /month
- 710,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 710k calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Barcode & Standard-Code Validator API
Validate and work with product and publication codes. Check the check digit of any EAN-8, UPC-A, EAN-13, GTIN-14, ISBN-10, ISBN-13 or ISSN code — the type is detected automatically and you get back whether it is valid plus the expected check digit. Compute the missing check digit for a partial code, and validate or convert ISBNs between the 10- and 13-digit forms. Hyphens and spaces are ignored, so you can paste codes straight from a label or catalogue. Pure local computation — no key, no third-party service, instant. Live. 4 endpoints. Built for retail and inventory systems, e-commerce catalogues, publishing, library tooling and data validation. Distinct from barcode image generation, payment-card (Luhn) and IBAN checks.
api.oanor.com/barcodecheck-api
Credit Card API
A fast, fully-local payment-card toolkit: validate card numbers with the Luhn (mod-10) checksum, detect the brand by IIN/prefix (Visa, Mastercard including the 2-series, American Express, Discover, Diners, JCB, UnionPay, Maestro), format and mask numbers with brand-correct grouping, list supported brands with their valid lengths and CVV length, and generate synthetic Luhn-valid TEST card numbers for QA. Pure server-side compute, no third-party upstream, and inputs are never logged. It is algorithmic only (no real issuer/bank BIN-database lookup). Ideal for checkout forms, payment flows, fraud pre-checks and test fixtures.
api.oanor.com/creditcard-api
EU VAT ID Validator API
EU VAT identification number format validation as an API, computed locally and deterministically. The validate endpoint takes a VAT number, strips spaces, dots and hyphens, reads the two-letter country prefix and checks the remaining body against that member state’s official structure — Germany’s nine digits, Austria’s U-plus-eight, the Netherlands’ nine-digits-B-two, France’s two-character prefix plus nine digits, Italy’s eleven digits, and so on for all 27 EU countries plus Northern Ireland (XI), correctly using EL for Greece rather than GR. It returns whether the format is valid, the country, and the expected pattern, so DE123456789 and ATU12345678 pass while a German number with only eight digits or a US prefix is rejected. The format endpoint looks up the expected VAT pattern for any country code, or lists all supported ones. This is an offline structure check — a valid format does not prove the number is registered, for which a live VIES lookup is needed. Everything is computed locally and deterministically, so it is instant and private. Ideal for e-commerce, invoicing, accounting, B2B-checkout and tax-compliance app developers, VAT-field validation and onboarding tools, and finance software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 2 endpoints. This validates VAT-number format; for VAT tax rates use a VAT/tax API.
api.oanor.com/vatid-api
SWIFT/BIC Validator API
SWIFT/BIC business-identifier-code validation and parsing as an API, computed locally and deterministically. The validate endpoint checks that a code follows the ISO 9362 BIC structure — four letters for the institution, a two-letter ISO country code, a two-character location code and an optional three-character branch code, eight or eleven characters in total — ignoring spaces and upper-casing the input, and confirms the country code is a recognised one; DEUTDEFF (Deutsche Bank, Frankfurt) is a valid eight-character head-office BIC and DEUTDEFF500 a valid eleven-character branch BIC. The parse endpoint breaks a BIC into its institution, country, location and branch components, reports whether it is a head office or a branch (branch XXX or none means the head office), and reads the status from the location code’s second character — 0 for a test/non-SWIFT code, 1 for a passive participant and 2 for reverse billing. A BIC carries no checksum, so this is structural validation. Everything is computed locally and deterministically, so it is instant and private. Ideal for fintech, banking, payment, KYC, treasury and accounting app developers, SWIFT-code and bank-identifier tools, and onboarding flows. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 2 endpoints. This validates and parses a BIC; for IBAN account-number validation use an IBAN API.
api.oanor.com/bic-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Check Digit API?
What's the rate limit for Check Digit API?
How much does Check Digit API cost?
Can I cancel my subscription anytime?
Is Check Digit API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/checkdigit-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/checkdigit-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/checkdigit-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/checkdigit-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.