We are onboarding our first customers.
Tell us about your signup flow and get free usage in exchange for honest feedback.
One API call checks the email, phone and IP of every new signup, spots bot waves across your recent signups, and tells you: allow, review or block.
Live demo, nothing is stored · 250 free checks a month · No credit card · No $99 minimum
someone@mailinator.com
disposable_domainThrowaway accounts use your free credits to the last one. Every generation, transcript or API call costs you the same compute as for a real user.
Same person, new throwaway address, new trial. Again and again, while your onboarding emails bounce and hurt your sender reputation.
Fake accounts inflate your signup numbers and distort activation and conversion, so you optimise for the wrong thing.
Most checks look at one signup at a time. SignupVet also looks at your recent signups, so a wave is caught even when every single signup looks harmless on its own.
3 or more earlier signups from the same IP within 10 minutes. signup_velocity_ip
10 or more signups from the same network within 10 minutes, even with changing IPs. signup_velocity_network
max1@, max2@, max3@ … within an hour. email_series_pattern
The same phone number with a different email within 24 hours. phone_reused
5 or more addresses on the same company domain within 10 minutes. Big mail providers are excluded. signup_velocity_domain
Each signup is still checked on its own: throwaway email, dead mail server, Tor, VPN, datacenter and premium-rate numbers.
Put in your own numbers. The values below are only an example, not data from real companies. How to estimate your share of fake signups.
Built for small SaaS teams. In a small test with 40 deliberately tricky email addresses, SignupVet agreed with two established email verification services in 34 of the 36 cases where both of them agreed.
Disposable providers, typos of popular domains, dead mail servers and placeholder addresses.
Valid number, country and line type. Premium-rate numbers are blocked, toll-free ones flagged.
Tor, known VPNs, datacenters, and many signups from one network within minutes.
Email, phone and IP, whatever you collect. One request.
0 to 100, plus the reason codes that led to it.
// inside your signup handler const res = await fetch("https://www.signupvet.com/score", { method: "POST", headers: { Authorization: `Bearer ${process.env.API_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ email, phone, ip: req.ip }), }); const { recommendation, reason_codes } = await res.json(); if (recommendation === "block") return reject("Please use a real email address."); if (recommendation === "review") await flagForReview(user, reason_codes);
Disposable domains, dead mail servers, VoIP and premium numbers, datacenters, VPNs and Tor.
Every answer says why: disposable_domain, ip_datacenter_asn, phone_ip_country_mismatch.
Five signups from one IP, or max1@, max2@, max3@ within minutes? We look at your recent signups, not just the current one.
We never store your users' email, phone or IP in clear text. Logs keep masked values only and are deleted after 90 days.
Checking email, phone and IP together counts once. No credit maths.
Free tier, then $15 packs or a monthly plan. Pay for what you use.
Hand out free generations to people who try your product, not to scripts that farm them.
Stop people from opening a new trial every 14 days with a new throwaway address.
Filter junk from demo requests and lead forms before they reach your CRM.
Keep fake sellers, buyers and spam accounts out before they list, post or message anyone.
Every plan includes every check. Cancel any time.
For side projects and trying it out. No credit card.
For a product with steady signups.
For products with thousands of signups a month.
High volume, invoicing and an agreed SLA.
| Endpoint | Checks |
|---|---|
POST /score | Email, phone and IP combined, with bot-wave detection |
POST /verify/email | Syntax, domain, mail server, disposable, shared mailbox |
POST /verify/phone | Validity, country, line type |
POST /verify/ip | Location, network, datacenter, VPN, Tor |
Authenticate with Authorization: Bearer <key>. Keys are created in the dashboard.
{
"request_id": "req_…",
"status": "risky", // valid · invalid · risky · unknown
"risk_score": 45, // 0–100
"risk_level": "medium", // low · medium · high · critical
"recommendation": "review", // allow · review · block
"reason_codes": ["ip_datacenter_asn"],
"signals": { … }, // raw data per check
"confidence": 75,
"latency_ms": 4
}
Checks like "does this domain exist", "is this a known disposable provider", "is this IP a datacenter or Tor" are facts, not guesses. What we cannot see: whether a Gmail inbox really exists, or a residential proxy. That is why there is a review band between allow and block, and every answer comes with its reasons, so you stay in control. In a small test with 40 deliberately tricky email addresses we agreed with two established email verification services in 34 of the 36 cases where both of them agreed; the gap was exactly that inbox question.
For your dashboard we keep a masked copy of each check (for example m***@gmail.com, 178.197.224.x) and one-way fingerprints for bot-wave detection. Full email addresses, phone numbers and IPs are never stored.
Always. We return a recommendation and the score; your code decides what happens. You can simply treat "review" as "allow" at first and tighten later. On paid plans you can also set your own thresholds and keep block and allow lists of email domains, addresses, phone numbers and IPs in the dashboard.
The API is small and stable, and a check usually answers in well under 50 milliseconds, so your signup form does not feel slower. We are in early access, so talk to us before you send large volumes.
Yes, on paid plans. Every check returns its result immediately, and you can also get a signed webhook (or a Slack message) whenever a signup is blocked or sent to review.
One API call is one check, even if it covers email, phone and IP together. Requests that fail validation are free. Pack checks never expire and are used after your monthly checks.
Create an account, grab an API key and check your first signup in under ten minutes.
Or write to support@signupvet.com