Vet a signup before it costs you.

Chain five checks into one gate that scores every new registration — real email, not disposable, valid phone, and an IP that isn't hiding behind a VPN.

5-step workflow
56 crTotal cost per run, across 5 APIs
  • Email Validator20 cr
  • Disposable Email Checker6 cr
  • Phone Number Validator10 cr
  • IP Lookup10 cr
  • VPN Proxy Detector10 cr
The problem

Fake and throwaway signups pollute your metrics, burn free-tier resources, and hide fraud. Catching them after the fact is expensive; catching them at the door is a few API calls.

What you get

A single allow / review / block verdict you can compute at registration, before you ever send a welcome email.

The workflow

How the calls chain together

Every response below is a live sample from the actual API — nothing mocked.

01
Email ValidatorGET /v1/emailvalidator20 cr

Validate the email

Confirm the address is real, well-formed, and has live mail records — and flag free providers.

isValidtrueisMxValidtrueisFreeEmailfalse
Sample response
{
  "email": "support@myspace.com",
  "domain": "myspace.com",
  "username": "support",
  "isRegexValid": true,
  "hasTypo": false,
  "isMxValid": true,
  "isValid": true,
  "isFreeEmail": false,
  "isCompanyEmail": true,
  "isDisposable": false,
  "isRoleAccount": true,
  "suggestedCorrection": null,
  "riskScore": 10,
  "riskLevel": "low"
}
passes the email domain to the next step
02
Disposable Email CheckerGET /v1/emaildisposablechecker6 cr

Rule out throwaways

Check the domain against a database of disposable and temporary email providers.

isDisposablefalsedomainmyspace.com
Sample response
{
  "isDisposable": false,
  "email": "support@myspace.com",
  "domain": "myspace.com"
}
passes a clean-domain signal to the next step
03
Phone Number ValidatorGET /v1/phonenumbervalidator10 cr

Verify the phone

Validate format and country, and confirm it's a real, reachable line type.

isMobiletruetypefixed_line_or_mobile
Sample response
{
  "country": "US",
  "detectedCountry": "US",
  "countryName": "United States",
  "countrycode": 1,
  "numberNational": 8165551017,
  "extension": null,
  "isValid": true,
  "isMobile": true,
  "isVoip": false,
  "isDisposable": false,
  "type": "fixed_line_or_mobile",
  "formatted": {
    "international": "+1 816-555-1017",
    "national": "(816) 555-1017",
    "rfc": "tel:+1-816-555-1017",
    "e164": "+18165551017"
  },
  "riskScore": 0,
  "riskLevel": "low"
}
passes a verified contact to the next step
04
IP LookupGET /v1/iplookup10 cr

Locate the IP

Resolve the signup IP to a country and city to sanity-check against the stated location.

countryNameUnited StatescityKansas City
Sample response
{
  "ip": "173.172.81.20",
  "country": "US",
  "countryName": "United States",
  "region": "MO",
  "regionName": "Missouri",
  "city": "Kansas City",
  "continent": "NA",
  "continentName": "North America",
  "timezone": "America/Chicago",
  "coordinates": [
    39.0831,
    -94.5853
  ],
  "postalCode": "64106",
  "accuracyRadius": 20,
  "isEU": false
}
passes the visitor's IP to the next step
05
VPN Proxy DetectorGET /v1/vpndetector10 cr

Check for evasion

Detect whether the IP is a VPN, proxy, or datacenter — a common fraud signal.

is_vpnfalserisk_levelHigh
Sample response
{
  "ip": "103.62.49.210",
  "is_vpn": false,
  "is_datacenter": true,
  "checked_on": "2025-12-16",
  "risk_level": "High",
  "threat_level": "Moderate"
}

Recipe questions.

What to know before you wire it up.

Talk to the team
How many credits does one signup check cost?
It's the sum of the steps you run — in this recipe, email validation, disposable check, phone validation, IP lookup, and VPN detection. You can drop steps you don't need to lower the cost per signup.
Can I run only some of these checks?
Yes. Each API is independent, so you can start with just email + disposable detection and add phone or IP checks as your fraud needs grow.
Is this enough to stop all fraud?
No single gate is, but combining identity, contact, and network signals catches the large majority of low-effort fake signups cheaply, so your heavier review is reserved for genuinely ambiguous cases.

Cook this in an afternoon. Every API in this recipe shares one key, one response shape, and one bill.

Swap in your own APIs

Every step is a catalog API — mix and match freely.

Browse the catalog