Introduction

veridock.io is an email verification API. One request tells you whether an address can receive mail, and why.

Overview#

Every call returns a conservative verdict (valid, invalid, disposable, risky or unknown) plus the individual checks behind it, so you can apply your own policy. The API lets you:

Prerequisites#

  1. A veridock.io account: sign up for 250 free checks a month.
  2. An API key from Settings › API keys. Keep private keys server-side.
  3. Any HTTP client: cURL, Postman, or your language of choice.

Base URL

All endpoints live under https://new-project-rho-ecru.vercel.app/v1. Responses are JSON and all timestamps are ISO 8601 in UTC.

Quick start#

1. Authenticate. Send your key in the Authorization header as a bearer token (or in x-api-key).

2. Verify one address.

POST /v1/verify
curl https://new-project-rho-ecru.vercel.app/v1/verify \
  -H "Authorization: Bearer vd_live_…" \
  -H "Content-Type: application/json" \
  -d '{"email":"person@example.com"}'

3. Verify a list. Credits are reserved up front and the job runs in the background; poll it for results.

POST /v1/bulk/verify
curl https://new-project-rho-ecru.vercel.app/v1/bulk/verify \
  -H "Authorization: Bearer vd_live_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"October signups","emails":["a@example.com","b@example.com"]}'

Next steps#

Best practices#

  • Treat unknown as "not sure", never as invalid; accept it with a confirmation email.
  • Send an Idempotency-Key so retries never double-charge you.
  • Respect 429 responses and wait retry_after_ms before retrying.
  • Use a public key for browser calls; never ship a private key in client code.

Support#

Stuck? Open a ticket from Support in the dashboard and we will answer in the same thread. Happy validating!