API Documentation

Authentication

Pass your API key in the X-API-Key header. Get one from API Keys.

Verify a single email

curl -X POST https://byndemr.com/api/v1/verify \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"email":"name@company.com"}'

Returns status (valid · invalid · catch_all · unknown · disposable · role), score (0–100), and flags (free_email, role, disposable, accept_all, mx_record, did_you_mean).

Verify a batch (≤100, synchronous)

curl -X POST https://byndemr.com/api/v1/verify/batch \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"emails":["a@x.com","b@y.com"]}'

Find an email (name + domain → verified address)

curl -X POST https://byndemr.com/api/v1/find \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"first_name":"Jane","last_name":"Doe","domain":"company.com"}'
# → { "found": true, "email": "jane.doe@company.com", "status": "valid", "score": 95 }
#   or { "found": false, "status": "catch_all", "best_guess": "jane.doe@company.com" }

Generates the common corporate patterns, probes the MX, and returns the address the server accepts. This is the endpoint the scheduler uses to turn scraped prospects (name + domain) into verified emails.

Bulk job (async, large lists)

curl -X POST https://byndemr.com/api/v1/jobs \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"name":"list","emails":["a@x.com","b@y.com"]}'
# → { "job": { "id": 1, "status": "pending", ... } }

curl https://byndemr.com/api/v1/jobs/1 -H "X-API-Key: YOUR_KEY"
curl "https://byndemr.com/api/v1/jobs/1/results?format=csv" -H "X-API-Key: YOUR_KEY"

Usage

curl https://byndemr.com/api/v1/credits -H "X-API-Key: YOUR_KEY"