Skip to content →
Verifier
  • Integrations
  • Security
  • Pricing
Log inGet started

From a raw listto a safe send.

Get started free

No email is sent during a check. The free plan includes 100 checks a month.

Verifier

Product

Email verificationWeb workspacePricingIntegrationsChangelog

Features

Single checksFind emailList cleaningScores and reasonsDelivery feedbackSuppression listOngoing re-checksAPI and SDKsTeam workspace

Use cases

Email marketingMarketing operationsSignup formsPlatforms and agencies

Resources

Resource hubGuidesBlogSecurity

Company

ContactPrivacyTermsResponsible disclosure
Verifier

© 2026 Oppulence Engineering · Verifier

Integrations/06 of 06/REST API and SDKs

Build your own integration

Use the REST API with Go and TypeScript SDKs to check addresses, run list jobs, and receive webhooks.

Get started freeAPI and SDKs
SDKsGoTypeScript
Fig. 1POST /v1/check_email
$ curl -X POST "$API_URL/v1/check_email" \    -H "Authorization: Bearer $API_KEY" \    -d '{ "to_email": "[email protected]" }'{  "is_reachable": "safe",  "score": {    "score": 100,    "category": "valid",    "safe_to_send": true,    "reason_codes": ["deliverable"]  }}
Request and response · values from a sample check
Style
REST, JSON
SDKs
Go and TypeScript
Webhooks
task.completed
Plans
Professional and Enterprise

§ 1

Why it matters

Your data lives in your own systems

Some teams need checks inside their own product, warehouse, or sync job.

Connect checks to any system you own.

Fig. 2Without and with Verifier
WithoutWith Verifier
  1. ×Without: Checks run by hand in a separate tool.→✓With Verifier: Check addresses and lists from your own code.
  2. ×Without: Your system polls for finished jobs.→✓With Verifier: A task.completed webhook tells you when a job is done.
  3. ×Without: Each team writes its own HTTP client.→✓With Verifier: Typed SDKs for Go and TypeScript.

§ 2

How it works

Documented endpoints and generated clients

Call the API with a scoped key. Use the Go or TypeScript SDK, or any HTTP client.

  1. 2.1Create an API key.
  2. 2.2Install the Go or TypeScript SDK.
  3. 2.3Check addresses, run jobs, and handle webhooks.
Fig. 3One check from your code

TypeScript

import { Configuration, V1Api } from "@oppulence/reacher-sdk";const api = new V1Api(  new Configuration({    basePath: process.env.VERIFIER_API_URL,    apiKey: `Bearer ${process.env.VERIFIER_API_KEY}`,  }),);const { data } = await api.v1CheckEmail({  checkEmailRequest: { to_email: "[email protected]" },});if (!data.score.safe_to_send) {  // Ask the person to check the address.}

Go

cfg := reacher.NewConfiguration()cfg.Servers = reacher.ServerConfigurations{{URL: os.Getenv("VERIFIER_API_URL")}}cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("VERIFIER_API_KEY"))client := reacher.NewAPIClient(cfg)out, _, err := client.V1API.V1CheckEmail(ctx).	CheckEmailRequest(*reacher.NewCheckEmailRequest("[email protected]")).	Execute()
Generated SDKs · same call in each language

§ 3

What you get

What you get.

  1. 3.1WebhooksGet results when a job finishes.
  2. 3.2Delivery events inSend delivery events from any platform through the outcomes API.

Table 3 · Endpoints you will use most

MethodPathWhat it does
POST/v1/check_emailCheck one address.
POST/v1/listsUpload a list for checking.
GET/v1/lists/{list_id}/qualityRead the quality of a list.
POST/v1/lists/{list_id}/remediation-exportsExport the files to keep, fix, review, or drop.
GET/v1/suppressions/checkAsk if an address is suppressed.
POST/v1/outcomesSend delivery events from any platform.
GET/v1/emails/{email}/historyRead every result for one address.

§ 4

In practice

Typical uses.

  • Case 4.1

    Nightly sync

    Check new CRM contacts every night with a scheduled job.

Other integrations.

All integrations
  • SendGrid
  • Mailgun
  • Postmark
  • Amazon SES
  • CSV files

Questions

Before you start.

Which plans include the API?

The Professional and Enterprise plans.

Continue reading

  1. 01API and SDKs
  2. 02Signup forms
  3. 03See pricing