Age verification API
Check whether the available mobile subscriber data confirms your minimum age threshold.
Use the result before deciding whether another age-assurance step is needed.
- Your chosen threshold, such as 18+ or 25+
- UK Pay Monthly on EE, O2, Vodafone and Three
- API and bulk upload
What it checks
Send a mobile number and the minimum age you need to check.
Provero checks the age information available from the subscriber's mobile network and returns whether it confirms that threshold. You do not receive a date of birth or an exact age. This is an age check, not an identity or KYC check.
Age verification currently supports Pay Monthly subscribers on the UK's four main mobile networks: EE, O2, Vodafone and Three. Live checks need Age verification access on your Provero account, which you request from the Playground after signing in.
What it returns
One primary result, with supporting signals kept separate from it.
-
Primary result: meets_age_requirement
true when the available subscriber information confirms the minimum age you sent, false when it does not confirm it.
-
identity_verified
Whether the information used for the age check was verified against official identification. Supporting context, not an identity or KYC result.
-
adult_content_restriction_active
Whether the network reports an adult-content restriction as active on the number.
-
parental_controls_active
Whether the network reports parental controls as active.
-
mobile_network_code
The combined mobile country and network code associated with the result.
Supporting signals never override meets_age_requirement. A null supporting signal means the information is unavailable or unsupported, not false.
Where it is used
The result describes the age information held for the subscriber. It does not show who is holding the phone, so use it as one step in your age-assurance process. Whether it is sufficient for your service depends on the requirements that apply to you.
-
Age-restricted sign-up
Check the threshold during registration before deciding whether to ask for documents.
-
Age-restricted purchases
Check the threshold at checkout where a product or service has a minimum age.
-
Staged age assurance
Start with the network check and send users to another permitted route when the threshold is not confirmed or no age result is available.
-
Existing records
Check numbers you already hold in bulk, for example before an age-restricted campaign.
How to read the result
| Result | Meaning | What to do |
|---|---|---|
| true | Meaning: The available subscriber information confirms the minimum age you requested. | What to do: Continue with your process for users who meet the threshold. |
| false | Meaning: The available information did not confirm the threshold. It is not proof that the subscriber is under that age and does not reveal their age. | What to do: Offer another permitted age-assurance step. |
| No age result | Meaning: subscriber_not_found, network_not_supported, subscriber_opted_out or age_verification_not_available. The check could not give an age answer for this number. | What to do: Do not infer an age outcome. Use another permitted age-assurance route. |
| Request error | Meaning: For example invalid_mobile_number, invalid_age or age_verification_access_not_enabled. | What to do: Correct the request or request Age verification access, then try again. |
status: success means the request completed. Read meets_age_requirement for the age outcome.
API and bulk upload
Run Age verification through the API at the moment of the decision, or through the bulk uploader for records you already hold.
API
Send mobile_number and minimum_age, a whole number from 0 to 120. Change only minimum_age to run an 18+, 21+, 25+ or 50+ check through the same endpoint.
Bulk upload
Upload a file of numbers you already hold and run the check across them, without building an integration first.
Errors and retries
Branch on error.code, not the message text. Retry automatically only after a timeout, rate limit or temporary unavailability.
Age verification API example
POST https://api.provero.io/api/validate/age
Request
{
"mobile_number": "+447700900123",
"minimum_age": 18
} Response
{
"status": "success",
"verification_id": "age_123456",
"mobile_number": "+447700900123",
"minimum_age": 18,
"meets_age_requirement": true,
"identity_verified": true,
"adult_content_restriction_active": false,
"parental_controls_active": false,
"mobile_network_code": "23410"
} Illustrative example. +447700900123 is a number reserved for documentation, so the result shown is not a real check.
Read the Age verification API documentation →Age verification pricing
Pricing depends on volume and network coverage.
Age verification is quoted per account so the rate reflects the networks and volumes you actually need. Everything else runs on the same prepaid Provero balance.
Need volume pricing? Email pricing@provero.io.
Related checks
Age verification answers an age question only. Add the Age-to-mobile-number check to confirm the stated age fits the number, or use KYC Checks or Mobile network KYC when you need to compare identity details.
- Age-to-mobile-number check Check whether the age a customer gives you is consistent with the age held for the subscriber behind their mobile number.
- KYC Checks Verify names, dates of birth and addresses using credit reference agency data and supporting UK identity sources, with an overall outcome and field-level matches.
- Mobile network KYC Compare supplied identity details with mobile-network subscriber data, field by field.
Age verification FAQ
What age thresholds can I check?
Does it return an exact age or date of birth?
What does a false result mean?
What happens when no age result is available?
Which networks and numbers are covered?
Can I run Age verification in bulk?
Run an Age verification check
Create an account and request Age verification access from the Playground. Once access is enabled, run checks through the API or bulk upload.
Create an account