Phone Validation API
GCC phone validation with carrier detection for e&, du, STC, Mobily, Zain, and more. Returns MCC/MNC codes, area codes, and multiple format variants.
/api/v1/phone/validateTry it out
/api/v1/phone/validateParameters
Code
curl -X GET "https://khaleejiapi.dev/api/v1/phone/validate?phone=%2B971501234567" \ -H "Authorization: Bearer your_api_key"Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| phone | string | Required | Phone number in any format (E.164, international, or local) |
Response Fields
valid, type
Boolean validity and line type (mobile, landline, unknown)
formats
Multiple format variants: E.164, international, local, RFC 3966
country
Country details with code, name (EN/AR), prefix, trunk prefix, and IDD code
carrier
Carrier detection: name (EN/AR), MCC/MNC codes, type, and parent network
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.