Credits and billing

What each check costs, how free monthly credits work, prepaid packs, auto top-up, and what happens when you run out.

You pay per check, in credits. There is no subscription.

What each check costs

Check Endpoint Credits
Email POST /v1/email/check 1
Email list POST /v1/email/batch 1 per address
IP address POST /v1/ip/check 1
Phone number POST /v1/phone/check 1
Domain POST /v1/domain/check 1
Whole signup POST /v1/signup/check 3
Mailbox verification add "verify_mailbox": true +5
Balance and usage GET /v1/account, GET /v1/usage free

You're charged only when a check returns a result. Invalid requests, rate-limited requests and server errors cost nothing. The mailbox add-on is charged only when the mail server is actually asked.

Free credits

Every account gets 1,000 free credits each month, once the email address is confirmed. They reset on the 1st of the month (UTC). Unused free credits don't roll over. Free credits are spent before prepaid ones.

Prepaid packs

Buy packs in Billing. Prepaid credits never expire.

Pack Credits Price Per 1,000
Starter 10,000 $10 $1.00
Builder 50,000 $40 $0.80
Scale 250,000 $150 $0.60
Volume 1,000,000 $500 $0.50

Payments go through Stripe Checkout. Receipts and invoices are emailed, and you can download them in the billing portal.

Auto top-up

Tick Save my card for auto top-up when you buy a pack. Then turn on auto top-up in Billing and choose:

  • When below: the balance that triggers a refill, such as 2,000 credits.
  • Buy: which pack to buy.

We charge the saved card at most once every 10 minutes. If a payment fails, we switch auto top-up off and email you, so we never retry a declined card in a loop.

Checking your balance from code

curl https://veqen-app.com/v1/account -H "Authorization: Bearer $VEQEN_API_KEY"
{
  "email": "you@company.com",
  "balance": { "free": 640, "paid": 50000, "total": 50640 },
  "free_monthly_credits": 1000,
  "free_resets_at": "2026-11-01T00:00:00Z",
  "costs": { "email": 1, "ip": 1, "phone": 1, "domain": 1, "signup": 3, "mailbox": 5 },
  "rate_limit_per_second": 50
}

Every check response also carries two headers, so you don't need extra calls:

Header Meaning
X-Credits-Charged Credits this request cost.
X-Credits-Remaining Your balance after this request.

When you run out

Requests return HTTP 402 with error.type set to insufficient_credits. Nothing else changes: add credits and the same request works. If your app must never block a signup because of billing, treat a 402 like review and let the person through with email verification.

Refunds

Unused prepaid credits can be refunded within 30 days of purchase. Email us with your account email.