Saudi ID Validation API
Validate Saudi National IDs and Iqama numbers with age estimation, generation labeling, and issuing authority metadata. Supports single GET and batch POST (up to 100 IDs).
/api/v1/validation/saudi-idTry it out
/api/v1/validation/saudi-idParameters
Code
curl -X GET "https://khaleejiapi.dev/api/v1/validation/saudi-id?id=1012345678" \ -H "Authorization: Bearer your_api_key"Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | Required | 10-digit Saudi ID number (GET) |
| ids | string[] | Required | Array of IDs for batch validation (POST, max 100) |
Response Fields
valid, type, typeAr
Boolean validity and ID type (national_id or iqama) in English and Arabic
nationality, nationalityAr
Nationality inference: Saudi for national IDs (prefix 1), non-Saudi for Iqama (prefix 2)
details
Parsed components: prefix, birth year (Hijri/Gregorian), estimated age, generation label, serial part, and check digit
authority
Issuing authority: National Information Center (NIC) with name in English/Arabic and URL
Rate Limits
| Plan | Requests/Month | Rate Limit |
|---|---|---|
| Free | 1,000 | 10 req/min |
| Starter | 10,000 | 60 req/min |
| Professional | 100,000 | 300 req/min |
| Business | 500,000 | 1,000 req/min |
Debugging & Support
Include X-Request-ID when contacting support
Every response from KhaleejiAPI includes an X-Request-ID header — a unique identifier that lets our support team pull the exact log entry for your request within seconds. Always share it when reporting an unexpected error or unexpected result.
How to capture it
JavaScript / fetch
const res = await fetch("https://khaleejiapi.dev/api/v1/...", {
headers: { Authorization: "******" },
});
const requestId = res.headers.get("x-request-id");
console.log("Request ID:", requestId);
// → e.g. "req_01j9xkz4vp8..."cURL
curl -si "https://khaleejiapi.dev/api/v1/..." \ -H "Authorization: ******" | grep -i x-request-id # → x-request-id: req_01j9xkz4vp8...
Browser DevTools
Open DevTools (F12) → Network tab → click the failing request → scroll to the Response Headers section → copy the value next to x-request-id.
For a full list of error codes and guidance on common issues, see the Troubleshooting guide.