SIM swap check API

Check whether a mobile number's SIM changed within your chosen period.

Use the result before account recovery, an OTP or another action that relies on the number.

  • Lookback period you choose
  • 30 days by default
  • UK mobile numbers
  • API

Part of: KYC waterfall Affiliate fraud detection Account protection

What it checks

Send a UK mobile number and, optionally, the number of days to look back.

Provero checks whether a SIM change was detected for that number within the period. period_days must be a whole number of at least 1 and defaults to 30 if you leave it out. The response repeats the period it evaluated. It does not give the date of the last change or how long ago a change happened.

Phone numbers are often used for one-time passcodes, password resets and account recovery. A SIM change shortly before one of those steps is a reason to look more closely before you rely on the number.

Where it is used

  • Before an OTP or SMS code

    Check the number before you send a code that assumes the same person still holds it.

  • Account recovery and password reset

    Check the number before you let it reset a password or recover an account.

  • Changes to payment or account details

    Check before a payout, a change of bank details or another high-value action confirmed by SMS.

  • Step-up decisions

    Use the result with your other signals to decide whether to allow, challenge, delay or review.

How to read the result

Result Meaning What to do
sim_swapped: true (swapped) Meaning: A SIM change was detected within the period. Many changes are legitimate, such as a new handset, a replacement SIM or a move to eSIM. What to do: Before you rely on the number, add another factor, a delay or a manual review, depending on the action.
sim_swapped: false (not_swapped) Meaning: No SIM change was detected within the period. What to do: Continue with your usual checks. This does not make the number safe or show who is using it.
sim_swapped: null (unknown) Meaning: A conclusive result was not available for this number. What to do: Do not treat it as not_swapped. Rely on your other signals or step up.
Request error Meaning: The check did not run, for example a missing or invalid phone number, a period below 1, an authentication or balance problem, or a check that could not be completed. What to do: Correct the input or account state, or retry later. Keep these separate from SIM change results.

A detected SIM change is a risk signal, not a finding of fraud. A clean result does not establish who controls the number.

API usage

SIM swap check runs through the API. Call it shortly before the action that relies on the number, so the lookback period ends close to that moment. It can also be included in a Multi-validation request alongside other Provero checks.

SIM swap check API example

POST https://api.provero.io/api/validate/sim-swap

Request

{
  "phone": "+447700900123",
  "period_days": 30
}

Response (SIM change detected)

{
  "phone": "+447700900123",
  "phone_valid": true,
  "period_days": 30,
  "sim_swapped": true,
  "status": "swapped"
}

Illustrative example. +447700900123 is a number reserved for documentation, so the result shown is not a real check. When no change is detected, sim_swapped is false and status is not_swapped; when a conclusive result is unavailable, sim_swapped is null and status is unknown.

Read the SIM swap check API documentation →

Pricing

Pricing on request: pricing@provero.io

This check is quoted on request, because the rate depends on volume and coverage. Everything else runs on the same prepaid balance. See published pricing.

Need volume pricing? Email pricing@provero.io.

Related checks

These checks answer different questions about the same number. No single result shows who controls it.

See every Provero check →

SIM swap check FAQ

How does the lookback period work?

Set period_days to the number of days you want to check, as a whole number of at least 1. If you leave it out, the check uses 30 days. The response repeats the period evaluated. It does not return the date of a change or how many hours or days ago it happened.

What does an unknown result mean?

sim_swapped: null with status unknown means a conclusive result was not available for the number. It is not the same as not_swapped, so rely on your other signals or add a step-up rather than reading it as a clean result.

Does a SIM change mean fraud?

No. People change SIMs for ordinary reasons, such as a lost or new handset, a replacement SIM or a move to eSIM. A change shortly before account recovery or a payout is worth a closer look. Equally, no detected change does not prove the number is safe.

How is this different from HLR phone verification?

HLR phone verification checks a mobile number's network status and serving network. SIM swap check reports whether the SIM behind the number changed within the period you choose. They answer different questions and are often used together.

Start with this check

Create a free account, claim your credits and run SIM swap check through the API. No card required.

Sign up free