DOCS

Integrate signup risk scoring in minutes

Send signup context from your app and receive a deterministic 0–100 risk score, risk check breakdown, explanation, and allow/review/block recommendation.

QUICKSTART

Score your first signup

Send the signup context your product already collects. At minimum, provide an email address. For stronger scoring, include name, IP address, and industry context.

1. Send signup context

Pass email, name, IP, industry, and options in the request body.

2. Receive a risk decision

Get a deterministic risk score, risk band, recommendation, and optional check breakdown.

3. Route the signup

Use allow, review, or block to approve trusted users, challenge uncertain attempts, or stop high-risk signups.

REQUEST AND RESPONSE

Send signup context. Get a risk decision.

Only email is required. Name, IP address, and industry improve scoring context when available.

Request fields

email — required
name — optional
ip — optional
industry — optional
include_checks — optional
include_explanation — optional

Response fields

email — email details and validity
decision — action, risk score, and risk band
checks — detailed risk checks (optional)
explanation — summary and top reasons (optional)
metadata — warnings, usage, and plan details

Request Example (cURL)

Evaluate signup risk using email, domain, disposable-provider, identity-pattern, optional name, optional IP, and contextual evidence. Each successful analysis returns a deterministic score, an allow, review, or block action, explainable checks, and an assessment of evidence quality and uncertainty.

Response Example (JSON)

{
  "email": {
    "input": "jane.doe@mailinator.com",
    "normalized": "jane.doe@mailinator.com",
    "is_well_formed": true,
    "format_issues": [],
    "format_explanation": "The email address is structurally well formed. This does not mean it is safe, trusted, deliverable, or non-disposable."
  },
  "decision": {
    "action": "review",
    "risk_score": 70,
    "risk_band": "high",
    "summary": "High-risk signup. Primary concern: disposable email provider detected."
  },
  "checks": {
    "disposable_email": {
      "result": "confirmed",
      "is_disposable": true,
      "confidence": "high",
      "method": "dataset_exact",
      "matched_domain": "mailinator.com",
      "risk_contribution": 70
    }
  },
  "explanation": {
    "explanation_available": true,
    "summary": "This signup appears high risk because a disposable email provider was detected.",
    "top_reasons": [
      {
        "reason": "Disposable email provider detected",
        "check": "disposable_email",
        "contribution": 70
      }
    ],
    "recommendation_reason": "Review this signup before granting normal account access."
  },
  "metadata": {
    "warnings": [],
    "usage": {
      "requests": {
        "used": 42,
        "limit": 10000,
        "unlimited": false,
        "remaining": 9958
      },
      "explanations": {
        "used": 12,
        "limit": 500,
        "unlimited": false,
        "remaining": 488
      }
    },
    "plan": {
      "current_plan": "Pro",
      "billing_period": {
        "starts": "2026-07-01T00:00:00Z",
        "ends": "2026-08-01T00:00:00Z"
      },
      "reset_at": "2026-08-01T00:00:00Z"
    }
  }
}
CORE CONCEPTS

How to interpret the response

Email

Contains canonical normalization and structural validation details, including input, normalized, and is_well_formed. Note that a well-formed email is not automatically safe or deliverable.

Decision

The core recommendation and risk classification for the signup, including the final 0–100 risk_score, risk_band (low to very high), action (allow, review, block), and a short summary.

Checks

Detailed risk checks such as disposable_email, domain_infrastructure, provider, role_address, domain_typo, synthetic_identity, name_match, and ip_reputation. Omitted unless include_checks is true.

Explanation

Human-readable reasoning including a summary, top reasons, risk factors, and recommendation reason. Omitted unless include_explanation is true or if the explanation limit is exceeded.

Metadata

Always present on successful responses. Contains request metadata, warnings, and plan usage limits. Cache details appear only on historical risk cache hits.

CHECKS

Checks used for signup risk

Email intelligence

Validation, disposable domain detection, typo detection, role account detection, provider classification, and domain health.

Name intelligence

Local-part quality, name plausibility, low-entropy patterns, and name/email consistency.

IP intelligence

Proxy, VPN, datacenter, Tor, and high-risk infrastructure checks.

Business email classification

Classify signups as free, business, education, government, disposable, or unknown.

Industry context

Apply context for SaaS, marketplaces, e-commerce, lead generation, communities, and other signup environments.

Historical risk cache

Reuse recent risk results to reduce latency and repeated analysis for recurring signup attempts or bulk workflows.

DECISIONING

Use allow, review, or block

Allow

Accept the signup automatically when the score is low and no strong abuse indicators are present.

Review

Challenge, queue, or request additional verification when the score indicates uncertainty or multiple moderate-risk checks.

Block

Reject or stop the signup when the score indicates very high-risk behavior such as disposable email, invalid identity, or high-risk infrastructure.

WORKFLOWS

Scale from real-time scoring to automated workflows

Real-time scoring

Score signups synchronously during account creation, checkout, lead capture, or onboarding.

Bulk file processing

Upload CSV files and score lists asynchronously for imports, reviews, CRM cleanup, or fraud audits.

Signed webhooks

Trigger downstream workflows when high-risk signups occur or bulk jobs complete.

PLANS

Plan-gated features

Some advanced features are available only on higher plans. IP reputation is available on Ultra and above. Industry profiles, bulk CSV jobs, and signed webhooks are available on Growth and above. When a hard-gated feature is not available, the API returns FEATURE_NOT_AVAILABLE with HTTP 403 and includes the required plan and upgrade URL. Some optional checks may be omitted or downgraded with a warning instead of failing the request.

SECURITY

Privacy notes

Raw names and raw IP addresses are used only for the current request. They are not returned, persisted, or logged in raw form. The response only includes derived classifications. Historical cache metadata never exposes raw email, name, IP, cache keys, or internal storage identifiers.

START BUILDING

Add signup risk scoring to your product

Use Signup Risk Score API to evaluate signups before suspicious users enter your product.