Kenya
East Africa · KES (KSh) · dial code +254 · English, Swahili
Overview of IdentifyOrg in Kenya →
- Local currency
- KES
- Phone numbers
- +254712345678
- National ID
- National ID / Maisha Namba: coming
Available in Kenya
- Phone verification (SMS OTP)
- SMS and bulk SMS
- Document OCR and verification
- Liveness detection
- Face match
- Address verification
- Verification Suite (applicant links and embed)
- Website audit
- Domain verification
- AI content detection
- Video and voice calls
- Live streaming
- Chat
- WhatsApp assistant and platform
- File tools (PDF, images, audio)
- Short links
- QR codes
- Video meetings
- VAT and tax-ID validation
Nigeria only
These read Nigerian identity, banking and utility records, so they do not work for Kenya. Calling them for another country returns 403 not_available_in_country:
- BVN verification
- NIN verification
- Driver's licence (FRSC)
- Bank account name check
- BVN to account match
- CAC business registry check
- Credit bureau score
- Bills (airtime, data, electricity, TV)
- Business payment gateway (collections)
{
"error": {
"code": "not_available_in_country",
"message": "BVN verification is only available for Nigeria. ...",
"status": 403
}
}Coming: National ID / Maisha Namba verification
A Kenya-specific identity check against the National ID / Maisha Namba (Immigration and Citizen Services) is planned. Until it launches, you can verify people in Kenya with document OCR, liveness and face match, which work with any passport, national ID or driver's licence photo.
Prices in KES
Your balance is held in naira. Prices below are converted at ₦10.2655 per KES, rounded up. Top-ups in KES are credited at the same rate.
| Service | Price | Unit |
|---|---|---|
| Phone verification (SMS OTP) | KSh 0.59 | per code sent |
| SMS | KSh 0.30 | per message |
| Document OCR and verification | KSh 4.90 | per document |
| Liveness detection | KSh 7.80 | per check |
| Face match | KSh 7.80 | per check |
| Address verification | KSh 14.65 | per check |
| VAT number validation (live) | KSh 130.55 | per check |
| Video call | KSh 0.25 | per participant-minute |
| Voice call | KSh 0.10 | per participant-minute |
| Website audit | KSh 29.25 | per scan |
| AI text detection | KSh 7.80 | per check |
Phone number format
Kenya mobile numbers are written locally as 0712 345 678 and internationally as +254712345678. The leading 0 is a national prefix: we drop it when we add +254, so local-format numbers work if you also send the country.
curl -X POST https://api.identifyorg.com/v1/phone/verify/start \
-H "X-IdentifyOrg-Key: io_live_xxxx" \
-H "Content-Type: application/json" \
-d '{ "phone": "+254712345678" }'
# The same number in local format needs the country:
curl -X POST https://api.identifyorg.com/v1/phone/verify/start \
-H "X-IdentifyOrg-Key: io_live_xxxx" \
-H "Content-Type: application/json" \
-d '{ "phone": "0712345678", "country": "KE" }'const res = await fetch("https://api.identifyorg.com/v1/phone/verify/start", {
method: "POST",
headers: { "X-IdentifyOrg-Key": process.env.IDENTIFYORG_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ phone: "0712345678", country: "KE" }), // or phone: "+254712345678"
});
const { id } = await res.json(); // then POST /v1/phone/verify/check with { id, code }import os, requests
r = requests.post(
"https://api.identifyorg.com/v1/phone/verify/start",
headers={"X-IdentifyOrg-Key": os.environ["IDENTIFYORG_KEY"]},
json={"phone": "+254712345678"},
)
verification_id = r.json()["id"]Topping up your balance
Card payments and mobile money (M-Pesa, Airtel Money) in KES, converted to your naira balance at the rate shown when you pay. Provider availability is set per country, and cards in US dollars are the fallback where a local-currency option is not open yet.
Data protection
Personal data in Kenya is governed by the Data Protection Act, 2019. Phone verification stores only a salted hash of each code; check your own obligations as the data controller.

