Check every email and phone number before you pay to contact it.

AttestClean is a verification API for lead generation teams. Send a lead, get back Accept, Flag, or Reject with the reasons. Prepaid credit, priced per request, no contract.

One endpoint for email, one for phone. Email from $0.001, phone from $0.002 per request.

  • Domain, MX, disposable, and role-account checks on email
  • Format, area code, and risk checks on US phone numbers, with litigator and SMS flags
  • CSV upload for lists, billed at the same per-row price
RequestPOST /v1/email
curl https://api.attestclean.com/v1/email \
  -H 'Content-Type: application/json' \
  -d '{
    "Email": "[email protected]",
    "Checks": ["hygiene"],
    "ApiKey": "ac_live_..."
  }'
Response200 OK · $0.003 charged
{
  "Status": "Flag",
  "Email": "[email protected]",
  "HasMx": true,
  "Reasons": ["Role-based address"],
  "Hygiene": {
    "Category": "Risky",
    "Deliverability": "Medium"
  },
  "ChecksRun": ["validation", "hygiene"],
  "Charged": 0.003
}

What we check

Every request runs validation. Add hygiene, scoring, or deep enrichment to the same call with the Checks option, and the response gains a section for each one. You set the thresholds.

Email

  • Validation (always on)Syntax, domain exists in DNS, MX records present, suppression list (single addresses or whole domains). Flags low-intent addresses (test-style names, plus sub-addresses, example domains) and returns a normalized address for deduping.
  • Domain details (always on)Freemail, ISP, business, education, or government. The inbox provider (Gmail, Microsoft, Yahoo/AOL, Apple) and the mail host behind company domains, such as Google Workspace or Microsoft 365. You can flag webmail or ISP addresses on B2B forms.
  • HygieneValid, Risky, or Toxic. Disposable providers, role accounts, spam-trap patterns, and suppression list matches.
  • ScoreA 0–100 score with a threshold you choose, so you can accept, review, or reject. Includes hygiene.

Phone

  • Validation (always on)NANP format, area code and exchange rules, suspicious number patterns, normalized output.
  • HygieneValid, Risky, or Toxic. Litigator risk and SMS eligibility flags are added when Deep enrichment is on.
  • ScoreA 0–100 score for routing calls and texts, with the same threshold controls. Includes hygiene.

Lists and add-ons

For batch work and harder calls.

  • Bulk CSVUpload a file, pick the same checks, and download the results. Each row is priced like one API request.
  • Deep enrichmentAdd enrich to your checks on email or phone for leads where you need more certainty. On phone it adds line type, carrier, litigator, and SMS flags.
  • Prepaid walletBuy credit once. Each call deducts its price. When the balance hits zero the API returns HTTP 402, so you never get a surprise invoice.
  • Usage logEvery request is listed in the portal with the checks it ran, the result, and latency.

Pricing

One price per request, set by the deepest check you ask for. Prices aren't added together: a request with hygiene and score costs the score price. Deep enrichment is the only add-on. USD, no monthly fee, and bulk rows cost the same.

Request includesSKUPrice
Email
Validation onlyemail.validation$0.001
Validation + hygieneemail.hygiene$0.003
Validation + hygiene + scoreemail.scoring$0.0035
Phone
Validation onlyphone.validation$0.002
Validation + hygienephone.hygiene$0.004
Validation + hygiene + scorephone.scoring$0.0045
Deep enrichment (add enrich to any request)
Email enrichmentemail.enrich+$0.002
Phone enrichmentphone.enrich+$0.003
Credit packYou payCredit
Starter$25$25
Growth$100$105 +5%
Scale$500$550 +10%
Enterprise$2,000$2,300 +15%

One-time card payment through Stripe. You can also top up any amount from $10 to $10,000 in the portal.

Create account

API

Two endpoints: one for email, one for phone. JSON in, JSON out. Pass your key as ApiKey in the request body.

Validation always runs. List extra checks in Checks, for example ["hygiene", "score", "enrich"], or send "Hygiene": true, "Score": true, "Enrich": true. Results for each extra check come back in their own section, and every response ends with ChecksRun and Charged.

EndpointReturns
POST /v1/emailStatus, Reasons, DomainExists, HasMx. Adds Hygiene, Score, and Enrichment sections when requested.
POST /v1/phoneStatus, Reasons, NormalizedPhone, StateHint. Adds Hygiene, Score, and Enrichment sections when requested.
POST /v1/bulk/uploadJob ID for a CSV list, with the same Checks options

Errors: 401 invalid key, 402 balance too low, 400 missing fields or unknown check. The full reference is in the portal after you sign up.

Credit packs start at $25.

Create an account, add credit, generate a key, and make your first call.

Create account