Enterprise capability

Phone-number risk profile

Bulk registration, promo abuse and account trading nearly all come in through a phone number. What your risk system sees at signup is a well-formed number with a plausible home region that can receive an SMS code — indistinguishable from a real user.

We look at it from a different position: the numbers are captured directly from SMS-receiving platforms and SIM-vending platforms, not inferred from behaviour. So we can answer more than “is this number suspicious” — we can say what it is being used for in the attacker economy, and whether it is still in use.

Why behavioural signals cannot see it

Judging a number by behaviour assumes it has already done something in your system — registered, claimed a coupon, been reported. But an attacker's number is appearing at your door for the first time: it was bought from a card vendor moments ago and has no history with you at all. By the time it has accumulated behavioural signals, that wave is over.

The supply side is different. Before a SIM-farm card is ever pointed at your business, it has been sitting on an SMS-receiving platform for a long time — rented out, priced, used again and again. That is where we see it.

Which also means: we know what it costs

A matching number comes back with the platform selling it and the price it goes for in the attacker market. That a number costs a few cents says more about your opponent's cost structure than any risk score does — and explains better than anything why making the SMS challenge harder does not stop them.

Not one score, but a set of judgements you can route on

Two numbers can both be “risky” and still deserve completely different handling. This is the most practical part of the profile:

TypeWhat it isSuggested handling
SIM-farm card Captured directly from SMS-receiving and SIM-vending platforms; held and actively used by attackers Block outright at signup and coupon claim
Account-farm card The number bound to a ready-made business account sold by attackers Step up verification on login and on changing the bound number
Intercepted card SMS send/receive hijacked by malware; the owner is a normal user Do not block as an attacker — they are the victim. Notify and re-verify
Privacy number A privacy number from a number-rental platform or a cloud vendor, easily bought by attackers Decide by your own tolerance; a blanket rule is a poor fit
Historic-risk card Captured once, but absent for more than 90 days and the number's status has changed — it may now belong to an ordinary user Do not treat as current risk, or you are penalising a real user
Likely crowdsourced human The device tied to the number carries several crowd-work apps A priority target for campaign-redemption and ad-fraud controls

“Intercepted card” and “historic-risk card” are the two we most want you to notice. In a product that returns only a score, they land in the same high band as SIM-farm cards — and what you then block is an ordinary user whose phone has malware, and a new customer who happens to have inherited a number. Labelling them separately exists to stop you doing that.

Where it gets used

Signup and acquisition

Check once at registration, new-user coupon claim and first-order campaigns. Bulk-registered numbers are stopped before they enter your user base, rather than showing up as an anomaly after the coupons have gone out.

Account security

On anomalous logins, rebinding and account recovery, whether the number belongs to a ready-made account traded by attackers directly decides whether to add a challenge.

Campaign and ad-fraud controls

For numbers entering redemptions, group-buy discounts and referral campaigns, this identifies crowd-work participants — they are real people whose behaviour is nearly impossible to separate out, but their numbers left traces on the supply side.

Stock-taking on your existing base

Run your whole user table through once to see how much of what you have accumulated is attacker supply. Billed per number, so one pass tells you the baseline without wiring up a real-time path first.

What we return is a judgement that expires

Numbers get recycled, change owner, and attackers abandon one batch of cards and buy another. So every result carries when it was last observed and whether that evidence still counts.

A number captured three years ago and never seen since, and a number that was on an SMS-receiving platform yesterday, are not the same conclusion here — even when their raw risk scores match. Treating those two alike is the most common, and most expensive, source of false positives in phone-number risk.

No match does not mean safe

The set contains only risk numbers we have already captured. No match means we hold no verifiable evidence; it does not mean the number is clean. Read it as “nothing found”, not as “cleared” — it is in the API reference, and it is here.

Coverage and refresh

About 210 million numbers

Mainland-China and international sources merged into one consistent definition; international numbers also come back with their home region.

Rebuilt daily, incremental within a minute

Every response carries the data version used for that lookup, so you can archive the version alongside the conclusion and reproduce it afterwards.

Integration and billing

One HTTP endpoint, single and batch forms, JSON responses. Numbers go in the request body, never in the URL — URLs end up in CDN edge logs, reverse-proxy logs and browser history, and a phone number is personal data that we would rather not scatter through any of those. We suggest you keep the same convention on your side.

Billed per number, not per request: a batch of 500 numbers counts as 500. Numbers that cannot be parsed are not billed. The allowance is entirely separate from IP lookups and the two never draw on each other. Endpoint details are in the API reference; for addresses see the IP risk profile.

This is an enterprise capability

A phone number is personal data, so we do not offer this as something anyone can self-serve after signing up. Contact us first with your use case; pre-sales can open a time-limited trial allowance so you can run it against your own data before deciding.

Contact sales · request a trial

Tell us the use case and rough volume. We will come back with an allowance recommendation and a quote, and open a time-limited trial so you can verify the results.

Open the contact form →