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

Part of: KYC waterfall Eligibility screening Source audit

Create an account See a sample response Pricing and additional coverage on request

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.

See how Age verification fits into Eligibility screening →

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.

See published pricing.

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.

See every Provero check →

Age verification FAQ

What age thresholds can I check?

You set minimum_age on each request as a whole number from 0 to 120, for example 18, 21, 25 or 50. The response repeats the minimum age you sent alongside the result.

Does it return an exact age or date of birth?

No. It returns whether the available subscriber information confirms the minimum age you requested. You do not receive a date of birth or an exact age.

What does a false result mean?

meets_age_requirement: false means the available information did not confirm the threshold. It does not reveal the subscriber's age and is not proof that they are under the threshold. Offer another permitted age-assurance step.

What happens when no age result is available?

Provero returns an error instead of a result: subscriber_not_found, network_not_supported, subscriber_opted_out or age_verification_not_available. These are not negative age results. Do not infer an age outcome; use another permitted age-assurance route.

Which networks and numbers are covered?

Pay Monthly subscribers on EE, O2, Vodafone and Three. PAYG numbers are not currently supported. Where a number cannot be checked, Provero returns an error rather than a negative age result. Email pricing@provero.io about other markets or networks.

Can I run Age verification in bulk?

Yes. Use the bulk uploader for numbers you already hold, or the API to check a threshold at sign-up or checkout.

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