Use case

Deliver lists your clients don't bounce back.

Your product is a CSV someone else pays for. Every dead row in it is a refund conversation. Validate on the way out, and attach receipts.

Agencies get judged on the worst hundred rows of a fifty-thousand-row deliverable. "We validated it" only defends you if you can say what validated means — which checks ran, on which rows, when. A vendor that won't disclose that leaves you holding your client's skepticism alone.
01

Batch both columns

Phones through POST /v1/bulk/phone, emails through POST /v1/bulk/email — one credit system, one ledger, no separate email-tool subscription.

02

Automate per client

Up to 5 API keys per account — one per client pipeline if you like — and webhooks that fire on job completion so your delivery pipeline assembles itself.

03

Attach the receipt

Every row's verdict comes with checks.performed / not_performed. Ship the results CSV alongside the deliverable: your client sees what was verified instead of taking your word for it.

curl -X POST https://api.boundstone.io/v1/bulk/email \
  -H "authorization: Bearer bs_live_YOUR_KEY" \
  -H "content-type: text/csv" \
  --data-binary @deliverable.csv
# → job_id … then GET /v1/bulk/:id/results.csv
What this doesn't do yet, said plainly: email checks are syntax, MX, disposable, role and free-provider — SMTP mailbox and catch-all probing report as not_performed because we won't guess deliverability we didn't test. Live phone liveness (HLR) is V2, 5 credits, priced to its real wholesale cost.

The arithmetic: an 85,000-row month is Growth at $249 — $2.93 per thousand rows, printed on the pricing page. Per-row refunds mean rows that error cost the client conversation nothing and you nothing.

Try it without a key first — the homepage demo runs the same zero-cost checks live.

Early access — free tier is 250 credits/month, forever

Pre-launch — benchmark results and early API access. One email. We validate emails for a living — we're not going to spam yours.