Products · Age estimation
An age signal, not a guessed birthday.
Facial age estimation returns one of nine apparent-age brackets from a single frame — and flags apparently-underage faces for review instead of silently approving them.
Capabilities
One frame in, a bracket out.
Nine apparent-age brackets
The face-attribute model bins apparent age into nine brackets, 0–2 through 70+, returned as age_bracket in the same Ed25519-signed envelope as every other check — deliberately a bracket, because a decimal age would imply precision the model doesn't have.
UNDERAGE_SUSPECTED flag
Any bracket under 20 raises a review-severity UNDERAGE_SUSPECTED warning — apparent age below 20, verify date of birth against KYC — so the verdict moves to review rather than auto-declining a borderline face or waving it through.
Already inside your KYC flow
The same age_bracket ships in every face-match response's face_signals, so an existing selfie-vs-ID flow gets age screening with zero extra image uploads or API calls.
API
Endpoints and credits
Prepaid credits, debited per call. Every error is the same envelope: statusCode, message, message_code.
- 1 credit
POST /v1/age
Apparent-age bracket estimation from a single image
- 2 credits
POST /v1/face/face-match
Every 1:1 match includes face_signals.age_bracket
- Free
GET /v1/verification-key
Ed25519 public key for verifying responses
All other checks cost 1 credit. When the balance is empty the API returns 402 insufficient_credits.
curl -X POST https://liveliness.neetix.in/v1/age \
-H "Authorization: Bearer $LIVELINESS_API_KEY" \
-F "person=@selfie.jpg"Use cases
Where an age signal earns its keep.
One selfie at signup, one credit per check — before you escalate anyone to a document flow.
Age-gated platforms
Gaming, social, dating and content platforms that must keep minors out — or adults out of child-directed spaces — can screen at signup with a single selfie instead of demanding an ID from every user on day one.
US state age-verification laws
A growing list of US states requires age assurance for adult-content sites and, in several states, for social platforms. Facial age estimation is one commonly recognized age-assurance method alongside document checks. Whether estimation alone satisfies a specific statute is a question for your counsel — we supply the signal, not the legal opinion.
KYC age floors
Lending and banking flows carry an adulthood floor. When the document says 34 but the selfie's apparent-age bracket is under 20, UNDERAGE_SUSPECTED routes the case to review — the pattern behind a minor borrowing an elder's ID.
Regulatory context above is factual background, not legal advice. Age-assurance requirements differ by jurisdiction and change often — confirm your obligations with your counsel.
Honest limits
What this is — and is not.
Vendors that sell age checks rarely say this part out loud. We'd rather you design around the limits than discover them in production.
Estimation, not verification
The model estimates apparent age from facial features. It does not — and cannot — verify a date of birth. That's why the response is a bracket and the under-20 signal is a review flag, never an automatic decline.
Brackets have edges
A face near a bracket boundary can land one bracket off, and accuracy varies with image quality, lighting and demographics. Treat age_bracket as one input to your decision, not a verdict.
For exact age, read the document
When a flow needs a verified date of birth, pair estimation with a document check — MRZ parsing returns the DOB from the ID itself. Estimation gates; documents verify.
Transparency after external testing
We publish per-bracket accuracy and demographic breakdowns only after external validation — the same rule as every number on our benchmarks page: no figure without a stated dataset and protocol.
Platform
More of the platform
Every product shares one API key, one credit ledger and one audit log.
Add an age signal for 1 credit.
Sign up with an email, get 500 free credits and call POST /v1/age with a single image.
500 free credits at signup · API key is shown once at signup.