SA ID Verification API Developer Guide

Official documentation for integrating South African ID verification into your application

The Check ID API provides a simple and reliable way to verify South African ID numbers in your application, website, or service.

API Starter includes 1,000 single API calls per month. Professional and Business add bulk API access and team features, subject to our fair usage policy. A free test API key is available for development and testing purposes, without any subscription plan needed.

New to API integration? Check out our 5-minute integration tutorial with API examples in JavaScript, PHP, and Python. If you need the local algorithm first, see Validate a South African ID in JavaScript, Validate a South African ID in C#, Validate a South African ID in PHP, and Validate a South African ID in Python ID validation tutorials. The API works with any programming language.

Getting Started

1

Obtaining an API Key

Free Test API Key

Creating Your Own API Key

  1. 1.Log in to your Check ID account at checkid.co.za
  2. 2.Navigate to API Keys in your account dashboard
  3. 3.
    Choose between:
    • Test Key: Free for development (no charges)
    • Live Key: For production use
  4. 4.Click "Create API Key" and give it a descriptive name
  5. 5.

    IMPORTANT: Copy and save your API key immediately as it won't be shown again

2

API Endpoints

View complete API reference in Swagger or download the Postman collection for a quick start.

Base URL

https://api.checkid.co.za

Single ID Validation

This GET endpoint takes a single ID number as a path parameter and validates it.

GET /api/v1/validate/{idNumber}

Bulk ID Validation

This POST endpoint accepts up to 100 ID numbers in the request body and validates them simultaneously.

POST /api/v1/validate/bulk
3

Authentication

All API requests must include your API key in the Authorization header using Bearer token authentication:

Authorization: Bearer {{YOUR_API_KEY}}
4

API Response

Here's the exact response structure you'll receive for each ID verification:

{
  "idNumber": "8903075555083",
  "isValid": true,
  "dob": "1989-03-07T00:00:00",
  "age": 35,
  "gender": "M",
  "citizenship": "SA Citizen"
}

Note: For POST /api/v1/validate/bulk requests, the response will be an array of these objects.

Error Handling

Status CodeDescription
400 Bad RequestInvalid ID number format or request body
401 UnauthorizedMissing or invalid API key - check your Authorization header

Ready to integrate?

For complete API specifications and interactive testing, refer to our Swagger documentation.

View Complete API Documentation