Free trials shouldn't run on fake numbers.
Disposable numbers are the cheapest way to abuse a trial, referral, or promo system. Verify at signup, before the abuse pattern ever starts.
Start free — check your next 100 signupsThe cost shows up downstream, not at signup
A disposable-number signup rarely costs you anything the day it happens — it costs you later: a support ticket nobody can resolve, a referral payout for an account that was never real, a promo code redeemed a hundred times by numbers that don't exist. A SaaS product signing up 500 new accounts a month, at a 23% disposable-number rate — the industry baseline for signup flows — adds roughly 115 accounts a month that were built to be abused, not used.
Flag it before it becomes an abuse pattern
The check runs server-side alongside your existing signup validation. Turn on the Phone Number Type signal in Settings and every call also reports whether the line looks like a real mobile number or a landline/VoIP pattern — the profile disposable-number services skew toward.
- 1
User submits a phone number during signup, trial start, or a referral claim.
- 2
FILTER checks it server-side, alongside your existing validation.
- 3
With Phone Number Type switched on, flag landline/VoIP-pattern lines — the profile disposable-number services skew toward.
- 4
ABSENT or flagged numbers can trigger manual review instead of a hard block, if you'd rather not lose a borderline signup outright.
What you get back
Here's what a disposable or fake number actually looks like coming back — nothing to interpret, nothing to guess at.
{
"country": "IN",
"valid": false,
"status": "ABSENT",
"carrier": "—",
"line_type": "—",
"is_ported": false
}line_type comes back on every call once Phone Number Type is switched on in /app/settings — it's the signal most SaaS teams add on top of the default CONNECTED/ABSENT check to catch disposable-number patterns.
Free trials shouldn't run on fake numbers.
Start free — check your next 100 signupsNot quite your situation?
Browse all use cases →