Recruitment & HR
South African ID validation for HR & recruitment
Stop mistyped ID numbers from reaching payroll, contracts, and access cards. CheckID checks structure and checksum in under a second. Continue with the screening your role requires.
Check one candidate ID free. No account required.
Where it fits in hiring
- Job application captures a 13-digit SA ID number
- CheckID checks the checksum, date and citizenship digit
- Invalid → candidate corrects it before onboarding
- Valid → continue to background or other checks if required
- Clean number reaches payroll / HRIS
Catch errors before payroll
Payroll and tax file rejections
Duplicate ATS records
Wasted screening spend
Two ways HR teams validate IDs
Use the web checker for one-off offer packs. Connect the API to reject invalid numbers inside the ATS.
Validate IDs inside an ATS
Batch-check candidate spreadsheets
POPIA considerations for candidate IDs
Minimise what you collect during applications
ID retention in your HRIS
What CheckID does not replace in HR
- Smart-card authenticity checks or proof that the candidate holds the ID
- Criminal, credit, or qualification background checks. See What a background check is — and is not
- Right-to-work, visa, or immigration status reviews
- Reference checks, psychometric tests, or interview scoring
Hiring use cases
Corporate HR operations
Recruitment agencies
Graduate and volume hiring
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.
Checks for hires and appointments
Once-off checks with a PDF report, for roles where more than a valid ID number matters.
API example
Example: validate a candidate ID from your ATS
After a candidate submits a 13-digit ID, your ATS can call the single-ID endpoint, then create the application only if isValid is true.
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.
# ATS webhook after a candidate submits an ID number
curl -s "https://api.checkid.co.za/api/v1/validate/8001015009087" \
-H "Authorization: Bearer YOUR_API_KEY"Pricing for recruitment and HR teams
Free checker for offer-pack spot checks. API Starter from R99/month for live ATS calls. Professional for bulk lists and team seats. Compare plans on CheckID pricing for API and bulk plans.
Guides HR teams actually use
Read about the checker, API, bulk validation and POPIA.
Frequently asked questions
Does CheckID confirm that a candidate is who they say they are?
Can we batch-check a candidate spreadsheet?
Does CheckID store candidate ID numbers?
Can we validate IDs inside our ATS?
Keep invalid IDs out of payroll
Check one number free, then automate the same check in your ATS.