Licensed betting & gaming
SA ID age validation for betting & gaming
The first six digits of an SA ID encode date of birth. CheckID returns age and validity in under a second so you can block under-18 encodings before activating an account. CheckID does not store the number.
Test one player ID free. No credit card required.
Where it fits in registration
- Player enters a 13-digit SA ID at sign-up
- CheckID structural validation + encoded age
- Invalid or under 18 → reject the registration
- Valid and 18+ → continue to your KYC/document steps if required
- Then allow deposit or play, per your licence rules
Block under-18 encodings before the first deposit
National Gambling Act age rule
Fits into FICA workflows
Invalid or mistyped IDs in the queue
How age verification works in the product
Your platform calls the single-ID endpoint, reads age and isValid, and applies your own 18+ rule. Players enter their ID number. This step does not require a selfie.
Registration and first-deposit API
Compliance-ops web checks
POPIA considerations for wagering KYC
Avoid extra copies of player IDs
Your licence still governs retention
What CheckID does not replace for operators
- Home Affairs verification or proof that the player is the lawful holder
- A full FICA/KYC programme, source-of-funds, or enhanced due diligence
- Self-exclusion registers, affordability, or responsible-gambling tools
- Age checks for non-South African identity documents
Where operators use CheckID
Online sportsbooks
Online casinos and poker
Lottery and competition platforms
Need to confirm who an ID number belongs to?
Check an ID number and name against Home Affairs records for R39.90. For applicant, tenant and customer checks. A match emails you the details as a PDF, and you get a full refund if the name does not match.
Checking a company, not a person?
Look up a South African company by registration number against CIPC records, for R299. For supplier, tenant and counterparty checks. You get a PDF by email and a full refund if the company is not on the register.
API example
Example: reject under-18 registrations
Your registration service can call the single-ID endpoint, then refuse the account when age is under 18 or isValid is false.
8001015009087 is the public sample ID used across CheckID docs, not a live customer number. Replace YOUR_API_KEY with a key from your dashboard. See the South African ID validation API and 5-minute South African ID validation API tutorial.
# Player registration: block under-18 encodings before wallet create
curl -s "https://api.checkid.co.za/api/v1/validate/8001015009087" \
-H "Authorization: Bearer YOUR_API_KEY"Pricing for betting and gaming platforms
Free checker for compliance spot checks. API Starter from R99/month for live registration calls. Professional for bulk player-base backfills and team seats. Compare CheckID pricing for API and bulk plans.
Operator reading list
Read about age checks, checksums, the bulk API and POPIA.
Frequently asked questions
Does CheckID confirm that an ID number belongs to a real person?
Does this make an operator FICA or licence compliant?
Does CheckID store player ID numbers?
Can we verify non-South African players?
Start checking encoded player age
Test one ID free, then automate the same structural age gate in registration.